有没有一种方法可以将主机名和IP永久设置为Docker中的容器。我想在一个虚拟机中创建一堆机器(容器),理想情况下使用主机名互相交谈。
您可以使用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
Run Code Online (Sandbox Code Playgroud)
来源:Docker Compose 中的静态 IP 地址docker-compose.yml。
这是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
Run Code Online (Sandbox Code Playgroud)
运行docker-compose up。
您可以使用Docker 1.10.0版之后可用的新网络功能
这样,您就可以通过容器的名称连接到容器,分配IP地址和主机名。
创建新网络时,连接到该网络的任何容器都可以通过其名称,ip或主机名访问其他容器。
即:
1)创建网络
$ docker network create --subnet=172.18.0.0/16 mynet123
Run Code Online (Sandbox Code Playgroud)
2)在网络内部创建容器
$ docker run --net mynet123 -h myhostname --ip 172.18.0.22 -it ubuntu bash
Run Code Online (Sandbox Code Playgroud)
标志:
--net 将容器连接到网络 --ip 指定IPv4地址-h, --hostname 指定主机名--add-host 向/ etc / hosts添加更多条目| 归档时间: |
|
| 查看次数: |
6310 次 |
| 最近记录: |