feat: 添加docker-compose.

This commit is contained in:
YuleiLan 2020-11-11 17:26:39 +08:00
parent fd0661dd8d
commit 3f3db768e7
6 changed files with 1469 additions and 5 deletions

4
.gitignore vendored
View File

@ -6,4 +6,6 @@ temp/
vendor
tmp/
config/settings.dev.yml
logs
logs
mysql/data
redis/data

View File

@ -10,8 +10,5 @@ ENV GOPROXY="https://goproxy.cn"
RUN go mod download
RUN go build -o ferry .
RUN ./ferry init -c=/opt/ferry/config/settings.yml
EXPOSE 8002
CMD ["./ferry server -c=/opt/ferry/config/settings.yml"]
EXPOSE 8002

55
docker-compose.yml Normal file
View File

@ -0,0 +1,55 @@
version: "3"
services:
ferry:
image: registry.cn-beijing.aliyuncs.com/lanyulei/ferry:v1.0.0
container_name: ferry
depends_on:
- db
- redis
links:
- db:ferry_mysql
- redis:ferry_redis
ports:
- 8002:8002
volumes:
- ./config:/opt/ferry/config
- ./static:/opt/ferry/static
- ./template:/opt/ferry/template
- ./logs:/opt/ferry/logs
environment:
- TZ=Asia/Shanghai
restart: always
command: ./ferry server -c=/opt/ferry/config/settings.yml
db:
hostname: mysql
container_name: ferry_mysql
image: mysql:5.7.31
restart: always
environment:
- TZ=Asia/Shanghai
- MYSQL_ROOT_PASSWORD=123456
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'
]
redis:
hostname: redis
image: redis:5.0.4
container_name: ferry_redis
restart: always
command: redis-server /etc/redis.conf # 启动redis命令
environment:
- TZ=Asia/Shanghai
volumes:
- ./redis/data:/var/lib/redis/data
- ./redis/config/redis.conf:/etc/redis.conf
ports:
- 16379:6379

View File

@ -0,0 +1,36 @@
[client]
port = 3306
socket = /var/lib/mysql/data/mysql.sock
[mysqld]
# 针对5.7版本执行group by字句出错问题解决
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
# 一般配置选项
basedir = /var/lib/mysql
datadir = /var/lib/mysql/data
port = 3306
socket = /var/lib/mysql/data/mysql.sock
lc-messages-dir = /usr/share/mysql # 务必配置此项否则执行sql出错时只能显示错误代码而不显示具体错误消息
character-set-server=utf8
back_log = 300
max_connections = 3000
max_connect_errors = 50
table_open_cache = 4096
max_allowed_packet = 32M
#binlog_cache_size = 4M
max_heap_table_size = 128M
read_rnd_buffer_size = 16M
sort_buffer_size = 16M
join_buffer_size = 16M
thread_cache_size = 16
query_cache_size = 64M
query_cache_limit = 4M
ft_min_word_len = 8
thread_stack = 512K
transaction_isolation = REPEATABLE-READ
tmp_table_size = 64M
#log-bin=mysql-bin
long_query_time = 6
server_id=1
innodb_buffer_pool_size = 256M
innodb_thread_concurrency = 16
innodb_log_buffer_size = 16M

View File

@ -0,0 +1 @@
create database if not exists ferry;

File diff suppressed because it is too large Load Diff