创建容器
1、# 网络host模式不需要映射端口
docker run -d --name=mysql --net=host --restart=always -e MYSQL_ROOT_PASSWORD='root123456' -e MYSQL_DATABASE='test_db' -e MYSQL_USER='test_user' -e MYSQL_PASSWORD='test123456' -v /etc/localtime:/etc/localtime -v /u01/mysql/data:/var/lib/mysql -v /u01/mysql/conf:/etc/mysql/mysql.conf.d -v /u01/mysql/logs:/var/log/mysql mysql:5.7.37
# 网络默认bridge模式需要映射3306端口
docker run -d --name=mysql --restart=always -p 3306:3306 -e MYSQL_ROOT_PASSWORD='root123456' -e MYSQL_DATABASE='test_db' -e MYSQL_USER='test_user' -e MYSQL_PASSWORD='test123456' -v /etc/localtime:/etc/localtime -v /u01/mysql/data:/var/lib/mysql -v /u01/mysql/conf:/etc/mysql/mysql.conf.d -v /u01/mysql/logs:/var/log/mysql mysql:5.7.37
2、
复制容器内配置
docker cp mysql:/etc/mysql/mysql.conf.d/mysqld.cnf /u01/mysql/conf
3、
生成随机root密码
`docker run -d --name=mysql -e MYSQL_RANDOM_ROOT_PASSWORD=yes mysql:5.7.37
在日志中查看密码
docker logs -n 120 mysql
`
YML
version: '3'
services:
mysql-service:
image: mysql:5.7.37
container_name: mysql
restart: always
network_mode: 'host'
environment:
MYSQL_ROOT_PASSWORD: 'root123456'
MYSQL_DATABASE: 'test_db'
MYSQL_USER: 'test_user'
MYSQL_PASSWORD: 'test123456'
volumes:
- /etc/localtime:/etc/localtime
- /u01/mysql/data:/var/lib/mysql
- /u01/mysql/conf:/etc/mysql/mysql.conf.d
- /u01/mysql/logs:/var/log/mysql
3、 docker run --name mysql5.7 -e MYSQL_ROOT_PASSWORD=123456 -p 3307:3306 -d mysql:5.7