컨테이너를 닫지 않고 Docker가 컨테이너를 종료하는 문제를 해결하는 방법은 무엇입니까?
도커 컨테이너에 진입한 후 종료하면 컨테이너가 종료됩니다. 그러면 컨테이너가 닫히지 않도록 컨테이너를 종료하는 방법은 무엇입니까?
컨테이너를 닫지 않고 정상적으로 종료하려면 Ctrl + P + Q
를 눌러 컨테이너를 종료하세요. 매우 중요합니다. 기억해 주세요! Ctrl + P + Q
进行退出容器,这一点很重要,请牢记!
以下示例为退出容器但不关闭容器
实际上我们可以在启动容器的时候就进行配置,加入-d参数来启动容器,当然,这条命令只能于启动全新的容器,启动关闭的容器是不可以的。
秘诀1
docker run -d
:后台运行容器,并返回容器ID
以下示例为使用docker -d
启动容器并退出
在这里你可能会发现,使用了-d的命令退出后容器依然还是死了,动手型的朋友可能会发现只是用docker run -d去启动容器也一样是死的
这里其实需要了解的是容器的运行机制,Docker容器在后台运行,必须要有一个前台进程,这里我们让容器有前台程序运行,就可以实现容器的-d启动后存活
我这里使用nohup在后台运行一个每1000秒ping一次百度的进程,另外你也可以使用“ while true; do echo hello world; sleep 1; done”,无限输出hello world。
另外甚至是有进程在后台运行,您进入了容器,输入退出退出,依然会终止容器的运行,请谨记。
Ctrl + P + Q
다음 예는 컨테이너를 닫지 않고 컨테이너를 종료하는 것입니다
사실 컨테이너를 시작할 때 구성하고 -d 매개변수를 추가하여 컨테이너를 시작할 수 있습니다. 물론 이 명령은 새 컨테이너를 시작하고 밀폐용기는 불가능합니다. 🎜🎜비밀 1🎜🎜🎜docker run -d
: 백그라운드에서 컨테이너를 실행하고 컨테이너 ID를 반환합니다.🎜🎜다음 예에서는 docker -d
를 사용하여 컨테이너를 시작합니다. 그리고 종료🎜🎜🎜 🎜🎜여기 -d 명령을 사용하여 종료한 후에도 컨테이너가 여전히 작동하지 않는 것을 확인할 수 있습니다. 실습 친구는 docker run -d를 사용하여 컨테이너를 시작하는 것만으로도 실제로 필요한 작업이 작동하지 않는다는 것을 알 수 있습니다. 여기 실행 메커니즘이 있다는 것을 이해하세요. Docker 컨테이너는 백그라운드에서 실행되며 포그라운드 프로세스가 있어야 합니다. 여기서는 컨테이너가 -d 시작 후에도 살아남을 수 있도록 포그라운드 프로그램을 갖도록 합니다. src="https://img.php .cn/upload/image/742/853/429/1591582998776722.png" title="1591582998776722.png" alt="Docker가 컨테이너를 닫지 않고 컨테이너를 종료하는 문제를 해결하는 방법"/>🎜🎜nohup을 사용하여 실행합니다. 또한 백그라운드에서 1000초마다 Baidu 핑을 실행하여 " while true; do echo hello world; sleep 1; done"을 사용하여 hello world를 무한히 출력할 수도 있습니다.
🎜🎜🎜또한, 백그라운드에서 실행중인 프로세스가 있더라도 컨테이너에 진입하여 종료하기 위해 exit를 입력하면 여전히 컨테이너 실행이 종료되니 주의하시기 바랍니다. 🎜🎜🎜Ctrl + P + Q
는 제 생각에는 여전히 최고의 사용법입니다. 🎜🎜관련 참조: 🎜🎜docker 튜토리얼🎜🎜🎜위 내용은 Docker가 컨테이너를 닫지 않고 컨테이너를 종료하는 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!