ps:实验环境是:CentOS Linux release 7.3 64位
1.获取mysql镜像
从docker hub的仓库中拉取mysql镜像
docker pull mysql
查看镜像
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/mysql 5.7 b4e78b89bcf3 9 days ago 412.3 MB
2.运行一个mysql容器
运行一个mysql实例的命令如下:
docker run --name first-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
5b6bf6f629bfe46b4c8786b555d8db1947680138b2de1f268f310a15ced7247a
上述命令各个参数含义:
run 运行一个容器
--name 后面是这个镜像的名称
-p 3306:3306 表示在这个容器中使用3306端口(第二个)映射到本机的端口号也为3306(第一个)
-d 表示使用守护进程运行,即服务挂在后台
查看当前运行的容器状态:
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fe41e155a6ca mysql "docker-entrypoint.sh" 46 minutes ago Up 46 minutes 0.0.0.0:3306->3306/tcp first-mysql
想要访问docker的mysql数据库,我的机器上需要装一个mysql-client。
yum install mysql -y
下面我们使用mysql命令访问服务器,密码如刚才所示为123456,192.168.1.20为我这台机器的ip, 3306为刚才所示的占用本物理机的端口(不是在docker内部的端口)
mysql -h192.168.1.20 -P3306 -uroot -p123456
访问的结果如下:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
3.运行第二个mysql实例
docker run --name second-mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
5404fb11f29cba07b991f34056d6b40ed0888aa905a45e637e396d071bd7f331
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5404fb11f29c mysql "docker-entrypoint.sh" 12 seconds ago Up 11 seconds 0.0.0.0:3307->3306/tcp second-mysql
5b6bf6f629bf mysql "docker-entrypoint.sh" 43 minutes ago Up 43 minutes 0.0.0.0:3306->3306/tcp first-mysql
如上所示,两个实例都正常运行了,为了访问第二个容器,我们指定端口3307登录到这个mysql的client。
mysql -h192.168.1.20 -P3307 -uroot -p123456
访问的结果如下:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
相关文章
- 在Ubuntu 18.04上安装Linux、Nginx、MySQL、PHP(LEMP堆栈)的方法
- 【Linux服务器搭建】——在linux上安装mysql5、tomcat8和jdk8并部署应用
- 通过xshell在linux上安装mysql5.7(终极版)
- docker安装mysql5.7 并运行、保证容器及外部的通信
- 在Ubuntu系统上安装Docker
- docker_在ubuntu上安装docker服务
- 在docker上安装windows镜像
- 在 CentOS 上安装 MySQL 8
- 在Fedora10上安装MySQL5.0.18,告捷!
- Docker 快速入门(Ubuntu版)-Docker是一个开源的平台,用于开发、部署和运行应用程序,它通过容器化技术实现应用的打包、隔离和跨平台部署。Docker 将应用程序及其所有依赖项打包到一个称为容器的标准化单元中,以便能够在任何支持 Docker 的环境中运行。这种方法使得应用程序可以无缝地在开发、测试和生产环境之间移动,消除了“在我电脑上运行没问题”的问题。