前提:
- docker 已安装
- docker compose已安装
编写一个docker-compose.yml文件
version: '3'
services:
db:
image: mysql:5.6
cap_add:
- SYS_NICE # 添加到SYS NICE的上限会抑制一些没用的错误消息
restart: always # 要求docker-compose在失败时总是重新启动这个容器
environment:
- TZ=Asia/Shanghai # 方法一:设置时区为上海
# - SET_CONTAINER_TIMEZONE=true # 方法二: 设置时区为上海
# - CONTAINER_TIMEZONE=Asia/Shanghai # 方法二: 设置时区为上海
- MYSQL_DATABASE=test-db # mysql启动时自动创建数据库,名为test-db
- MYSQL_ROOT_PASSWORD=123456 # 设置root账户密码
ports:
- 3306:3306
# network_mode: 'host' # 和本机共享网络,设置了host模式的网络,就不需要暴露端口了,因为是和主机共享了
command:
[
'mysqld',
'--character-set-server=utf8mb4', # 设置字符编码
'--collation-server=utf8mb4_unicode_ci',
# 默认情况下,MySQL 客户端是使用客户端设置的编码的。
# 可以通过 --skip-character-set-client-handshake 来让客户端使用服务端的编码,来保持编码的一致性
'--skip-character-set-client-handshake',
]
然后在docker-compose.yml这个文件的目录下,执行docker-compose up -d就会自动创建一个mysql服务了