1.获取mysql镜像
docker pull mysql
查看镜像
[root@iZwz9by1zmncbooyc2v7i4Z ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/jenkins/jenkins latest 6a59164e6d5c 17 hours ago 812.3 MB
docker.io/mysql latest c73c7527c03a 13 days ago 412.3 MB
docker.io/redis latest d4f259423416 2 weeks ago 105.9 MB
2.运行一个mysql容器
docker run --name first-mysql -p 3306:3306 -e MYSQL\_ROOT\_PASSWORD=123456 -d mysql
上述命令各个参数含义:
run 运行一个容器
--name 后面是这个镜像的名称
-p 3306:3306 表示在这个容器中使用3306端口(第二个)映射到本机的端口号也为3306(第一个)
-d 表示使用守护进程运行,即服务挂在后台
查看当前运行的容器状态:
[root@iZwz9by1zmncbooyc2v7i4Z ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d47eee74dca0 mysql "docker-entrypoint.sh" 6 hours ago Up 6 hours 0.0.0.0:3306->3306/tcp first-mysql
坑:mysql启动成功,但是navicat无法访问。
本人是使用的阿里云的服务器,使用客户端访问这个mysql会被拒绝,原因是阿里云的入站规则默认没有开启3306端口,需要去服务器上去新建这个规则。