1>> 到docker Hub中查看当前可用的MySQL
传送门Docker Hub :https://hub.docker.com/_/mysql?tab=tags&page=1&ordering=last_updated
2>>拉取MySQL镜像
docker pull mysql:5.7 #冒号后面的版本自己修改就好
3>> 如果拉取镜像报错如下
解决办法:
出现这个问题原因为国内网络问题,无法连接到 docker hub,需要修改成国内:
vim /etc/docker/daemon.jso
{
"registry-mirrors":["https://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn","https://cr.console.aliyun.com/"]
}
国内加速地址有:
Docker中国区官方镜像
https://registry.docker-cn.com
网易
http://hub-mirror.c.163.com
ustc
https://docker.mirrors.ustc.edu.cn
中国科技大学
https://docker.mirrors.ustc.edu.cn
阿里云容器 服务
https://cr.console.aliyun.com/
首页点击“创建我的容器镜像” 得到一个专属的镜像加速地址,类似于“https://1234abcd.mirror.aliyuncs.com”
4>> 拉取镜像成功后,运行mysql
docker run -itd --name=mysql5.7 -p 2315:3306 -e MYSQL_ROOT_PASSWORD=chengzl168 -v $HOME/mysql/data:/var/lib/mysql docker.io/mysql:5.7
【需要注意一下】由于我拉取的镜像版本为mysql5.7,所以在docker run的时候选择的也是mysql:5.7,如果你不写后面的版本号,docker默认为你运行最新版本的mysql镜像,但是你没有拉取最新版镜像,所以系统会默认给你拉取一个最新版本的mysql镜像然后运行成容器,导致你拉取的指定版本的镜像并没有运行。
MYSQL_ROOT_PASSWORD:设置root用户初始密码
–name:设置镜像名称
-d:表示容器在后台启动
-p: 表示端口映射,将宿主的2315端口映射到容器的3306端口;
-e: 表示传入的环境变量参数,这里设置MySQL的root账户的密码为chengzl168;
-v: 表示数据卷的挂载,这里将宿主的HOME目录下的mysql/data挂载到容器的/var/lib/mysql目录;
mysql:5.7表示启动的镜像。
好了今天就先分享到这里,希望对大家有帮助。帮帮哒~~