Skip to content

Commit 53f5c48

Browse files
星冉github-actions[bot]tscuite
authored
修复 开发环境中使用docker的一些问题 📝 (flipped-aurora#944)
* 修复docker 开发环境问题 📝 Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: tscuite <64051240+tscuite@users.noreply.github.com>
1 parent 8caec2c commit 53f5c48

File tree

4 files changed

+198
-0
lines changed

4 files changed

+198
-0
lines changed

.github/workflows/docker build.yaml

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
# name: GIN-VUE-ADMIN Docker Build
2+
3+
# on:
4+
# workflow_dispatch:
5+
# inputs:
6+
# webtag:
7+
# description: 'Set web tag, Default latest'
8+
# required: true
9+
# default: "latest"
10+
# servertag:
11+
# description: 'Set server tag, Default latest'
12+
# required: true
13+
# default: "latest"
14+
15+
# jobs:
16+
# GIN_VUE_ADMIN_WEB:
17+
# name: GIN VUE ADMIN WEB
18+
# runs-on: ubuntu-latest
19+
# steps:
20+
# - name: Private Actions Checkout
21+
# uses: actions/checkout@v2.3.4
22+
# - name: Docker Setup QEMU
23+
# uses: docker/setup-qemu-action@v1.2.0
24+
# - name: Docker Setup Buildx
25+
# uses: docker/setup-buildx-action@v1.6.0
26+
# - name: Docker Login
27+
# uses: docker/login-action@v1.10.0
28+
# with:
29+
# username: ${{ secrets.DOCKERHUB_USERNAME }}
30+
# password: ${{ secrets.DOCKERHUB_TOKEN }}
31+
# - name: Docker Login in Aliyun
32+
# uses: docker/login-action@v1.10.0
33+
# with:
34+
# registry: ${{ secrets.DOCKERHUB_REGISTRY_ALIYUN }}
35+
# username: ${{ secrets.DOCKERHUB_ACCOUNT_ALIYUN }}
36+
# password: ${{ secrets.DOCKERHUB_PASSWORD_ALIYUN }}
37+
# - name: Build and push Docker images
38+
# uses: docker/build-push-action@v2.7.0
39+
# with:
40+
# context: .
41+
# # 这里是适配 arm64 ,主要看你们的程序是否支持 arm64
42+
# platforms: linux/amd64,linux/arm64
43+
# file: web/Dockerfile
44+
# push: true
45+
# # 这里是给docker 打标签,默认不上传 latest
46+
# tags: |
47+
# ${{ secrets.DOCKERHUB_USERNAME }}/web:${{ github.event.inputs.webtag }}
48+
# ${{ secrets.DOCKERHUB_REGISTRY_ALIYUN }}/${{ secrets.DOCKERHUB_USERNAME_ALIYUN }}web:${{ github.event.inputs.webtag }}
49+
# cache-from: type=registry,ref=${{ secrets.DOCKERHUB_USERNAME }}/web:${{ github.event.inputs.webtag }}.cache
50+
# cache-to: type=registry,ref=${{ secrets.DOCKERHUB_USERNAME }}/web:${{ github.event.inputs.webtag }}.cache,mode=max
51+
# # 漏洞扫描
52+
# - name: Scan for vulnerabilities
53+
# uses: crazy-max/ghaction-container-scan@v1
54+
# with:
55+
# image: ${{ secrets.DOCKERHUB_USERNAME }}/web:${{ github.event.inputs.webtag }}
56+
# dockerfile: web/Dockerfile
57+
# # 更新 docker 描述页面
58+
# - name: Docker Hub Description
59+
# uses: peter-evans/dockerhub-description@v2
60+
# with:
61+
# username: ${{ secrets.DOCKERHUB_USERNAME }}
62+
# password: ${{ secrets.DOCKERHUB_PASSWORD }}
63+
# repository: ${{ secrets.DOCKERHUB_USERNAME }}/web
64+
65+
# GIN_VUE_ADMIN_SERVER:
66+
# name: GIN VUE ADMIN SERVER
67+
# runs-on: ubuntu-latest
68+
# steps:
69+
# - name: Private Actions Checkout
70+
# uses: actions/checkout@v2.3.4
71+
# - name: Docker Setup QEMU
72+
# uses: docker/setup-qemu-action@v1.2.0
73+
# - name: Docker Setup Buildx
74+
# uses: docker/setup-buildx-action@v1.6.0
75+
# - name: Docker Login
76+
# uses: docker/login-action@v1.10.0
77+
# with:
78+
# username: ${{ secrets.DOCKERHUB_USERNAME }}
79+
# password: ${{ secrets.DOCKERHUB_TOKEN }}
80+
# - name: Docker Login in Aliyun
81+
# uses: docker/login-action@v1.10.0
82+
# with:
83+
# registry: ${{ secrets.DOCKERHUB_REGISTRY_ALIYUN }}
84+
# username: ${{ secrets.DOCKERHUB_ACCOUNT_ALIYUN }}
85+
# password: ${{ secrets.DOCKERHUB_PASSWORD_ALIYUN }}
86+
# - name: Build and push Docker images
87+
# uses: docker/build-push-action@v2.7.0
88+
# with:
89+
# context: .
90+
# # 这里是适配 arm64 ,主要看你们的程序是否支持 arm64
91+
# platforms: linux/amd64,linux/arm64
92+
# file: server/Dockerfile
93+
# push: true
94+
# # 这里是给docker 打标签,默认不上传 latest
95+
# tags: |
96+
# ${{ secrets.DOCKERHUB_USERNAME }}/server:${{ github.event.inputs.servertag }}
97+
# ${{ secrets.DOCKERHUB_REGISTRY_ALIYUN }}/${{ secrets.DOCKERHUB_USERNAME_ALIYUN }}server:${{ github.event.inputs.servertag }}
98+
# cache-from: type=registry,ref=${{ secrets.DOCKERHUB_USERNAME }}/server:${{ github.event.inputs.servertag }}.cache
99+
# cache-to: type=registry,ref=${{ secrets.DOCKERHUB_USERNAME }}/server:${{ github.event.inputs.servertag }}.cache,mode=max
100+
# # 漏洞扫描
101+
# - name: Scan for vulnerabilities
102+
# uses: crazy-max/ghaction-container-scan@v1
103+
# with:
104+
# image: ${{ secrets.DOCKERHUB_USERNAME }}/server:${{ github.event.inputs.servertag }}
105+
# dockerfile: server/Dockerfile
106+
# # 更新 docker 描述页面
107+
# - name: Docker Hub Description
108+
# uses: peter-evans/dockerhub-description@v2
109+
# with:
110+
# username: ${{ secrets.DOCKERHUB_USERNAME }}
111+
# password: ${{ secrets.DOCKERHUB_PASSWORD }}
112+
# repository: ${{ secrets.DOCKERHUB_USERNAME }}/server

docker-compose-dev.yaml

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
version: "3"
2+
3+
# 声明一个名为network的networks,subnet为network的子网地址,默认网关是177.7.0.1
4+
networks:
5+
network:
6+
ipam:
7+
driver: default
8+
config:
9+
- subnet: '177.7.0.0/16'
10+
11+
# 设置mysql,redis持久化保存
12+
volumes:
13+
mysql:
14+
redis:
15+
16+
services:
17+
web:
18+
image: node:16
19+
container_name: gva-web
20+
hostname: gva-web #可以通过容器名访问
21+
restart: always
22+
ports:
23+
- '8080:8080'
24+
depends_on:
25+
- server
26+
working_dir: /gva-web # 如果docker 设置了workdir 则此处不需要设置
27+
command: bash -c "yarn config set registry https://registry.npm.taobao.org --global && yarn install && yarn serve"
28+
volumes:
29+
- ./web:/gva-web
30+
networks:
31+
network:
32+
ipv4_address: 177.7.0.11
33+
34+
server:
35+
image: golang:1.16
36+
container_name: gva-server
37+
hostname: gva-server
38+
restart: always
39+
ports:
40+
- '8888:8888'
41+
depends_on:
42+
- mysql
43+
- redis
44+
volumes:
45+
- ./server:/gva-server
46+
working_dir: /gva-server # 如果docker 设置了workdir 则此处不需要设置
47+
command: bash -c "go env -w GOPROXY=https://goproxy.cn,direct && go mod tidy && go run main.go"
48+
links:
49+
- mysql
50+
- redis
51+
networks:
52+
network:
53+
ipv4_address: 177.7.0.12
54+
55+
mysql:
56+
image: mysql:8.0.21 # 如果您是 arm64 架构:如 MacOS 的 M1,请修改镜像为 image: mysql/mysql-server:8.0.21
57+
container_name: gva-mysql
58+
hostname: gva-mysql
59+
command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci #设置utf8字符集
60+
restart: always
61+
ports:
62+
- "13306:3306" # host物理直接映射端口为13306
63+
environment:
64+
MYSQL_DATABASE: 'qmPlus' # 初始化启动时要创建的数据库的名称
65+
MYSQL_ROOT_PASSWORD: 'Aa@6447985' # root管理员用户密码
66+
volumes:
67+
- mysql:/var/lib/mysql
68+
networks:
69+
network:
70+
ipv4_address: 177.7.0.13
71+
72+
redis:
73+
image: redis:6.0.6
74+
container_name: gva-redis # 容器名
75+
hostname: gva-redis
76+
restart: always
77+
ports:
78+
- '16379:6379'
79+
volumes:
80+
- redis:/data
81+
networks:
82+
network:
83+
ipv4_address: 177.7.0.14

web/.env.development

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,5 @@ VITE_CLI_PORT = 8080
33
VITE_SERVER_PORT = 8888
44
VITE_BASE_API = /api
55
VITE_BASE_PATH = http://127.0.0.1
6+
// 如果使用docker-compose开发模式,设置为下面的地址
7+
//VITE_BASE_PATH = http://177.7.0.12

web/vite.config.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ export default ({
5353
'process.env': {}
5454
},
5555
server: {
56+
// 如果使用docker-compose开发模式,设置为false
5657
open: true,
5758
port: process.env.VITE_CLI_PORT,
5859
proxy: {

0 commit comments

Comments
 (0)