我刚接触docker,我正在学习:Docker compose demo。
根据文档,我成功地运行了服务,但我想知道python是如何连接到redis的,正如doc所说的那样:

但是如何检查redis容器的主机名呢?
容器进程如下:
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ec3eb988c705 redis:alpine "docker-entrypoint.s…" 14 minutes ago Up 10 minutes 6379/tcp composetest_redis_1
795a7e933d72 composetest_web "flask run" 14 minutes ago Up 10 minutes 0.0.0.0:5000->5000/tcp composetest_web_1我试着:
docker exec -it ec3e /bin/sh
/data # cat /etc/hostname
ec3eb988c705
/data # 看起来主机名不是redis?
有没有人能告诉我他们之间是如何交流的?我知道这两个容器在同一个网络中,但我不了解它们的机制。
发布于 2019-12-16 10:43:15
这是由docker-compose进程处理的。查看您的docket-compose.yml文件:
services:
web:
build: .
ports:
- "5000:5000"
redis:
image: "redis:alpine"默认情况下,docker服务器名称将是services下的密钥,因此服务器名称redis将在此处建立。
https://stackoverflow.com/questions/59349864
复制相似问题