Fedora 33 내부의 두 컨테이너에서 실행되는 애플리케이션이 있습니다. 이러한 컨테이너는 이미 스크립트가 있는 특정 방식으로 중지되어야 합니다. 컨테이너가 종료되기 전에 항상 올바르게 순서대로 중지되도록 하기 위해 시스템 종료 프로세스를 사용자 정의하고 싶습니다. 내가 찾은이것이는 종료 프로세스를 시작하기 전에 컨테이너를 직접 중지할 수 없음을 나타내는 것 같습니다(systemctl이 모든 것을 병렬로 중지하기 때문). 그러나 shutdown 명령은 일부 사용자의 경우 /usr/sbin/shutdown, 루트 사용자의 경우 /sbin/shutdown에 대한 심볼릭 링크이며 둘 다 /bin/systemctl을 가리키는 것으로 나타났습니다.
간단히 이 두 링크를 끊고 다음과 같은 스크립트로 대체할 수 있습니다.
#!/bin/bash
echo "doing stuff..."
/bin/systemctl
아니면 앞으로 문제가 생길까요? 그렇다면 shutdown 명령이 호출될 때마다 내 컨테이너가 종료되기 전에 항상 중지되도록 하는 더 우아한 방법이 있습니까?
답변1
너할 수 있다이렇게 하세요. 하지만... 그러면 안됩니다. Fedora Linux 33을 사용하고 있기 때문에 보안 업데이트를 받을 수는 없지만, 그렇게 하면 보안이 혼란스러워질 가능성이 높습니다.
대신 systemd 단위를 사용하여 컨테이너를 관리하고(예: .service
각 컨테이너에 대한 파일 생성) 법선 After
이나 Requires
메시지를 사용하여 종속성을 표현할 수 있습니다.