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

Restart=on-failuresystemd를 사용할 때는 컨테이너 자체보다는 컨테이너를 다시 시작하는 등 systemd의 전략을 사용해야 합니다 . 이렇게 하지 않으면 종료 시 컨테이너가 충돌합니다.

관련 정보