我目前正在以群发模式使用docker,我想使用环境变量将容器的主机名和/或IP地址发送到所述容器中。
version: "3"
services:
test:
image: someimage
deploy:
replicas: 2
restart_policy:
condition: on-failure
environment:
- HOSTNAME=test
networks:
- my-network
networks:
my-network:
external:
name: my-network
我尝试使用上面的示例,但是它不起作用。目的是使每个副本具有自己的主机名和/或IP地址。我该如何实现?
答案 0 :(得分:1)
每个容器的主机名都与短ID相同,该短ID已在容器中设置为变量HOSTNAME。
如果您尝试直接从该docker网络上的其他容器访问副本,则可以使用反向查找(nslookup,dig)任务。获取IP列表(您不应该在配置或编写文件中硬编码)
如果要将主机的主机名注入服务任务中,则可以使用templates in compose。