$ docker run \
--name python-gradio-container \
-it -d -p 7870:8000 \
-v ~/html/:/var/www/html \
image1:tag1 bash
위와 같이 -d
옵션을 통해 컨테이너를 백그라운드 실행할 수 있지만, 컨테이너 실행과 동시에 프로그램이 실행되지 않는다면 바로 종료된다.
따라서 sleep infinity
옵션을 줌으로써 프로세스와 관계 없이 실행이 유지되는 컨테이너를 관리할 수 있다.
# sleep infinity 옵션
$ docker run \
--name python-gradio-container \
-it -d -p 7870:8000 \
-v ~/html/:/var/www/html \
image1:tag1 bash sleep infinity
# 컨테이너 실행
$ docker start {container name}
# 실행중인 컨테이너에 bash 접속
$ docker exec -it gradio_container /bin/bash
프로세스 실행 후 중단
$ ctrl+z
중단된 프로세스를 background에서 실행
$ bg
작업의 소유권을 shell session에서 해제
$ disown -h
ssh 로그아웃
이후 해당 프로세스의 종료가 필요하다면,
$ ps -ef
확인된 프로세스ID kill
kill -9 {PID}
https://github.com/Integerous/TIL/blob/master/Linux/Maintaining_Process.md