podman1:端口 1(veth0) 进入禁用阻塞状态/podman 无法正常关闭

podman1:端口 1(veth0) 进入禁用阻塞状态/podman 无法正常关闭

我有 podman 设置,如我所述Unix&Linux Stack Exchange 上的这个答案。我在 Rocky Linux 9 上运行它。

我进一步将用户会话设置为逗留,loginctl enable-linger $(whoami)以便我可以在启动时使用 systemd 运行 podman 进程。我的系统文件是:

[Unit]
Description=Patches Service
Wants=network.target
After=network.target
Requires=user@${USER}.service

[Service]
Type=oneshot
TimeoutStartSec=10min
ExecStart=/bin/bash ${SCRIPT_DIR}/patches.sh start --continuous

[Install]
WantedBy=default.target

其中 patch.sh 脚本运行一系列共享公共容器网络后端的容器。前任:

    podman run \
      --name patches-nginx \
      --env-file ${TOP_DIR}/.patches-nginx \
      --volume ${SCRIPT_DIR}/nginx_config/nginx.conf:/etc/nginx/nginx.conf:Z \
      --volume ${TOP_DIR}/${CERT_DIRECTORY}:/patches/${CERT_DIRECTORY}:z \
      --publish 443:443 \
      --publish 80:80 \
      --detach \
      --network host-bridge-net \
      --restart=always \
      docker.io/library/nginx:${NGINX_VERSION}

我注意到,完成此设置后,重新启动服务器时会发生以下情况:

在此输入图像描述

我正在调试过程中,但我不清楚是什么原因导致挂起。任何指导表示赞赏。

答案1

当您为容器本身分配了与 systemd 冲突的重启策略时,就会发生这种情况。当我使用时podman generate systemd我看到:

WARN[0000] Container 59590e79e4fc95158b74360fa6491a907c6a7cafa1b24d9ff34117a8a15cfc03 has restart policy "unless-stopped" which can lead to issues on shutdown: consider recreating the container without a restart policy and use systemd's restart mechanism instead

WARN[0000] Container 574fd77e6dc57eeac56358003e73ecf122058d3c212201c5b24b200c836df798 has restart policy "always" which can lead to issues on shutdown: consider recreating the container without a restart policy and use systemd's restart mechanism instead

使用 systemd 时,您应该使用 systemd 的策略,例如:Restart=on-failure重新启动容器而不是容器本身。如果不这样做,容器将在关闭时崩溃。

相关内容