设置docker-compose的机器名称

时间:2017-01-06 08:43:54

标签: docker docker-compose

有没有办法设置使用docker-compose运行的容器的机器名?

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

  • MyName1
  • MyName2
  • ...
  • MyNameN

这是测试具有许多客户端的系统所必需的。是否可以通过脚本手动运行容器(docker-run)另一种解决方案?无论如何,问题仍然是how can I manually set the machine name (if it is possible)

1 个答案:

答案 0 :(得分:1)

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

您可以通过添加hostname docker参数来定义计算机主机名。

docker-compose.yml内:

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

这也适用于Docker运行命令:

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

要为每台计算机创建唯一的主机名,您必须在独特的docker compose中定义多个docker-compose文件或多个服务。您还可以使用run命令循环:

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