木头的博客

我是木头 有些想法 有点精力

0%

Docker 学习心得

通信

容器间通信的一些 Q&A

  1. 如果不声明 network 字段, 在同一个 docker compose 之间可以通信吗?

    可以

    如果不指定一个特定的 network, docker 会指定容器在一个名为 docker0 的默认网桥中

  2. 如果不声明 expose 选项, 那么同一网络中的其他容器可以访问该容器吗?

    可以

    但如果启动docker守护进程时指定了--icc=false选项,则不可以。
    建议声明, 声明该选项有助于使用者了解容器内暴露了那些端口出来供使用。

  3. 在同一个网络中不同的容器使用了同一个端口会有冲突吗?

    不会

    不同的容器使用不同的 host, 所以哪怕两个容器使用了同样的端口,也不会与其他容器冲突。

  4. exposeports 字段有什么区别?

    如果容器内的端口需要在宿主环境访问,则需提供 ports 字段

    expose 字段在默认情况下是可选的,即使不声明也可以在同一个网络中使用该容器的端口