有没有办法设置使用docker-compose
运行的容器的机器名?
我需要启动N个容器,这些容器应具有可预测的机器名称(在Windows Server 2016下运行的Windows容器):
这是测试具有许多客户端的系统所必需的。是否可以通过脚本手动运行容器(docker-run
)另一种解决方案?无论如何,问题仍然是how can I manually set the machine name (if it is possible)
答案 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