【问题标题】:Create multiple Docker network connections创建多个 Docker 网络连接
【发布时间】:2017-03-30 23:01:55
【问题描述】:

周一开始工作时,我意识到 Docker 是我目前必须用来解决公司中的一些服务器问题的东西。所以从这周开始,我所有的工作都在研究 Docker 并努力让它尽快工作。

到目前为止,我了解容器 / 群 / 等,但我仍然卡在网络上。基本上我需要在 Docker 下运行 3 个不同的网络,上面有不同的容器。

我需要运行 3 个不同的网络,这些网络将分配给主机 (OVH) 提供的 3 个公共 IP(我什至不知道它是否会工作,因为只有明天我才能让 VPS 工作)。

假设在网络 1 上将有 3 个容器用作生产,网络 2 将用于开发,第三个网络将用作测试。

这可以用 Docker 实现吗?

ATM 我正在​​使用 Docker 引擎在 raspbian (jessie) 上运行测试,但就像我说的,我仍然坚持使用整个 Docker 网络接口。

【问题讨论】:

  • 所有容器都运行在一个主机服务器上吗?
  • 是的,我只有一台服务器来工作,所以我的想法是“虚拟化”(以某种方式)我的 VPS
  • 我不明白你的意思是为网络分配一个公共 IP 地址。不过,您可以为容器分配 IP。
  • 当我们在 OVH 订购新的 VPS 时,我们还购买了 4 个 IP 用于内部,因此我们的想法是为每个网络设置一个 IP,为它自己的服务器设置一个 IP
  • 好吧,但是当你说你有一个网络 IP 时,这对我来说没有意义。通常一个网络有一个 IP 范围。

标签: networking docker containers docker-engine


【解决方案1】:
  • Create the networks

    docker network create net1
    docker network create net2
    docker network create net3
    
  • 将容器附加到所需的网络

    docker run --net=net1 --name=container1 [opts] [image]
    

或者,如果容器已经存在:

docker network connect net1 container1

如果您将主机 IP 附加到容器,您只需将端口绑定到它。 假设一个容器在 80 端口上运行:

docker run --name=container1 --net=net1 -p YOU_IP_ADDR:80:80 [image]

【讨论】:

  • "如果您将主机 IP 附加到容器,您只需将端口绑定到它。假设容器运行 o 端口 80:" 有没有办法在现有容器上添加端口?还是我必须删除实际的容器才能打开端口?
  • 使用 compose 更容易实现
  • @DiogoJesus 据我所知,最好的方法是删除现有容器并重新创建它。他们为此而生,容易死去。
猜你喜欢
  • 2017-08-13
  • 1970-01-01
  • 2018-10-14
  • 1970-01-01
  • 1970-01-01
  • 2017-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多