Docker Compose主机名命令不起作用

本·沃森

我无法使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指令只是在容器内设置主机名(即,您对hostnameoruname -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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章