搜索MySQL镜像
docker search mysql
获取镜像
docker pull mysql:5.7
创建实例
docker run -p 3306:3306 --name mysql -v /mydocker/mysql/conf:/etc/mysql/conf.d -v /mydocker/mysql/logs:/var/log/mysql -v /mydocker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
说明
-p 3306:3306:将主机的3306端口映射到docker容器的3306端口
--name mysql:运行服务名字
-v /mydocker/mysql/conf:/etc/mysql/conf.d :将主机/mydocker/mysql录下的conf/my.cnf 挂载到容器的 /etc/mysql/conf.d
-v /mydocker/mysql/logs:/var/log/mysql:将主机/mydocker/mysql目录下的 logs 目录挂载到容器的 /logs。
-v /mydocker/mysql/data:/var/lib/mysql :将主机/mydocker/mysql目录下的data目录挂载到容器的 /var/lib/mysql
-e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。
-d mysql:5.7 : 后台程序运行mysql5.7
--character-set-server=utf8mb4 :设置字符集
--collation-server=utf8mb4_unicode_ci:设置校对集
备份数据库
docker exec 529a4d9afd8e sh -c ' exec mysqldump --all-databases -uroot -p"123456" ' > /mydocker/mysql/all-databases.sql
日志
# 查看日志
docker logs -f -t --tail 100 529a4d9afd8e
# 进入容器
docker exec -it 529a4d9afd8e /bin/bash
# 退出容器
## 容器停止退出
exit
## 容器不停止退出
crtl+p+q