이 글은 2024 05월 원티드 프리온보딩 BE 챌린지 프로그램 '도커'편 수업을 회고하며 정리한 글입니다.
이전 포스팅에서는 도커 hub에서 이미지를 가져오는 방법을 작성했다.
[Docker] 도커 image pull 받기 / 받은 것 확인하기
[기본 용어] docker hub 우리가 어떤 프로그램이 필요할 때 app store에서 찾듯, docker hub라고 불리는 레지스트리에서 필요한 소프트웨어를 찾을 수 있다. image docker hub에서 찾아낸 것을 로컬 컴퓨터에
developer-jinnie.tistory.com
이번 포스팅에서는 받은 이미지를 실행시켜서 컨테이너를 만드는 방법인 run을 기술하겠다.
docker run하기
- docker run : 받은 이미지를 실행시키고 컨테이너를 만드는 명령어
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
docker run 명령어 뒤에 실행시키고 싶은 이미지의 이름을 적는다.
이미지의 이름 앞에는 옵션을 적는다. (생략 가능)
이미지의 이름 뒤에는 컨테이너의 안에서 실행하고 싶은 명령어가 있다면 그걸 입력한다. (생략 가능)
- docker ps : 만든 컨테이너 확인
- 하나의 이미지는 여러 개의 컨테이너를 만들 수 있음
docker stop하기
- docker stop : 실행 중인 컨테이너 끄기
docker stop [OPTIONS] CONTAINER [CONTAINER...]
- docker stop 명령어를 통해 컨테이너를 껐으면, 완전히 삭제 된걸까?
- 답은 아니다.
- docker ps -a : 모든 실행중인 컨테이너 확인하기
docker ps -a 명령어를 통해 확인해보니 아직 ws2가 나타나는 걸 볼 수 있다.
즉, stop 했다고 컨테이너가 아예 삭제된 것은 아니라는 말 ! ps 옵션으로는 볼 수 없고 ps -a 를 통해서만 볼 수 있다.
그럼 중지시켰던 컨테이너를 다시 켜보자.
docker start하기
docker start [OPTIONS] CONTAINER [CONTAINER...]
이때 start 시켜도 로그가 출력되지 않는다. 이게 답답하다면 로그를 볼 수 있는 명령어가 있다 !
docker log 보기
docker logs [OPTIONS] CONTAINER
- docker logs -f : 실시간 로그 보기
그렇다면 컨테이너를 완전히 삭제 해보자!
docker remove(삭제)
docker rm [OPTIONS] CONTAINER [CONTAINER...]
- 주의: 도커 중지 전에 삭제 명령어를 넣으면 에러 난다! > 도커 중지 후에 삭제 시켜주자.
- 참고: 하지만 현재 실행 중인 컨테이너를 중지없이 한 방에 삭제시킬 수 있긴 하다 !
docker rm --force CONTAINER
마지막으로 이미지를 삭제해보자!
docker image remove(이미지 삭제)
docker rmi [OPTIONS] IMAGE [IMAGE...]
- 주의 : 이미지 삭제를 하려고 했더니 에러가 났다. 찾아보니 컨테이너 이미지는 하나인데 실제로 수행되는 컨테이너는 여러개 있어서 나는 에러였다.
Error response from daemon: conflict: unable to remove repository reference "httpd" (must force) - container acfd983c16ce is using its referenced image a6ca7b52a415
- 해결 : docker ps -a 명령어로 현재 로드된 컨테이너를 살펴본 후에, 해당 컨테이너를 삭제한 후 이미지를 삭제할 수 있었다.
정리
- 도커 실행하기
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
- 현재 컨테이너 확인
docker ps
- 실행 중인 컨테이너 끄기
docker stop [OPTIONS] CONTAINER [CONTAINER...]
- 컨테이너 시작하기
docker start [OPTIONS] CONTAINER [CONTAINER...]
- 로그 보기
docker logs [OPTIONS] CONTAINER
- 컨테이너 삭제하기
docker rm [OPTIONS] CONTAINER [CONTAINER...]
- 이미지 삭제하기
docker rmi [OPTIONS] IMAGE [IMAGE...]
'Containerization > Docker' 카테고리의 다른 글
[Docker] 도커 컨테이너 명령어 실행 (pwd, exec, -it, /bin/sh) (0) | 2024.05.13 |
---|---|
[Docker] 도커 포트 포워딩하기 (웹서비스 사용하기) (0) | 2024.05.13 |
[Docker] 도커 image pull 받기 / 받은 것 확인하기 (0) | 2024.05.11 |
[Docker] Windows 도커 설치 / 설치 확인 (1) | 2024.05.09 |
[Docker/개념] 도커, 도커 컨테이너란 무엇이고 왜 쓸까 (1) | 2024.05.09 |