在阿里云ECS的Docker
1 运行MySQL指定版本
2 在本地使用工具连接MySQL
可以先使用命令docker images看看Docker里是否已经有指定的MySQL版本存在,这里要安装MySQL8.0.35
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
使用命令docker pull拉取指定版本的MySQL
docker pull mysql:8.0.35
docker images查看一下
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql 8.0.35 ba048db12589 8 days ago 591MB
这样就把指定版本的镜像拉取到服务器了。如果想安装其他指定版本,目前没有找到命令直接查询,是否存在该版本的镜像。docker search mysql命令只能查看镜像是否存在,不能指定版本。
只能从MySQL的官网上,查看是否有你指定版本的MySql,然后docker pull的时候,把版本后写在后面。
运行MySQL容器
(启动时配置的参数,在dockerHub的网站,MySQL镜像页面都会描述)
1 最少配置启动。(映射/时区/网络等没有配置,会影响一些功能的正常使用)
docker run --name mysql01 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.35
–name:指定名字
-e:配置mysql运行环境变量,这里指定的是root的密码
-d:linux系统参数,将该命令放后台执行
mysql:8.0.35:要运行的镜像和版本
-p:指定端口映射(如果不配置,在本地无法远程连接到MySQL)
使用命令docker ps查看
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
102b28a0af5f mysql:8.0.35 "docker-entrypoint.s…" 4 seconds ago Up 4 seconds 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp mysql01
启动成功
本地开源工具HeidiSQL连接刚才创建的MySQL。
在阿里云上查看ECS的公网IP,填在主机名/IP位置,密码位置填刚才docker run命令里配置的123456,点击打开按钮,连接成功。
连接不上的问题有可能:
1 阿里云ECS的安全组没有放开3306端口
2 docker run命令是否配置了-p端口映射信息
docker ps查看到已经运行的容器。可以使用
docker stop mysql01 — 停止容器
docker rm mysql01 — 删除容器(删除前需要先停止)