zoukankan      html  css  js  c++  java
  • 5.docker 容器互联

    容器互联

    如果你之前有Docker使用经验,你可能已经习惯了使用 --link 参数来使容器互联。
    随着Docker网络的完善,强烈建议大家讲容器加入自定义的Docker网络来连接多个容器。

    1.新建网络

    docker network create -d bridge my-net
    
    -d 参数指定Docker网络类型,有bridge overlay。其中overlay网络类型用户Swarm mode。
    

    2.连接容器

    这里创建四个容器,并全部连接到新的网络。

    (1)创建两个tomcat容器
    docker run -v /home/eva/src1:/usr/local/tomcat/webapps  --name tomcat1   -d --network my-net  -p 18080:8080 pic:latest
    
    
    docker run -v /home/eva/src2:/usr/local/tomcat/webapps  --name tomcat2   -d --network my-net  -p 28080:8080 pic:latest
    
    

    (2)创建mysql容器

    docker run --name mysql -p 3306:3306 -v /home/eva/mysql/data:/var/lib/mysql -v /home/eva/mysql/conf:/etc/mysql/conf.d  -e MYSQL_ROOT_PASSWORD=my-secret-pw -d --network my-net  mysql:5.7
    

    (3)创建redis容器

    docker run --name redis -d -p 6379:6379 -v /home/eva/redis/data:/data  --network my-net redis:latest
    

    3.进入容器,测试是否连通

    root@ubuntuserver:/usr/local/nginx/sbin# docker exec -it 805 /bin/bash 
    
    root@805c9aedb91b:/usr/local/tomcat# ping mysql
    PING mysql (172.19.0.4): 56 data bytes
    64 bytes from 172.19.0.4: icmp_seq=0 ttl=64 time=0.423 ms
    64 bytes from 172.19.0.4: icmp_seq=1 ttl=64 time=0.126 ms
    64 bytes from 172.19.0.4: icmp_seq=2 ttl=64 time=0.116 ms
    
    root@805c9aedb91b:/usr/local/tomcat# ping redis
    PING redis (172.19.0.5): 56 data bytes
    64 bytes from 172.19.0.5: icmp_seq=0 ttl=64 time=0.126 ms
    64 bytes from 172.19.0.5: icmp_seq=1 ttl=64 time=0.148 ms
    64 bytes from 172.19.0.5: icmp_seq=2 ttl=64 time=0.123 ms
    

    这样多个容器就建立了互联关系。在使用的时候使用容器名就可以了。

  • 相关阅读:
    JavaScript基础知识-标识符
    free命令常用参数详解及常用内存工具介绍
    GO语言的进阶之路-初探GO语言
    HTML&CSS基础-字体的其它样式
    HTML&CSS基础-字体的分类
    HTML&CSS基础-字体的样式
    python运维常用相关模块
    HTML&CSS基础-颜色的单位表示方法
    HTML&CSS基础-长度单位
    HTML&CSS基础-定义列表
  • 原文地址:https://www.cnblogs.com/snakejia/p/8422150.html
Copyright © 2011-2022 走看看