如何永久设置docker容器主机名/IP?
有没有办法在docker中为容器永久设置主机名和IP?如何永久设置docker容器主机名/IP?,docker,Docker,有没有办法在docker中为容器永久设置主机名和IP? 我想在一个虚拟机中创建一个机器(容器)堆栈,理想情况下使用主机名彼此对话。您可以使用Docker 1.10.0版之后提供的新网络功能 这允许您通过容器的名称连接到容器,分配Ip地址树和主机名 创建新网络时,连接到该网络的任何容器都可以通过名称、ip或主机名访问其他容器 i、 e: 1)创建网络 $ docker network create --subnet=172.18.0.0/16 mynet123 $ docker r
我想在一个虚拟机中创建一个机器(容器)堆栈,理想情况下使用主机名彼此对话。您可以使用Docker 1.10.0版之后提供的新网络功能 这允许您通过容器的名称连接到容器,分配Ip地址树和主机名 创建新网络时,连接到该网络的任何容器都可以通过名称、ip或主机名访问其他容器 i、 e: 1)创建网络
$ docker network create --subnet=172.18.0.0/16 mynet123
$ docker run --net mynet123 -h myhostname --ip 172.18.0.22 -it ubuntu bash
2)在网络内部创建容器
$ docker network create --subnet=172.18.0.0/16 mynet123
$ docker run --net mynet123 -h myhostname --ip 172.18.0.22 -it ubuntu bash
旗帜:
将容器连接到网络--net
指定IPv4地址--ip
指定主机名-h,--hostname
向/etc/hosts添加更多条目--添加主机
docker compose.yml
:
version: "2"
services:
host1:
networks:
mynet:
ipv4_address: 172.25.0.101
networks:
mynet:
driver: bridge
ipam:
config:
- subnet: 172.25.0.0/24
来源:
下面是容器相互ping的docker compose.yml
文件示例:
version: '3'
services:
ubuntu01:
image: bash
hostname: ubuntu01
command: ping -c1 ubuntu02
ubuntu02:
image: bash
hostname: ubuntu02
command: ping -c1 ubuntu01
运行
docker compose up
你想完成什么?如果你想这么做的话,我建议你用错误的方式来考虑容器。我想设置一堆机器来运行一个webapp。比如说2台mariadb机器,nginx,一台带有jvm,kakfa,zookeeper,一台用于logparser等。目前,安装程序在vmware中作为12-14个虚拟机运行。可以将这些虚拟机作为容器运行吗?可以。但是,与尝试静态配置容器相比,您最好使用端口映射(可能使用haproxy)。是的,这是一个错误的假设。当我问这个问题时,我不太清楚当时我在做什么。这不会自动将主机添加到您的其他实例中。例如,ubuntu02
不会有ubuntu01
主机,反之亦然。请参阅额外的主机。此答案用于添加主机名,而不是添加主机(如/etc/hosts)。所以它对我来说很有效,因为我想更改主机名。添加主机时使用的是是否确实需要--ip
标志?