이 글은 2024 05월 원티드 프리온보딩 BE 챌린지 프로그램 '도커'편 수업을 회고하며 정리한 글입니다.
이전 포스팅에서는 도커 hub에서 이미지를 가져오는 방법을 작성했다.
이번 포스팅에서는 받은 이미지를 실행시켜서 컨테이너를 만드는 방법인 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 |