Docker 运行 mysql 服务
查看官方镜像仓库有哪些 mysql 版本,请访问下面地址
https://hub.docker.com/_/mysql?tab=tags
注意:
latest 表示最新版本
docker 拉取 mysql 版本
-
拉取最新版本
- docker pull mysql:latest
-
拉取 MySQL8 版本
- docker pull mysql:8.0.21
- docker pull mysql:8.0
- docker pull mysql:8
-
拉取 MySQL5.7 版本
- docker pull mysql:5.7.31
- docker pull mysql:5.7.30
- docker pull mysql:5.7
-
拉取 MySQL5.6 版本
- docker pull mysql:5.6.49
- docker pull mysql:5.6.48
- docker pull mysql:5.6
docker 查看本地镜像
docker images | grep mysql
docker 运行 mysql 服务
运行指令:
docker run -itd --name test_mysql -p 3306:3306 -m 1000m --restart=always \
-e MYSQL_ROOT_PASSWORD=root \
-v /etc/localtime:/etc/localtime:ro \
-v /you_paht/my.cnf:/etc/mysql/conf.d/mysql.cnf \
-v /var/lib/mysql:/var/lib/mysql \
-v /var/log/mysql:/var/log/mysql \
mysql:5.7.31
运行参数说明
- -p 端口指定
- -e 表示参数传递到容器里
- MYSQL_ROOT_PASSWORD=root 表示容器内部key为MYSQL_ROOT_PASSWORD,value 为 root
- -v 文件映射
- --restart=always 如果外部因素导致服务挂了会自动重启
- -m 限制容器内存大小
- --name 镜像名称
配置文件例子
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
# The MySQL server
[mysqld]
disable_ssl
port = 3306
socket = /var/run/mysqld/mysqld.sock
server-id = 1
查看容器:
docker ps -a|grep test_mysql
停止容器并移除
docker kill test_mysql
docker rm test_mysql
再次查看
docker ps -a|grep test_mysql
你会发现了没有了