[英]How to set docker container hostname/IP permanently?
有没有办法在docker中为容器永久设置主机名和IP? 我想在一个 VM 中创建一堆机器(容器),最好使用主机名相互通信。
您可以使用 Docker 1.10.0 版之后可用的新网络功能
这允许您通过名称连接到容器,分配 Ip 地址和主机名。
创建新网络时,任何连接到该网络的容器都可以通过名称、IP 或主机名访问其他容器。
IE:
1) 创建网络
$ docker network create --subnet=172.18.0.0/16 mynet123
2)在网络内部创建容器
$ docker run --net mynet123 -h myhostname --ip 172.18.0.22 -it ubuntu bash
标志:
--net
将容器连接到网络--ip
指定 IPv4 地址-h, --hostname
指定主机名--add-host
向 /etc/hosts 添加更多条目您可以使用docker-compose
工具创建具有特定主机名和地址的容器堆栈。
这是具有特定网络配置的示例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
来源: Docker Compose 在docker-compose.yml
静态 IP 地址。
这是docker-compose.yml
文件的示例,其中容器相互 ping:
version: '3'
services:
ubuntu01:
image: bash
hostname: ubuntu01
command: ping -c1 ubuntu02
ubuntu02:
image: bash
hostname: ubuntu02
command: ping -c1 ubuntu01
使用docker-compose up
运行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.