为docker-compose设置机器名称

有没有一种方法来设置使用docker-compose运行的容器的机器名称?

我需要启动N个应该具有可预测机器名称的容器(在Windows Server 2016下运行的Windows容器):

  • MyName1
  • MyName2
  • MyNameN

这是testing一个系统与许多客户端所必需的。 也许是手动运行容器( docker-run )通过脚本替代解决scheme? 无论如何,问题是how can I manually set the machine name (if it is possible)

您的Windows容器使用容器标识作为主机名。

您可以通过添加hostname docker参数来定义机器主机hostname

在你docker-compose.yml

 version: '2' services: web: image: ubuntu hostname: MyName 

这也与Docker运行命令一起工作:

 docker run -it --hostname MyName ubuntu /bin/bash 

要为每台机器设置一个唯一的主机名,您必须在一个唯一的docker组合中定义多个docker-compose文件或多个服务。 您也可以使用运行命令循环:

 #!/bin/bash for i in {1..5} do docker run -d --hostname test$i ubuntu done