gpt4 book ai didi

Docker Compose 主机名命令不起作用

转载 作者:行者123 更新时间:2023-12-02 05:25:00 24 4
gpt4 key购买 nike

我无法获取 Docker Compose hostname 命令去工作。

我正在运行一个简单的 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 redis2 ping 另一个 Redis 容器.

ping redishost2应该可以,不是吗?

最佳答案

hostname 指令只是设置容器内的主机名(即响应 hostnameuname -n命令)。它不会产生服务的 DNS 别名。为此,您需要 aliases指示。由于该指令是针对每个网络的,因此您需要明确网络而不是使用 compose 默认值,例如:

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:

关于Docker Compose 主机名命令不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46239662/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com