Docker安装Mysql
1. 拉取mysql镜像
docker pull mysql
2. 运行容器
docker run \
--name mysqldb \
-p 520:3306 \
-v /home/data/mysql/config:/etc/mysql/conf.d \
-v /home/data/mysql/data:/var/lib/mysql \
-v /home/data/mysql/log:/var/log/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-e TZ=Asia/Shanghai
-d mysql
命令说明:
-
--name :容器的名字
- -p 520:3306:将容器的 3306 端口映射到主机的 520 端口。
-
-v /home/data/mysql/config:/etc/mysql:将主机目录下的/home/data/mysql/config 挂载到容器的 /etc/mysql。
- -v /home/data/mysql/data:/var/lib/mysql :将主机当前目录下的 /home/data/mysql/data目录挂载到容器的 /var/lib/mysql 。
-
-v /home/data/mysql/log:/var/log/mysql :将主机当前目录下的 /home/data/mysql/log 目录挂载到容器的 /var/log/mysql。
-
-e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。
- -e TZ=Asia/Shanghai: 设置容器的时区为 GMT+8
- -d :后台运行不退出
3、自动启动容器
--restart=always
如果想要docker重启之后,容器也能自动启动,可以在运行容器的时候,再加上这句重启命令
4、docker-compose.yaml
version: '3' services: mysql57: image: mysql:5.7 container_name: mysql57 environment: MYSQL_ROOT_PASSWORD: mysql123
TZ: Asia/Shanghai volumes:
- ./mysql/data:/var/lib/mysql - ./mysql/log:/var/log/mysql ports: - 3306:3306 network_mode: bridge
command: --lower_case_table_names=1