我无法使Docker Composehostname
命令正常工作。
我正在运行一个简单的docker-compose.yml
:
version: '3'
services:
redis1:
image: "redis:alpine"
hostname: redis1host
redis2:
image: "redis:alpine"
hostname: redis2host
一旦使用来运行此命令docker-compose up
,我应该可以运行docker-compose exec redis1 /bin/ash
然后ping redis2host
与另一个Redis容器进行对话,但是ping不能到达其目的地。我可以使用ping另一个Redis容器ping redis2
。
ping redishost2
应该工作,不是吗?
该hostname
指令只是在容器内设置主机名(即,您对hostname
oruname -n
命令返回的名称)。它不会导致该服务的DNS别名。为此,您需要别名指令。由于该指令是针对每个网络的,因此您需要明确说明网络,而不要使用撰写默认值,例如:
version: '3'
services:
redis1:
image: "redis:alpine"
hostname: redis1host
networks:
redis:
aliases:
- redis1host
redis2:
image: "redis:alpine"
hostname: redis2host
networks:
redis:
aliases:
- redis2host
networks:
redis:
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句