2023. 6. 16. 00:41ㆍ기술 창고/Docker
이전에는 Docker Image 를 pull 하는 방법을 알아보았습니다.
이번에는 다운받은 Image를 Run 시켜서 Container 가 동작되는 방법을 정리해보겠습니다.
또한 기본적인 동작 명령어들도 같이 정리해보겠습니다.
GUI 환경에서의 Container 실행 / Image 삭제
GUI 환경이라함은 Docker Desktop 프로그램을 설치하고 설치된 프로그램을 실행했을 때 나오는 플랫폼을 이용하여 동작시키는 환경을 말합니다.
간단하게 다운 받은 Image 의 화살표 실행 버튼을 누르면 Container 가 실행되는 것입니다.
실행을 하려고 할 때 선택적으로 옵션 설정을 할 수 있습니다.
Container의 이름만 ws1으로 하여 실행시켜주도록 하겠습니다.
ws1 이라는 이름으로 변경되었고 동시에 실행 중인 상태인 것을 알 수 있습니다.
ws1 Container 에 들어가보면 log나 상태가 어떤지 메모리는 얼마나 사용되고 있는지 확인할 수 있습니다.
실행 중인 Container 를 중지시키려면 네모 버튼을 눌러줍시다.
휴지통 버튼을 누르면 Container를 삭제시킬 수 있습니다.
CLI 환경에서의 Container 실행 및 기본 동작
[ run : 실행 ]
Container를 실행하기 위한 명령어는 docker run입니다.
Ubuntu 서버에 접속하여 docker run httpd 명령어를 입력하면 httpd Container 가 실행되게됩니다.
당연히 httpd 는 이전에 설치한 Image 입니다.
docker ps 명령어로 현재 실행 중인 Container 목록을 확인할 수 있습니다.
앞서 프로그램이 여러 개의 프로세스를 가지는 것처럼 Image 또한 여러 개의 Container 를 가질 수 있습니다.
docker run --name ws3 httpd 명령어를 입력하여 --name 옵션을 주면서 ws3 이름을 가지게 하고 httpd Container를 하나 더 실행시켰습니다.
다시 docker ps 명령어로 확인해보면 ws3 라는 Container 가 추가적으로 실행되고 있는 것을 볼 수 있습니다.
[ stop : 중지 ]
중지 명령어는 docker stop 입니다.
docker stop ws3 명령어를 실행하여 ws3 라는 Container 를 중지시켰습니다.
stop 뒤에는 중지시킬 Container 의 이름을 기입합니다.
docker ps 명령어로 확인해보니 ws3 Container 가 중지되어 실행중인 목록에서 없는 것을 확인할 수 있습니다.
진짜로 중지되었는지 확인하기 위해 docker ps -a 명령어를 실행하여 확인해보았습니다.
기존의 실행중인 Container 목록만을 보여주는 docker ps 와는 다르게 -a 옵션이 추가된 것을 볼 수 있고 실행 중인 Container 와 중지되어있는 Container 까지 모두 보여주는 것을 볼 수 있습니다.
Status 부분에 Exited 라고 되어있는 것이 중지 중인 상태임을 알려주는 것입니다.
Up은 현재 실행 중인 Container 를 말합니다.
[ start : 시작 ]
중지 중인 Container 를 다시 시작시키는 명령어는 docker start 입니다.
docker start ws3 명령어를 실행하면 이전에 stop 으로 중지시켰던 ws3 Container를 다시 실행시켜주게 됩니다.
start 뒤에 실행시킬 Container 이름을 기입합니다.
[ logs : 로그 확인 ]
Container 에 대한 log 를 확인할 때 docker logs 명령어를 사용합니다.
docker logs ws3 를 입력하면 ws3 Container 에 관한 log들을 확인할 수 있습니다.
logs 뒤에 log를 확인할 Container 명을 기입합니다.
docker logs 명령어와 ws3 (Container 명) 사이에 -f 옵션을 추가하면 실시간으로 log를 확인할 수 있습니다.
[ rm : 삭제 ]
Container 를 삭제할 때 docker rm 명령어를 사용합니다.
docker rm ws3 명령어를 사용하여 ws3 Container를 삭제할 수 있습니다.
하지만 어째서인지 에러가 발생했습니다.
그 이유는 rm 으로 삭제시킬 경우에 반드시 해당 Container 가 중지된 상태여야 삭제할 수 있기 때문입니다.
docker stop ws3 명령어로 ws3 Container 를 중지하고 docker rm ws3 명령어로 삭제시킨 뒤, docker ps -a 명령어로 확인했을 때 정상적으로 삭제된 것을 확인할 수 있습니다.
만약 중지시키지 않고 그냥 바로 삭제시켜버리고 싶을 땐 -f 옵션을 rm 과 Container 명 사이에 추가하여 실행하면 바로 삭제 가능합니다.
[ rmi : image 삭제 ]
Image 를 삭제하려면 docker rmi 명령어를 사용합니다.
docker rmi hello-world 명령어를 입력하여 hello-world image 를 삭제시켰습니다.
삭제시키기 이전에 docker ps -a 명령어로 해당 image가 실행된 Container 가 중지 상태든 실행 상태든 목록에 존재한다면 rmi 명령어를 실행했을 때 삭제되지 않습니다.
따라서 목록에 있는 Container 를 docker rm {Container 아이디} 명령어로 삭제시키고 rmi 명령어를 실행해야 image 가 정상적으로 삭제됩니다.
이렇게 해서 Docker 의 기본적인 동작 명령어를 정리해보았습니다.
'기술 창고 > Docker' 카테고리의 다른 글
[Docker] Docker 네트워크 운영 방법 (0) | 2023.06.16 |
---|---|
[Docker] Docker 네트워크 (0) | 2023.06.16 |
[Docker] Image pull (0) | 2023.06.15 |
[Docker] Docker 설치 (0) | 2023.06.15 |
[Docker] Docker 란? (0) | 2023.06.15 |