我正在从 docker 迁移到 podman(不直接迁移到 kubernetes,因为在这一点上这肯定是矫枉过正的)。
现在,许多优雅的配置都可以作为 docker-compose 设置——但是 docker-compose 依赖于 docker 守护进程来启动(并保持运行)相互依赖的容器。
podman 的做法是让 systemd 单元文件相互依赖,并让 systemd 进行监控和启动(和关闭)。
现在,手动将 docker-compose 设置转换为单元文件很容易出错,而且有点乏味。
是否有一个已知的 docker-compose 兼容阅读器的已知来源,我可以设置它来生成 systemd 单元文件?
我知道在 Docker 中,如果你想更改运行时,你可以访问:/etc/docker/daemon.json
并修改:
{
"runtimes": {
"runnc": {
"path": "/usr/sbin/runnc"
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是我该如何使用 Podman 来做到这一点(或者只是添加运行时)?
OCI运行时:包:
runc:/usr/sbin/runc
路径:/usr/sbin/runc
我需要在 podman 容器内设置一个 ssh 服务器(实际上是一个 git 存储库)。
主机系统sshd
已经在端口 上运行22
。我正在pod
使用以下命令创建一个:
# podman pod create --name=gitlab --share net -p 22:22 -p 443:443 -p 80:80
# podman create --name=gitlab_gitlab_1 [...]
Run Code Online (Sandbox Code Playgroud)
当我尝试运行它时,出现以下预期错误:
# podman create --name=gitlab_gitlab_1
ERRO[0000] "cannot listen on the TCP port: listen tcp4 :22: bind: address already in use"
Run Code Online (Sandbox Code Playgroud)
这是预期的,因为该22
端口实际上正在使用中。
因此,我向主机系统添加了一个辅助 IP 地址,其唯一目的是将其绑定到容器(pod?)。
主机 sshd 未侦听辅助 IP。
如何“告诉”podman 使用辅助 IP 地址将端口转发到此(或全部)pod。