1.docker及docker-compose版本
Docker version 19.03.15
docker-compose version 1.29.2
2.编写my.cnf
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
[mysql]
[mysqld]
sql-mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
character-set-server=utf8mb4
default-authentication-plugin=mysql_native_password
#mysql在对DNS做反查
skip-name-resolve
explicit_defaults_for_timestamp=1
lower_case_table_names=1
max_allowed_packet =1024M
symbolic-links=0
3.编写docker-compose.yml
version: '3.8'
services:
db:
#构建mysql镜像
image: mysql:5.7
container_name: xq_mysql #容器名
command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci #设置utf8字符集
restart: always
environment:
MYSQL_ROOT_PASSWORD: xqwl8888 #root管理员用户密码
ports:
- '3306:3306'
volumes:
#mysql数据库挂载到宿主机目录/test/mytest/mysql/db
- "/test/mytest/mysql/db:/var/lib/mysql"
#容器的配置目录挂载到宿主机目录/test/mytest/mysql/conf
- "/test/mytest/mysql/conf:/etc/mysql/conf.d"
#使用桥接,保证docker容器之间通讯正常
networks:
- docker_bridge
#使用桥接,保证docker容器之间通讯正常
networks:
docker_bridge:
external: true
4.运行
docker network create docker_bridge
docekr-compose up