19 - Docker network第五讲-替代“--link
本文章来自【知识林】
在之前的讲解《09 - docker run 之 Wordpress+mysql快速搭建网站(Docker系列)》中讲述了使用
--link
的方式来让wordpress和mysql的容器进行通信,这种方式即将过时,需要换成docker network
的方式。下面就将《09 - docker run 之 Wordpress+mysql快速搭建网站(Docker系列)》中的网站更新为
docker network
的方式。
- 创建网络
docker network create wp-net
- 启动MySQL数据库
docker run -d -p 3306:3306 --name wp-mysql --network wp-net --network-alias mysql -e MYSQL_ROOT_PASSWORD=123 mysql
说明:
docker run
:启动容器
-d
:后台运行
-p 3306:3306
:将容器的3306端口映射到宿主机的3306端口上
--name wp-mysql
:指定容器的名称为wp-mysql
--network wp-net
:将容器加入到wp-net
网络中
--network-alias mysql
:指定容器在wp-net
网络中的别名是mysql
-e MYSQL_ROOT_PASSWORD=123
:初始化数据库root用户的密码为123
- 启动WordPress网站程序
docker run -d -p 80:80 --name wp-web --network wp-net --network-alias wordpress -e WORDPRESS_DB_PASSWORD=123 wordpress
说明:
docker run
:启动容器
-d
:后台运行
-p 80:80
:将容器内的80端口映射到宿主机的80端口上
--name wp-web
:指定容器的名称为wp-web
--network wp-net
:将容器加入到wp-net
网络中,与mysql数据库在同个网络中
--network-alias wordpress
:指定容器在网络中的别名是wordpress
,这个可以不要,因为在其他容器中不需要这个名称
-e WORDPRESS_DB_PASSWORD=123
:指定wordpress的数据库密码
- 验证在
wp-web
容器中是否能与数据库通信
C:\Users\zsl-pc>docker exec -it wp-web /bin/bash
root@202fdad27426:/var/www/html# ping -w 2 mysql
PING mysql (172.19.0.2): 56 data bytes
64 bytes from 172.19.0.2: icmp_seq=0 ttl=64 time=0.049 ms
64 bytes from 172.19.0.2: icmp_seq=1 ttl=64 time=0.155 ms
--- mysql ping statistics ---
3 packets transmitted, 2 packets received, 33% packet loss
round-trip min/avg/max/stddev = 0.049/0.102/0.155/0.053 ms
说明:说明能够在wp-web
容器中使用mysql
数据库。
- 查看宿主机IP并测试访问
C:\Users\zsl-pc>docker-machine ip tmp-machine
192.168.99.100
说明宿主机的IP地址是192.168.99.100
,由于wp-web
容器内的80
端口已经映射到了宿主机的80
端口上,所以我们可以直接在浏览器中输入这个IP地址进行访问。
具体的访问和使用可以参数文章《09 - docker run 之 Wordpress+mysql快速搭建网站(Docker系列)》
网站已经正常运行起来了,没有使用--link
来让容器之间通信,这样我们就已经成功的将容器通信方式过变更为docker network
的方式。
本文章来自【知识林】