SW/DevOps

DevOps : Docker 실행, 목록 확인, 시작, 정지, 재시작, 삭제 로그 명령어

얇은생각 2019. 12. 1. 07:30
반응형

Docker 기본 명령어

 

도커 컨테이너의 기본 명령어들입니다. 컨테이너를 실행하는 Run, 컨테이너를 시작하는 Start, 재시작하는 Restart,
컨테이너를 정지하는 Stop 그리고 컨테이너를 삭제하는 Rm 명령 등이 있습니다.

도커 컨테이너의 실행은 docker container run 명령을 사용합니다. 컨테이너를 대화식으로 실행하느냐 아니면 백그라운드로 실행하느냐에 따라 표준 입력, 출력을 연결하는 옵션을 사용하게 됩니다. 

 

 

컨테이너 목록 확인

docker container ls 명령을 통해 도커 컨테이너의 가동 상태를 확인할 수 있습니다. -a 옵션을 사용해서 실행 정지 중인 것을 포함하여 모든 컨테이너의 상태를 확인 할 수 있습니다. 결과는 컨테이너 아이디, 이미지, 컨테이너에서 실행되고 있는 명령, 컨테이너 생성 후 경과시간, 컨테이너가 실행 중인지 상태, 할당된 포트와 컨테이너 이름 등이 표시됩니다.

docker container ls 명령을 실행합니다. 현재는 목록에 아무 내용이 나오지 않습니다. -a 옵션을 붙여서 다시 한 번 실행해 보면 방금 전 실행했던 컨테이너가 표시됩니다. 실행은 종료된 상태인데 컨테이너는 남아있습니다. 만약에 다시 동일한 명령으로 컨테이너를 실행한다면 오류가 발생합니다. 먼저 컨테이너를 삭제해야 한다고 합니다. --rm 옵션을 사용하면 컨테이너 실행이 종료되면 자동으로 컨테이너가 삭제되도록 할 수 있습니다. 이름을 "Runtest2"로 바꾼 다음에 --rm 옵션으로 실행해보겠습니다. 목록에서 확인해보면 이번에는 실행한 컨테이너가 남아있지 않은 것을 확인할 수 있습니다.

 

 

컨테이너 정지

Docker Container Stop은 실행 중인 컨테이너를 정지하는 명령입니다. -t 옵션으로 정지 시간을 지정할 수 있습니다.
백그라운드에서 작동되는 컨테이너를 먼저 실행한 다음에 정지 명령을 사용해 보겠습니다. 백그라운드 실행옵션은 -d 사용하면 됩니다. Centos를 Localhost를 Ping하는 명령을 실행합니다.

대화식으로 명령을 실행하는 것이 아니라 백그라운드로 실행하기 때문에 터미널에 결과가 표시되지 않습니다. 컨테이너 목록에서는 현재 작동 중으로 나오고 있습니다. docker container logs 명령으로 로그를 확인 해보겠습니다. 백그라운드에서 작동이 되며 Ping 결과가 표시되는 것을 확인할 수 있습니다.

docker container stop을 통해서 명령을 내리면 정지가 됩니다. 정지를 시킨 다음에 컨테이너 목록을 확인해보겠습니다. 정지가 되었고 컨테이너 목록을 확인해보면, 현재는 가동 상태가 아닌 것으로 나옵니다.

 

컨테이너 시작

docker container start는 정지 중인 컨테이너를 시작하는 명령입니다. 아까 정지했던 컨테이너를 시작시켜 보겠습니다.
먼저 로그를 확인해보겠습니다. 정지된 이후의 로그는 쌓이지 않는 것을 알 수 있습니다. start 명령어로 컨테이너를 시작시키고 컨테이너의 상태를 확인해보면 지금은 상태가 가동 중인 것을 확인할 수 있습니다. 다시 한 번 로그를 확인해보면 과거 시간에 중단된 이후에 다시 가동되어 로그가 쌓인 것을 확인할 수 있습니다.

 

컨테이너 삭제

컨테이너 삭제는 정지 중인 컨테이너 프로세스를 삭제하는 명령입니다. 컨테이너를 삭제하기 위해서는 컨테이너를 먼저 정지해야 합니다. 만약에 정지되지 않은 상태에서 강제로 삭제하려면 -f 옵션을 사용합니다. 

--rm 명령으로 컨테이너를 삭제하고 목록을 보면 사라진 것을 알 수 있습니다. 그렇다면 만약에 현재 가동 중인 컨테이너를 삭제하려고 하면 어떻게 될까요? 가동 중인 컨테이너는 삭제할 수 없다는 에러 메시지가 뜹니다. 강제로 삭제시키는 -f 옵션으로 다시 삭제하면 제거가 된 것을 확인할 수 있습니다.

반응형