繁体   English   中英

如何永久设置docker容器主机名/IP?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM