Ben*_*son 3 docker docker-compose
我无法让Docker Compose hostname命令工作.
我正在运行一个简单的docker-compose.yml:
version: '3'
services:
redis1:
image: "redis:alpine"
hostname: redis1host
redis2:
image: "redis:alpine"
hostname: redis2host
Run Code Online (Sandbox Code Playgroud)
一旦我运行它docker-compose up,我应该能够运行docker-compose exec redis1 /bin/ash,然后ping redis2host与其他Redis容器交谈,但ping只是没有到达目的地.我可以ping其他Redis容器ping redis2.
ping redishost2 应该工作,不是吗?
该hostname指令只是在容器内设置主机名(即,为响应hostname或uname -n命令而返回的名称).它不会导致服务的DNS别名.为此,您需要别名指令.由于该指令是按网络进行的,因此您需要明确网络而不是使用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:
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1795 次 |
| 最近记录: |