• 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
    

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

  • 相关阅读:
    插入排序(C语言版)
    2015蓝桥杯分机号(C++C组)
    2015蓝桥杯二项式
    2016蓝桥杯报纸页数(C++C组)
    区块链
    C语言学生管理系统完善版
    数据结构队列
    C语言数据结构队列
    C语言数据结构栈
    javascript 事件
  • 原文地址:https://www.cnblogs.com/snakejia/p/8422150.html
Copyright © 2020-2023  润新知