使用Docker运行MySQL5.7.19镜像
环境
-
Ubuntu 20.04.2 LTS
-
Docker 20.10.6
-
MySQL 5.7.19
安装 MySQL 镜像
-
如何查看一个docker镜像有哪些版本?先打开 官网,再点击 Tags 进行查看:
-
在找到目标版本后,使用
pull
命令拉取镜像:
docker pull mysql:5.7.19
- 使用
images
查看是否安装成功:
初次运行镜像
1.不带自定义 cnf
文件运行
许多配置选项可以作为标志传递给 mysqld
。这将使您能够灵活地自定义容器,而不需要 cnf
文件。例如,如果要将所有表的默认编码和排序规则更改为使用UTF-8(utf8mb4),只需运行以下命令:
docker run --name mysql5719_1 \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=qwer@1234 \
-d mysql:5.7.19 \
--character-set-server=utf8mb4 \
--collation-server=utf8mb4_unicode_ci
参数解释:
-
\
一般出现在行尾,是因为当前行中字符太多,在行尾尚有未写完的字符串,加上该符号后就可以下行行首的字符相连 -
--name 容器名字
-
-p 3306:3306 物理机端口:容器内部端口
-
-e 运行参数 初始化 root 用户的密码
-
`d 后台运行 mysql:5.7.19 下载的镜像名字加标签
-
--character-set-server=utf8mb4
: 设置 MySQL 服务器的默认编码为 utf8mb4 -
--collation-server=utf8mb4_unicode_ci
: 设置 MySQL 服务器的默认排序规则为 utf8mb4_unicode_ci`
2.查看容器是否正常启动
完成第一步 docker run
后,使用 docker ps
命令查看是否成功运行:
3.查看可用选项
如果您想查看镜像 mysql:5.7.19
的所有的可用选项,只需运行:
docker run -it --rm mysql:5.7.19 --verbose --help
上面这条命令并不会创建一个新的 Docker 容器,请放心使用。
参数解释:
-
--rm
表示 命令退出时自动移除容器
-
-i
表示 保持标准输入打开
-
-t
表示 分配一个伪TTY,以便您可以直接与远程应用程序进行交
比如我们运行以下命令:
docker run -it --rm mysql:5.7.19 --verbose --help | grep character-set-server
如上图所示,默认的编码为 latin1
连接Docker容器中的MySQL服务
在启动的容器中,执行一条命令:
docker container exec -it mysql5719_1 /bin/bash
参数解释:
-
docker container exec
: 在一个正在运行的容器中执行一条命令
-
/bin/bash
表示打开一个 Bash
接着,就可以在这个容器中运行 mysql 客户端了,命令如下:
mysql -h localhost -p
完整的过程如下:
参考文档
Docker 官网:介绍如何运行 mysql 镜像 跳转 click here
使用docker的mysql镜像 跳转 click here
如何查看一个docker镜像有哪些版本 跳转 click here