如何使用 podman-compose 启用容器间通信
How to enable inter container communication using podman-compose
我们基本上有一个 docker-compose.yml 文件,如下所示:
services:
db:
image: db
container_name: db
ports:
- 7474:7474
- 7687:7687
networks:
- com
backend:
image: backend
container_name: backend
ports:
- 8080:8080
environment:
# Lookup host of db on docker-compose network
- DB_HOST=db:7687
depends_on:
- db
networks:
- com
networks:
com: {}
当我在使用 docker
作为后端的本地计算机上使用 docker-compose up
启动容器时,我可以看到后端实际上可以查找我的数据库容器的地址。
当我将 podman-compose up
或 docker-compose up
与 podman
后端结合使用时,无法解析主机。我认为 podman 会像 docker-compose 那样通过为容器创建网络来处理容器间通信。我做错了什么吗?
我刚刚检查了一下,podman 没有为 运行 中的容器创建 pod。我假设它会默认为 运行 中的所有容器创建一个 pod。这样容器至少应该能够通过本地主机相互访问。但是由于没有 pod,localhost 也无法正常工作。有人知道问题出在哪里吗?
升级到较新的 Podman 版本确实解决了问题。有关详细信息,请查看此 Github 问题:https://github.com/containers/podman/issues/11457#issuecomment-916260531
我们基本上有一个 docker-compose.yml 文件,如下所示:
services:
db:
image: db
container_name: db
ports:
- 7474:7474
- 7687:7687
networks:
- com
backend:
image: backend
container_name: backend
ports:
- 8080:8080
environment:
# Lookup host of db on docker-compose network
- DB_HOST=db:7687
depends_on:
- db
networks:
- com
networks:
com: {}
当我在使用 docker
作为后端的本地计算机上使用 docker-compose up
启动容器时,我可以看到后端实际上可以查找我的数据库容器的地址。
当我将 podman-compose up
或 docker-compose up
与 podman
后端结合使用时,无法解析主机。我认为 podman 会像 docker-compose 那样通过为容器创建网络来处理容器间通信。我做错了什么吗?
我刚刚检查了一下,podman 没有为 运行 中的容器创建 pod。我假设它会默认为 运行 中的所有容器创建一个 pod。这样容器至少应该能够通过本地主机相互访问。但是由于没有 pod,localhost 也无法正常工作。有人知道问题出在哪里吗?
升级到较新的 Podman 版本确实解决了问题。有关详细信息,请查看此 Github 问题:https://github.com/containers/podman/issues/11457#issuecomment-916260531