本文所属【知识林】:http://www.zslin.com/web/article/detail/66

在之前的讲解《09 - docker run 之 Wordpress+mysql快速搭建网站(Docker系列)》中讲述了使用--link的方式来让wordpressmysql的容器进行通信,这种方式即将过时,需要换成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的方式。

本文所属【知识林】:http://www.zslin.com/web/article/detail/66
文章点评共:2 条
点评内容: 提交点评

05-03 点评:fdfdf

11-02 点评:不错