본문 바로가기

[Docker]

[Docker] 잊을것 같으니 메모하자 - 도커 명령어

반응형

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

728x90

'[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