1. push
만든 도커 이미지를 docker hub에 옮겨 놓을때 사용됩니다.
docker hub에 옮겨놓는 방법
1. docker login
2. docker push [만든 이미지]
2. pull
docker pull [image]
# ex) docker pull nginx
docker hub에서 pull [image] 하게 되면 image 가 다운로드 됩니다.
3. run
docker run -d -p [host port]:[container port] --name [container name] [image]
# ex) docker run -d -p 80:80 --name nx nginx
run을 하면 container 생성 + 실행이 동시에 됩니다
* 여기서 -d 는 detached 모드로 컨테이너 실행한 후 터미널이 즉시 반환되어 다른 명령어를 바로 입력할 수 있게 됩니다
* -p publish
* run은 할때마다 container 가 계속 생성되므로 주의!
* container 를 생성해야 할때만 run 사용, 아니면 목적에 따라 create, start 따로 사용해야합니다
4.create
docker create -p 80:80 --name [container 이름] [image]
# ex) docker create -p 80:80 --name nx nginx
위의 예시대로 입력하면 nginx 이미지로 nx 이름을 가진 컨테이너가 생성이 되며 해당 컨테이너의 포트는 80 입니다.
생성만 되고 실행은 되지않은상태로 exited(stop) 상태로 됩니다. (실행하기 위해서는 start 명령 추가로 필요)
5.start
docker start [container name]
# ex) docker start nx
4.create 에서 생성된 컨테이너를 start 명령어로 실행해 주면 exited(stop) -> running 상태로 바뀌게 됩니다.
* start 되면 위의 라이프사이클 그림과 같이 실행된 컨테이너가 메모리에 올라가게 됩니다
6.stop
docker stop [container name | image]
# ex) docker stop nx
*stop 되면 위의 라이프사이클 그림과 같이 실행되고 있던 컨테이너가 메모리에서 내려옵니다
7. rm, rmi (running 중엔 삭제 못함) container stop, image는 stop or docker rm nx --force
docker rm [container name]
docker rmi [image]
# ex) docker rm nx
# ex) docker rmi nginx
running 상태인 컨테이너, 이미지는 터미널에서 삭제할 경우 삭제가 되지 않습니다 (docker desktop은 알림팝업이 뜨고 삭제가 가능)
삭제 해야할 경우 아래와 같이 하면 됩니다!
# 삭제 대상이 container 인 경우
docker stop [container name]
docker rm [container name]
# ex) docker stop nx
# docker rm nx
# 삭제 대상이 image 인 경우
docker rmi [image] --force
# ex) docker rmi nginx --force
*** container 가 실행중인 image를 --force로 삭제한 경우 "dangling" 상태 이미지로 되요
Docker에서 "dangling" 이미지는 더 이상 사용되지 않는 이미지 또는 중간 이미지 레이어를 의미합니다. 이 이미지는 컨테이너를 생성할 때 사용되었지만, 현재는 어떤 컨테이너에서도 참조되지 않는 상태입니다. 이러한 이미지는 디스크 공간을 차지할 수 있으므로, 정리하는 것이 좋습니다.
** dangling 이미지 삭제하는 방법
# 1. Dangling 이미지 확인
docker images -f "dangling=true"
# 2. Dangling 이미지 삭제
docker image prune
# 삭제할 것인지 확인하는 메세지 'y' 입력
WARNING! This will remove all dangling images.
Are you sure you want to continue? [y/N] y
# 만약 확인 메세지 없이 바로 삭제하려면 '-f' 옵션 사용
docker image prune -f
출처: https://www.youtube.com/watch?v=i-gP10UvrC8&list=PLnIaYcDMsSczk-byS2iCDmQCfVU_KHWDk&index=7
'내직업은 IT종사자 > 기타' 카테고리의 다른 글
Yarn과 npm 차이, Yarn으로 모듈이 설치된 프로젝트를 npm으로 설치한다면? (0) | 2024.08.07 |
---|---|
업무 효율 향상 도구 Raycast 사용법 (0) | 2024.07.09 |
m1맥북 brew install 오류(Cannot install under Rosetta 2 in ARM default prefix (/opt/homebrew)!) (0) | 2024.01.12 |
SPA 클라이언트 NICE API 본인인증 구현하는 방법 (4) | 2023.07.30 |
쿠버네티스(kubernetes)와 도커(docker)의 개념 쉽게 정리 (0) | 2023.06.30 |