码头容器暴露静态IP
我试图将所需的IP和端口绑定到docker容器,并将其公开给网络,以便可以通过网络中的其他机器访问它,而不管它在哪个机器上运行。 码头工人我很新。 我能够实现端口绑定到本地主机,但这样它就成为机器相关的,即我们需要通过该机器的IP访问容器。 我的测试运行在两个不同的网络,所以我想让它独立于机器。 所以我试图做的是:将容器绑定到任何随机所需的IP(不知道这是否可以实现,因为IP应该在网络中始终是唯一的)。 请让我知道这是否可以实现,如果是的话。 非常感谢。
要将您的容器连接到另一个容器,您可以使用泊坞窗网络。 这是一个详细的答案,将指导您设置网络和连接容器。 是的,如果你使用码头网络,它是独立于机器的。
您可以尝试以下2种方法来解决问题。
-
创建一个网络,并在该网络上运行您的容器
码头网络创建–subnet = 193.168.3.0 / 24网络名称
码头运行 – 网络名称-p 193.168.3.18:15672图像
-
创建一个yml文件“docker-compose.yml”并添加下面的内容
version: "2" services: containername: image: your-image-name:version restart: always expose: - "8080" networks: overlay: ipv4_address: 193.168.3.18 ports: - 8080:8080 networks: overlay: driver: bridge ipam: config: - subnet: 193.168.3.0/24
保存该文件并运行以下命令
docker-compose -f docker-compose.yml up -d
你可以使用版本3,如果你想群体设施。 一旦上述命令运行,就会创建一个名称为“dir-name-of-yml_containername_1”的容器。 在这里,您正在创建一个子网“193.168.3.0/24”,并使用IP“193.168.3.18”创建容器的网络。