Linux(CentOS)环境Docker容器中安装Mysql镜像

两盒软妹~` 提交于 2020-08-17 10:26:11

Linux(CentOS)环境Docker容器中安装Mysql镜像

1、Docker容器中安装Mysql

docker pull mysql  #如果使用docker pull mysql命令,就会下载最新的mysql镜像

docker pull mysql:5.7  #下载5.7版本的mysql

mysql镜像拉取成功:

[root@Silence /]# sudo docker pull mysql:5.7
5.7: Pulling from library/mysql
bf5952930446: Pull complete 
8254623a9871: Pull complete 
938e3e06dac4: Pull complete 
ea28ebf28884: Pull complete 
f3cef38785c2: Pull complete 
894f9792565a: Pull complete 
1d8a57523420: Pull complete 
5f09bf1d31c1: Pull complete 
1b6ff254abe7: Pull complete 
74310a0bf42d: Pull complete 
d398726627fd: Pull complete 
Digest: sha256:da58f943b94721d46e87d5de208dc07302a8b13e638cd1d24285d222376d6d84
Status: Downloaded newer image for mysql:5.7
docker.io/library/mysql:5.7


查看mysql镜像是否安装成功
#查看已安装的镜像
[root@Silence /]# sudo docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mysql               5.7                 718a6da099d8        11 days ago         448MB
[root@Silence /]# 

2、创建实例并启动Mysql

docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7

参数解释:

docker run 3306:3306 --name mysql\      #将容器3306端口映射到主机的3306端口 
-v /mydata/mysql/log:/var/log/mysql\    #将配置文件挂载到主机
-v /mydata/mysql/data:/var/lib/mysql\   #将日志文件挂载到主机
-v /mydata/mysql/conf:/etc/mysql\       #将配置文件挂载到主机
-e MYSQL_ROOT_PASSWORD=root\            #初始化root用户的密码为root
-d mysql:5.7                            #开机启动mysql

实例创建成功:

[root@Silence /]# docker run -p 3306:3306 --name mysql \
> -v /mydata/mysql/log:/var/log/mysql \
> -v /mydata/mysql/data:/var/lib/mysql \
> -v /mydata/mysql/conf:/etc/mysql \
> -e MYSQL_ROOT_PASSWORD=root \
> -d mysql:5.7
743df4fba2e9e58c7fb28d6a59ae3c64c7d98be1ca5f474f8a95b06e534554b7

查看Docker中正在运行的实例:

[root@Silence /]# docker ps    #查看Docker中正在运行的容器
#结果
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS                               NAMES
743df4fba2e9        mysql:5.7           "docker-entrypoint.s…"   About a minute ago   Up About a minute   0.0.0.0:3306->3306/tcp, 33060/tcp   mysql

3、启动mysql:

docker start mysql

这一步执行完之后我们可以尝试用navicat等客户端工具远程连接mysql
如果你用的是阿里云服务器的话远程连接不上是因为你没有打开服务器的3306端口。

问题解决

因为我使用的是阿里云服务器,Mysql安装好之后远程连接失败,所以我们需要进入阿里云控制台打开3306端口的安全组。

进入阿里云管理控制后台----云服务器ECS----实例
在这里插入图片描述

然后点击实例的网络和安全组,进入之后点击快速添加
在这里插入图片描述
然后勾选mysql确认即可
在这里插入图片描述
配置好之后再次通过navicat连接,发现已经可以正常使用了。



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!