美文网首页
Docker容器通信篇

Docker容器通信篇

作者: VienFu | 来源:发表于2019-09-26 08:49 被阅读0次

    1. 容器间通信

    1.1 通过IP

    如果两个容器使用的是同一个网络(IP处于同一网段),容器间自然是可以通信的;
    如果两个容器使用的不是同一个网络,假设container01使用my_net01,而container02使用my_net02,可以通过如下命令来使容器间相互通信:docker network connect my_net02 container01

    1.2 通过DNS Server

    一般docker daemon默认会内嵌一个DNS Server,所以在启动容器时可以设定容器名然后容器间通过容器名实现互访,不过这种方式只限定于用户自建的网络。

    1.3 容器joined

    这种方式可以使多个容器间共享一个网络栈,比如:

    docker run -d --name my_container01 <docker_image02>
    docker run -d --network=container:my_container01 --name my_container02 <docker_image02>
    

    2. Docker容器与外网的通信

    2.1 容器访问外网

    通过IPTABLES NAT伪装(MASQUERADE)实现

    2.2 外网访问容器

    端口映射或者共享网络栈实现

    相关文章

      网友评论

          本文标题:Docker容器通信篇

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