zoukankan      html  css  js  c++  java
  • Docker-compose networks 的例子

    今天实验了下 docker 下的网络设置,记录一下过程,以免后面忘记。
    (系统:Centos 7.4 ,docker 版本:18.03.1-ce, docker-compose version 1.18.0)

    cat docker-compose.yml 
    version: '3'
    services: 
      test1:
        image: busybox:latest         # 镜像为 busybox
        entrypoint:                   # 容器启动后执行 top 命令,使容器没法立即退出
         - top
        networks:
          backend:          # 使用指定的网络 backend, 并且设置网络别名为 test1,
            aliases:        # 设置网络别名后,可以在其他容器中 ping test1 访问到该容器
              - test1
    
      test2:
        image: busybox:latest
        entrypoint:
         - top
        networks:
          backend:
            aliases:
              - test2
    
    networks:
      backend:
    
    

    启动

    docker-compose up -d
    
    docker ps -a
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
    4d05ceb2088d        busybox:latest      "top"               5 seconds ago       Up 4 seconds                            ibaboss_test2_1
    f4ccafa24664        busybox:latest      "top"               5 seconds ago       Up 4 seconds                            ibaboss_test1_1
    
    docker exec -it 4d05ceb2088d /bin/sh
    / # ping test1
    PING test1 (172.19.0.2): 56 data bytes
    64 bytes from 172.19.0.2: seq=0 ttl=64 time=0.061 ms
    64 bytes from 172.19.0.2: seq=1 ttl=64 time=0.062 ms
    
    ping ibaboss_test1_1
    PING ibaboss_test1_1 (172.19.0.2): 56 data bytes
    64 bytes from 172.19.0.2: seq=0 ttl=64 time=0.045 ms
    64 bytes from 172.19.0.2: seq=1 ttl=64 time=0.056 ms
    64 bytes from 172.19.0.2: seq=2 ttl=64 time=0.061 ms
    
    # 在网络中可以通过 容器名字或者网络的别名 进行通信
    

    Compose 的容器名称格式是:<项目名称><服务名称><序号>
    虽然可以自定义项目名称、服务名称,但是如果你想完全控制容器的命名,可以使用这个标签指定:
    container_name: app

    cat docker-compose_v1.yml 
    version: '3'
    services: 
      test1:
        image: busybox:latest
        entrypoint:
         - top
        container_name: test1
        networks:
         - backend
    
      test2:
        image: busybox:latest
        entrypoint:
         - top
        container_name: test2
        networks:
         - backend
    
    networks:
      backend:
    

    启动

    docker-compose -f docker-compose_v1.yml up -d
    
    docker ps -a
    CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS               NAMES
    132859fc77c2        busybox:latest      "top"               About a minute ago   Up About a minute                       test2
    cd0a78dc9bd4        busybox:latest      "top"               About a minute ago   Up About a minute                       test1
    
    docker exec -it 132859fc77c2 ping test1
    PING test1 (172.19.0.2): 56 data bytes
    64 bytes from 172.19.0.2: seq=0 ttl=64 time=0.070 ms
    64 bytes from 172.19.0.2: seq=1 ttl=64 time=0.068 ms
    64 bytes from 172.19.0.2: seq=2 ttl=64 time=0.059 ms
    
  • 相关阅读:
    WebService 入门程序(一)
    WinXP系统服务详细列表
    windows下使用openssl的一种方法
    如何搭建Visual Studio的内核编程开发环境
    在CentOS下源码安装 Xen并搭建Windows虚拟机
    微信聊天记录查看器(程序+源码)
    实现了一个简单的key-value存储系统
    TFS二次开发系列:五、工作项查询
    匿名类型是不是强类型?
    近期微博吐槽言论存档,涉及“性能优化”、C++陋习等
  • 原文地址:https://www.cnblogs.com/klvchen/p/9243312.html
Copyright © 2011-2022 走看看