Skip to content

Commit

Permalink
Merge pull request lanyulei#178 from lanyulei/dev
Browse files Browse the repository at this point in the history
fix: 优化docker构建方式。
  • Loading branch information
lanyulei authored Apr 19, 2021
2 parents 4f713d9 + 3f7316d commit 4d42e13
Show file tree
Hide file tree
Showing 12 changed files with 63 additions and 1,623 deletions.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,5 @@ tmp/
config/settings.dev.yml
logs
mysql/data
redis/data
redis/data
data/
22 changes: 19 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,12 +1,28 @@
FROM golang:1.14
FROM golang:1.16 AS build

WORKDIR /opt/ferry

COPY . .

ENV GOPROXY="https://goproxy.cn"
ARG GOPROXY="https://goproxy.cn"

RUN go mod download
RUN go build -o ferry .

EXPOSE 8002

FROM debian:buster AS prod

WORKDIR /opt/ferry

COPY --from=build /opt/ferry/ferry /opt/ferry/
COPY config/ /opt/ferry/default_config/
COPY template/ /opt/ferry/template/
COPY entrypoint.sh /opt/ferry/
RUN mkdir -p logs static/uploadfile static/scripts static/template

RUN chmod 755 /opt/ferry/entrypoint.sh
RUN chmod 755 /opt/ferry/ferry

EXPOSE 8002
VOLUME [ "/opt/ferry/config" ]
ENTRYPOINT [ "/opt/ferry/entrypoint.sh" ]
Empty file modified build.sh
100644 → 100755
Empty file.
Empty file added config/needinit
Empty file.
12 changes: 6 additions & 6 deletions config/settings.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@ settings:
domain: localhost:8002
host: 0.0.0.0
ishttps: false
mode: prod
mode: dev
name: ferry
port: 8002
port: "8002"
readtimeout: 1
writertimeout: 2
database:
dbtype: mysql
host: 127.0.0.1
host: ferry_mysql
name: ferry
password: 123456
port: 3306
Expand Down Expand Up @@ -52,10 +52,10 @@ settings:
maxbackups: 300
maxsize: 10240
path: ./logs/ferry.log
public:
islocation: 0
redis:
url: redis://127.0.0.1:6379
url: redis://ferry_redis:6379
ssl:
key: keystring
pem: temp/pem.pem
public:
isLocation: 0
58 changes: 24 additions & 34 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,40 +3,35 @@ services:
db:
hostname: mysql
container_name: ferry_mysql
image: mysql:5.7.31
restart: always
image: mysql:5.7
restart: unless-stopped
environment:
- TZ=Asia/Shanghai
- MYSQL_ROOT_PASSWORD=123456
- MYSQL_DATABASE=ferry
volumes:
- ./docker/mysql/data:/var/lib/mysql/data # 映射数据库保存目录到宿主机,防止数据丢失
- ./docker/mysql/config/my.cnf:/etc/mysql/my.cnf # 映射数据库配置文件
- ./docker/mysql/init_sql:/docker-entrypoint-initdb.d
ports:
- 13306:3306
command: [
'--character-set-server=utf8mb4',
'--collation-server=utf8mb4_unicode_ci'
]
- ./data/mysql/data:/var/lib/mysql # 映射数据库保存目录到宿主机,防止数据丢失
command:
[
"--character-set-server=utf8mb4",
"--collation-server=utf8mb4_unicode_ci",
]

redis:
hostname: redis
image: redis:5.0.4
image: redis:6
container_name: ferry_redis
restart: always
command: redis-server /etc/redis.conf # 启动redis命令
restart: unless-stopped
environment:
- TZ=Asia/Shanghai
volumes:
- ./redis/data:/var/lib/redis/data
- ./redis/config/redis.conf:/etc/redis.conf
ports:
- 16379:6379
- ./data/redis/data:/var/lib/redis/data

ferry:
hostname: ferry
image: registry.cn-beijing.aliyuncs.com/lanyulei/ferry:v1.0.0-2
container_name: ferry
ferry_backend:
hostname: ferry_backend
image: ferry:latest
container_name: ferry_backend
build: .
depends_on:
- db
- redis
Expand All @@ -46,26 +41,21 @@ services:
ports:
- 8002:8002
volumes:
- ./config:/opt/ferry/config
- ./static:/opt/ferry/static
- ./template:/opt/ferry/template
- ./logs:/opt/ferry/logs
- ./data/config:/opt/ferry/config
- ./data/logs:/opt/ferry/logs
environment:
- TZ=Asia/Shanghai
restart: always
command: ./ferry server -c=/opt/ferry/config/settings.yml
restart: unless-stopped

ferry_web:
hostname: ferry_web
container_name: ferry_web
image: registry.cn-beijing.aliyuncs.com/lanyulei/ferry_web:v1.0.0-1
image: ferry_web:latest
links:
- ferry:ferry_host
- ferry_backend:ferry_backend
ports:
- 8001:8001
volumes:
- ./docker/nginx/config/nginx.conf:/etc/nginx/nginx.conf
- ./docker/nginx/entrypoint/docker-entrypoint.sh:/docker-entrypoint.sh
environment:
- LISTEN_DOMAIN=fdevops.com
- TZ=Asia/Shanghai
restart: always
restart: unless-stopped
36 changes: 0 additions & 36 deletions docker/mysql/config/my.cnf

This file was deleted.

1 change: 0 additions & 1 deletion docker/mysql/init_sql/init.sql

This file was deleted.

126 changes: 0 additions & 126 deletions docker/nginx/config/nginx.conf

This file was deleted.

43 changes: 0 additions & 43 deletions docker/nginx/entrypoint/docker-entrypoint.sh

This file was deleted.

Loading

0 comments on commit 4d42e13

Please sign in to comment.