我正在尝试使用无根 podman 四元组,并尝试使用 mariadb 数据库运行 mediawiki 作为更复杂的场景。但我陷入困境,因为我无法访问数据库或 mediawiki 网络服务器(apache2)。我在运行
systemctl --user start mediawiki-pod.service
后以 systemctl --user daemon-reload
开始。
当我使用 podman run 启动所有内容(例如
podman run -p 8080:80 docker.io/mediawiki:1.42
)或使用 Network=host 运行每个服务而无需 pod 文件时。我可以访问网络服务器/数据库。
我猜它必须与桥接网络有关,但我无法找出到底是什么。我的四胞胎有什么问题吗?
mediawiki.pod
[Pod]
PodName=Mediawiki
Network=mediawiki.network
PublishPort=8080:80
PublishPort=3306:3306
mediawiki-app.container
[Container]
Image=docker.io/mediawiki:1.42
ContainerName=mediawiki-app
Pod=mediawiki.pod
Network=mediawiki.network
mediawiki-db.container
[Container]
Image=docker.io/mariadb:11.6
ContainerName=mediawiki-db
Pod=mediawiki.pod
EnvironmentFile=mediawiki-db.env
Network=mediawiki.network
mediawiki.network
[Network]
Driver=bridge
编辑: -我尝试了容器之间的通信并且它有效。因此,仅容器<->主机通信就出现了问题。
好吧,解决方案是从所有容器中删除网络并让 Pod 处理所有事情。
mediawiki.pod
[Pod]
PodName=Mediawiki
Network=mediawiki.network
PublishPort=8080:80
PublishPort=3306:3306
mediawiki-app.container
[Container]
Image=docker.io/mediawiki:1.42
ContainerName=mediawiki-app
Pod=mediawiki.pod
mediawiki-db.container
[Container]
Image=docker.io/mariadb:11.6
ContainerName=mediawiki-db
Pod=mediawiki.pod
EnvironmentFile=mediawiki-db.env
mediawiki.network
[Network]
Driver=bridge