美文网首页Springboot、Thymeleaf、Docker - 知识林docker
19 - Docker network第五讲-替代“--link

19 - Docker network第五讲-替代“--link

作者: 钟述林 | 来源:发表于2016-12-29 17:34 被阅读142次

    本文章来自【知识林】

    在之前的讲解《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的方式。

    本文章来自【知识林】

    相关文章

      网友评论

        本文标题:19 - Docker network第五讲-替代“--link

        本文链接:https://www.haomeiwen.com/subject/vmdpvttx.html