1. 도커 실행
docker run [Image]
docker를 실행하는 호스트에 이미지가 없으면 docker hub에서 이미지를 받아서(pull) 실행한다.
그냥 docker run을 실행하면 이미지를 전부 받기까지 아무것도 못하고 기다려야한다.
이때 사용하는 옵션이 -d 옵션이다.
해당 옵션을 사용하면 컨테이너 아이디가 바로 리턴되고 실제 작업은 백그라운드에서 수행된다.
2. 실행중인 목록 조회
docker ps
실행중인 도커 컨테이너 조회
-a 옵션을 추가하면 종료/실행중이지 않는 녀석까지도 리스트업 해준다.
실행중인 컨테이너에 접근하고 싶으면 attach 명령어 사용
3. 컨테이너 중지
docker stop [Container ID/Name]
컨테이너 중지, 여러개를 중지하고 싶으면 뒤에 띄어쓰기로 구별하면된다.
-t 옵션을 통해 프로세스를 종료시키는데 걸리는 시간을 설정할 수 있다.
docker stop -t 60 efa
3-1. docker stop vs docker kill
docker stop을 하게 되면, 컨테이너는 SIGTERM 이라는 신호를 받게되고 현재 실행중인 프로세스를 진행하다 작업이 완료되면 SIGKILL 을 통해 해당 컨테이너를 중지시킨다. 이때 날라가는 SIGTERM 신호는 도중에 상태를 변경할 수 있다.
반면에 비슷한 작업을 실행하는 docker kill은 기다리는것 없이 바로 SIGKILL 을 날려서 컨테이너를 중지시킨다.
4. 컨테이너 삭제
docker rm [Container ID/Name]
컨테이너 삭제, 컨테이너를 삭제하고 싶다면 해당 컨테이너는 중지된 상태여야한다.
물론 -f 옵션을 통해서 강제 삭제를 시킬 수 있다.
만약 정지중인 모든 컨테이너를 삭제하고 싶다면
docker container prune
5. 이미지 조회
docker images
6. 이미지 삭제
docker rmi [Image]
7. 이미지 다운
docker pull [Image]
docker hub에서 이미지 다운로드. 이때 run은 실행되지 않는다.
기본적으로 latest 태그를 가져오나 특정 태그를 가져오고 싶으면 아래처럼 사용하면된다
docker pull [Image]:[tag]
8. 실행중인 컨테이너에 명령어 실행
docker exec -it [Container ID/Name] /bin/bash
특정 컨테이너 환경에서 다른 프로세스 명령어 실행
9. 도커 버전 확인
docker version
10. 실행중인 컨테이너의 정보 조회
docker insepct [Container ID/Name]
컨테이너 내부 IP 알아내기 위해서는 위의 명령어를 입력하고
NetworkSettings > Networks > bridge > IPAddress를 확인하면 된다.
참고로 맥에서는 포트포워딩 없이 컨테이너 ip에 접근할 수 없다. 맥에서도 되게 경량화된 VM위에 도커가 실행되기 때문에 직접적인 연결은 할수 없다. 그래서 접근하려면 포트포워딩이 답이다.
References
'[Docker]' 카테고리의 다른 글
[Docker] CMD vs ENTRYPOINT (2) | 2022.09.12 |
---|---|
[Docker] ADD vs COPY (0) | 2022.09.11 |
[Docker] 도커 이미지 (2) | 2022.09.11 |
[Docker] 잊을것 같으니 메모하자 - 도커 명령어 옵션 (0) | 2022.09.09 |