docker 安装mysql

1.下载镜像文件mysql 默认下载最新版本源

docker pull mysql

2.docker search mysql  可以查看mysql 源

 

 

 3.查看docker image :

 docker images |grep mysql

4.检查容器存在情况:

docker ps 

[root@hostuser dockerdir]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f2d855cae15b mysql "docker-entrypoint.s…" 8 minutes ago Up 8 minutes 3306/tcp, 33060/tcp, 0.0.0.0:3307->3307/tcp mysql2

4.docker logs containername/containerid 

 

 

 

5.创建容器并指定port,由于本机docker 已经安装了一个会出现conflinct container ,解决方案删除已经存在的mysql container根据提示 docker rm containerid 

 

 

删除指令 

docker rm d17fb872234815377476a92236269b01e9448de207e0a4c6e69064007ad60fa1

#启动
docker run --name mysql2 -p 3307:3307 -e MYSQL_ROOT_PASSWORD=Lzslov123! -d mysql
#进入容器
docker exec -it mysql bash

#登录mysql
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Lzslov123!';

#添加远程登录用户
CREATE USER 'liaozesong'@'%' IDENTIFIED WITH mysql_native_password BY 'Lzslov123!';
GRANT ALL PRIVILEGES ON *.* TO 'liaozesong'@'%';

运行容器

  • 使用命令:docker run --name container-name:tag -d image-name
  1. --name:自定义容器名,不指定时,docker 会自动生成一个名称
  2. -d:表示后台运行容器
  3. image-name:指定运行的镜像名称以及 Tag 
 

 

 

 端口映射

使用命令:docker run --name container-name:tag -d -p 服务器端口:Docker 端口 image-name
--name:自定义容器名,不指定时,docker 会自动生成一个名称
-d:表示后台运行容器
image-name:指定运行的镜像名称以及 Tag 
-p 表示进行服务器与 Docker 容器的端口映射,默认情况下容器中镜像占用的端口是 Docker 容器中的端口与外界是隔绝的,必须进行端口映射才能访问
服务器防火墙先开放了 8080、8090 端口,否则防火墙不开放端口的话,从其它电脑也是无法访问服务器的
然后 运行了 两个容器,容器名称分别指定为 "myTomcat1"、"myTomcat2"、两个容器中都是同一个 docker.io/tomcat:8.5.32 镜像
两个容器都指定了端口映射,分别是8080、8090 ,都会转发到 Docker 容器内部

posted @ 2019-10-22 19:44  不带R的墨菲特  阅读(535)  评论(0编辑  收藏  举报