programing

중지된 도커 컨테이너를 다시 시작하는 방법

goodsources 2023. 7. 30. 17:43
반응형

중지된 도커 컨테이너를 다시 시작하는 방법

다음 명령을 사용하여 이미지에서 도커 컨테이너를 시작합니다.

$ docker run -d myimage /bin/bash -c "mycommand"

언제"mycommand"이 완료되면 컨테이너가 중지되지만(정지된 것으로 추정됨), 다음 명령으로 볼 수 있기 때문에 삭제되지 않습니다.

$ docker ps -a

할 수 있는 방법이 있습니까?restart동일한 매개 변수를 가진 이 컨테이너 및 생성된 데이터 유지mycommand?

예, 초기 명령 실행이 완료되면 컨테이너가 중지됩니다.

다음을 사용하여 중지된 컨테이너를 시작할 수 있습니다.

docker start container_name

명령의 출력을 보려면 다음을 추가해야 합니다.-ai옵션:

docker start -ai container_name

PS. 있습니다.docker restart container_name하지만 실행 중인 컨테이너를 다시 시작하는 데 사용됩니다. 저는 당신의 경우가 아니라고 생각합니다.

첫번째,$ docker ps -a에는 모든 컨테이너(실행 중인 컨테이너와 중지된 컨테이너)가 표시되므로 중지된 컨테이너가 나열되지 않습니다.

둘째, 중지된 컨테이너 실행을 쉽게 시작할 수 있습니다.

$ docker start container_name

컨테이너가 시작되면 다음을 통해 명령을 실행할 수 있습니다.

$ docker exec -it container_name bash -c "mycommand"

컨테이너에 작성한 내용은 컨테이너가 존재하는 동안 컨테이너 내부에 남아 있습니다.컨테이너가 제거되더라도 데이터를 유지하려면 볼륨을 사용할 수 있습니다.

그럴 것 같네요.

$ docker restart container_id # OR
$ docker restart container_name

enter image description here

위 그림에서 한 컨테이너가 작동 중이고 다른 상태가 Exited(종료됨)임을 알 수 있습니다.

컨테이너를 종료해도 다시 백업을 시작할 수 있습니다. 컨테이너 중지는 수명이 다했거나 다시 사용할 수 없는 것을 의미하지 않기 때문에 나중에 컨테이너를 쉽게 중지했다가 다시 시작할 수 있습니다.컨테이너 백업을 시작하려면 컨테이너의 ID를 가져온 다음 도커 시작을 실행하고 ID 끝을 붙여넣으면 됩니다.

sudo 도커 시작 컨테이너_id

위 그림에서 종료된 컨테이너에 대한 명령은 다음과 같습니다.

sudo docker start -a bba606a95392

출력:

enter image description here

그건 그렇고,컨테이너를 다시 시작하는 동안에는 기본 명령을 바꿀 수 없습니다. 사용자가 기본 명령으로 시작하자마자 컨테이너에 대해 기본 명령을 재정의하는 등 컨테이너를 시작하면 어떤 일이 발생했는지 살펴보겠습니다.

enter image description here

도커는 우리가 여러 컨테이너를 동시에 시작하고 부착하려고 한다고 생각하고 있습니다.

따라서 컨테이너를 올리고 컨테이너를 종료하면 다시 백업을 시작하여 컨테이너가 처음 생성되었을 때 사용된 기본 명령을 다시 실행할 수 있습니다.도커 컨테이너 수명 주기의 일부입니다.

VM/시스템을 다시 시작하면 다음과 같이 표시됩니다.

mysql-tls:5.7       "docker-entrypoint.s…"   18 hours ago   Exited (255) 44 seconds ago

답변:

컨테이너 시작

도커 시작 mysql

또는

도커 시작_docker_name

도커에서 일시 중지된 컨테이너 일시 중지/다시 시작

버전 23

컨테이너 ID 가져오기

docker container ls

출력에서 CONTENTER ID 복사:

CONTAINER ID   IMAGE                        COMMAND             CREATED             STATUS         PORTS                    NAMES
aeb64b607336   dbeaver/cloudbeaver:latest   "./run-server.sh"   About an hour ago   Up 2 minutes   0.0.0.0:8080->8978/tcp   cloudbeaver

컨테이너 일시 중지

docker container pause container_id

일시 중지된 컨테이너 다시 시작

docker container unpause container_id

언급URL : https://stackoverflow.com/questions/39666950/how-restart-a-stopped-docker-container

반응형