이제 설치한 image를 실행시켜서 컨테이너를 만들어보자.
컨테이너 실행은 Docker Desktop과 CLI를 통해서 둘 다 가능하다. 우선은 Docker Desktop을 통해 하는 방법을 먼저 알아보자.
윈도우 오른쪽 하단에서 실행 중인 프로그램을 확인할 수 있다. 그 중에서 고래모양 아이콘을 더블클릭하거나 아이콘을 마우스 오른쪽 클릭 후 Dashboard를 선택하여 Docker Desktop을 실행시킨다.
Docker Desktop이 실행되면 images 탭을 클릭하여 설치된 image 목록을 확인할 수 있다.
그 중 실행시키고 싶은 image의 Action 항목 아래 '▶' 버튼을 클릭하여 실행시킨다.
새로운 컨테이너를 만들기 전에 옵션을 설정할 수 있다. 우선 여기서는 Container의 이름만 설정해보자. 웹서버1이라는 의미로 ws1이라는 이름을 넣어주었다.
컨테이너가 생성되었다.
Logs 탭에서는 해당 컨테이너가 실행하면서 출력되는 로그를 확인할 수 있다.
Stats 탭에서는 컨테이너의 통계자료를 확인 가능하다.
오른쪽 상단 메뉴에서는 컨테이너를 멈추거나, Restart하거나 삭제하는 기능의 아이콘들을 확인할 수 있다.
Docker Desktop으로 컨테이너를 실행하는 방법에 대해 알아보았으니 이제 명령어를 통해 해당 작업을 하는 방법을 알아보자.
우선 공식문서에서 run하는 명령어에 대한 설명을 읽어보자.
가장 기본 명령어는 "docker run 이미지이름" 이다.
이를 커맨드 창에서 실행해보자.
"docker run httpd" 명령어를 실행하면 httpd 컨테이너가 만들어지고 이 컨테이너가 실행된다.
컨테이너의 이름을 설정해주고 싶으면 --name 옵션을 통해 가능하다. 예를 들어 "docker run --name ws2 httpd" 명령어는 컨테이너에 ws2라는 이름을 붙이는 것이다.
실행 중인 컨테이너에 대한 정보는 "docker ps" 명령어로 확인할 수 있다.
실행 중인 컨테이너를 끄고 싶으면 "docker stop 컨테이너이름"을 실행해준다. 이렇게 실행을 멈춘 컨테이너는 삭제된 것은 아니기 때문에 "docker ps -a" 명령어를 통해서 확인 가능하다.
중지된 컨테이너를 다시 실행하고 싶으면 "docker start 컨테이너이름"으로 실행할 수 있다. 그런데 이렇게 다시 실행한 컨테이너는 로그가 바로 출력되지 않는다. 이럴 때는 "docker logs 컨테이너이름"으로 로그를 출력할 수 있고, 실시간으로 출력되는 로그를 계속 확인하고 싶다면 "docker logs -f 컨테이너이름"과 같이 -f 옵션을 넣어주면 된다.
컨테이너를 완전히 삭제하고 싶으면 실행 중지 시킨 후 "docker rm 컨테이너이름"을 실행하면 된다. 실행 중인 컨테이너를 바로 삭제하고 싶으면 "docker rm --force 컨테이너"를 실행해준다.
만약 이미지를 삭제하고 싶다면 "docker rmi 이미지이름" 명령어를 통해 가능하다.