xtring.dev

Docker 입문 - container run(feat. 생활코딩) 본문

Infra./Docker

Docker 입문 - container run(feat. 생활코딩)

xtring 2022. 1. 2. 08:50
반응형
 
docker
 
 

생활코딩 docker 입문수업 - 컨테이너 run

 

  이전 아티클에서는 Docker hub에서 이미지를 가져오는 방법을 알아보았습니다. 이제부터는 이미지를 실행시키는 container run에 대해서 알아봅시다.

 

Docker desktop에서 이미지 실행하기

  먼저, 도커 데스크탑에서 이미지 탭에서 사용하고자하는 이미지에 마우스 오버하게 되면 Run이라는 버튼을 확인할 수 있습니다. 이것을 클릭합니다.

 

  그리고 대화상자가 나옵니다. 여기서 바로 Run 할 수도 있지만 이미지를 컨테이너로 만든 여러개의 컨테이너가 생길 때 관리를 더 잘하기 위해서 이름을 지정합니다. 우리는 ws1이라는 이름으로 사용해보겠습니다. 그리고 Run을 클릭 합니다.
 
  그리고 이제 ws1이라는 컨테이너가 실행된 것을 확인할 수 있고 컨테이너 안의 프로세스로 현재 버닝되기 시작했습니다.
 

 
  해당 컨테이너를 클릭하면 컨테이너의 로그(log), 컨테이너의 자세한 정보(inspect), 통계자료(stats)를 확인할 수 있습니다. 

  그리고 실행되고 있는 컨테이너는 컴퓨터의 자원을 사용하고 있습니다.

  사용하지 않는 경우엔 stop를 통해서 해당 컨테이너를 내려줍니다. 만약 다시 실행하고자 한다면 start 버튼을 통해 실행합니다. 그리고 컨테이너가 필요없다면 delete 버튼을 통해서 컨테이너를 제거할 수도 있습니다. 그렇다면 이제 이 작업을 터미널에서 실행해봅시다.

 

 

 

 

터미널에서 Docker Image 사용하기

Docker run

  도커 docs에서는 도커 이미지를 실행 시키는 방법을 아래와 같이 설명합니다.
$ docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

 

  IMAGES에는 실행할 이미지의 이름을 넣어주고, 앞에는 OPTION 뒤에는 COMMAND를 적어줍니다. COMMAND는 그 컨테이너 안에서 실행하고 싶은 명령이 있다면 그 명령을 입력하도록 되어 있습니다.

 

  명령어를 실행해보면 위 이미지와 같은 결과를 볼 수 있습니다.

 
  컨테이너의 목록을 보고 싶을 때는 ps라는 명령어를 사용합니다.
$ docker ps

 
  컨테이너를 만들었습니다. 앞서 말한 것과 같이 하나의 이미지는 여러 개의 컨테이너를 만들 수 있습니다. 명령어를 통해서 컨테이너를 하나 더 생성합니다.

 

위에서 컨테이너를 생성하는 것과 같이 docker run를 통해서 컨테이너를 생성합니다. 그런데 이번에는 —name이라는 옵션과 함께 이름을 ws2라고 지어보겠습니다.
$ docker run --name ws2 httpd

 

다시 docker ps 명령어를 통해서 두개의 컨테이너가 실행되는 것을 확인할 수 있습니다.

 

Docker stop

  docker 컨테이너를 중지시키는 명령어는 아래와 같습니다.
$ docker stop ws2


# or


$ docker stop [CONTAINER ID]

 

  ps 명령어를 통해 해당 컨테이너가 실행 종료된 것을 확인할 수 있습니다. 그리고 docker ps -a 명령어를 사용하면 모든 컨테이너의 현재 상태를 확인할 수 있습니다.
$ docker ps -a

 

 

Docker start

  정지한 컨테이너를 재실행하고 싶을 때는 run 명령어가 아닌 start 명령어를 사용합니다.
$ docker start ws2

 

  그런데 아까 run 했을 때와는 다르게 바로 로그가 출력되지 않고 있습니다. 이때 사용할 수 있는 명령어는 logs입니다.
$ docker logs ws2

 

  만약, 계속해서 실시간으로 로그를 확인하고 싶다면 -f 옵션을 함께 사용합니다.
$ docker logs -f ws2

 

 

 

Docker rm

  도커 컨테이너를 삭제하는 방법으로는 rm 명령어를 사용합니다.
$ docker rm [OPTIONS] CONTAINER [CONTAINER...]
 
  그런데 만약 현재 실행중인 컨테이너는 바로 제거할 수 없으며 컨테이너를 종료해줘야 합니다.

 
  만약, 종료와 동시에 삭제하고 싶다면 —force 명령어를 사용합니다.
$ docker rm --force [CONTAINER NAME]

 

 

 

image 삭제하기

  도커 데스크톱에서 image를 삭제하는 방법은 해당 이미지의 remove를 클릭하면 됩니다.

 

  터미널에서는 rmi 명령어를 사용합니다.
$ docker rmi [OPTIONS] IMAGE [IMAGE...]
 
  우리는 이번에 설치한 httpd를 제거해봅니다.
$ docker rmi httpd
  위와 같이 이미지가 제거되는 것을 확인할 수 있습니다.

 

  여기까지 도커의 이미지를 다운로드하고 컨테이너를 컨트롤하는 가장 기본적인 명령에 대해서 알아보았습니다.
 
 
 
 
다음 아티클 바로가기
반응형
Comments