podman 容器间如何建立联系及端口问题?

发布于 2022-09-12 01:45:58 字数 981 浏览 28 评论 0

最近系统更新到了CentOS8,抛弃了docker并自带了podman,于是就想尝尝鲜……但教程实在太少了

问题一:普通用户无法创建端口号为80的nginx应用?
谷歌了一下,说是什么
Podman can not create containers that bind to ports < 1024.
Non priv users are not allowed to bind to ports < 1024, so this requires root.
也就是需要root用户的权限呗。
那问题来了,你总不能让用户访问你的网站还要加上端口号吧?
所以我只能在root用户下创建nginx?
这和docker有啥区别……
而且,nginx又不是独立运行的,我还需要php、mariadb来支持我的网站,这又牵扯到另一个问题,网络共享,我试过在nginx的配置文件中引用php:

location ~ \.php(.*)$ {
    fastcgi_pass   php:9000;
    ...
}

nginx -t 检查后报错
nginx: [emerg] host not found in upstream "php" in
但docker这么用是可以的。
然后我又找到
pod 中的所有容器共享相同的网络命名空间,因此它们可以通过localhost 轻松地互相通信,而无需导出任何额外的端口。
pod的端口一旦创建就不能动态修改,比如:

podman pod create --name zf_site_network -p 8080:80 -p 4433:443 -p 9000:9000

这不是很糟糕吗?毕竟我无法预知将来我会用到什么应用,无法动态修改就只能摧毁重建……

希望懂podman的大佬解惑,谢谢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

荭秂 2022-09-19 01:45:58

podman pod create --replace pod存在可以直接替换

听不够的曲调 2022-09-19 01:45:58

podman 提供 add-host 参数的,类似于 docker 中的 link

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文