Recent Posts
Recent Comments
250x250
관리 메뉴

JIE0025

[Docker] 도커 Hub / 자주 사용되는 도커 CLI 명령어 본문

Infra/Cloud, Docker, Kubernetes

[Docker] 도커 Hub / 자주 사용되는 도커 CLI 명령어

sdoaolo 2025. 10. 29. 19:39

 

 

앞서서 도커가 왜 필요한지, 도커의 개념이 뭔지 간단하게 살펴보았다. 

https://jie0025.tistory.com/736

 

 

 

✅ Docker Hub

이미지는 어디에서 다운받은것인가? 

 

 

docker hub  사이트 접속해보자. 

https://hub.docker.com/

 

Docker Hub Container Image Library | App Containerization

Software supply chain Secure Your Supply Chain with Docker Hardened Images Use Docker's enterprise-grade base images: secure, stable, and backed by SLAs for Ubuntu, Debian, Java, and more. Regularly scanned and maintained with CVE remediation and long-term

hub.docker.com

 

 

깃허브에 소스코드들을 올리고 자유 자재로 사용이 가능하듯

도커허브에도 기본적인 이미지들,  도커 사용자들이 올린 이미지들이 존재한다. 

 

 

nginx검색를 검색하면  이미지가 나오는데

해당 이미지는 nginx이미지의 latest 버전이다. 

 

 

결국  이미지를 저장하고 다운받을 수 있는 저장소와 같은 느낌이어서 

우리는 이미지를 pull 받아서  사용하면 된다! 

 

 

✅ 자주 사용되는 Docker CLI 명령어 


⏺ 이미지의 버전

image도 버전 관리가 되는데  

tags 가 바로 이미지의 버전이다. 

 

 

 

아래 사진에선  태그명이  stable-alpine3.21-perl 이다. 

 

 

 

태그명을 기반으로 해당 버전의 도커 이미지를 pull 받을 수 있다. 

docker pull nginx:stable-alpine3.21-perl

 

 

 

만약 그냥 nginx 로 pull을 받으면  가장 최신인 latest 버전이 다운받아진다. 

docker pull nginx 

 

 

 

이미지 조회 

도커 이미지의 리스트를 보기

docker image ls

 

여기에서  image가 생성된 날짜 /  TAG  / 이미지 파일의 사이즈 등을 확인 할 수 있다.  

 

 

 이미지 삭제

 

이미지를 삭제할 때엔 rm명령어를 치는데  IMAGE ID 값이 너무 길다. 

>> 아이디의 일부값만 입력해도 삭제되게 만들어놨다. 

docker image rm IMAGE ID  

 

 

 

 

중단 시킨 컨테이너에서 사용중이라  이미지 삭제가 안되는 에러메세지를 볼 수도 있는데

이때엔  force 강제로 삭제하기도 한다.  rm -f

 

 

 

중단된 컨테이너의 이미지는 삭제가 가능하긴 하지만

실행중인 컨테이너의 이미지는 삭제 불가능하다   > 중단시키고 해야한다!

 

 

 

++ 컨테이너가 사용하지 않는 이미지들을 정리하는  명령어

docker image rm $(docker images -q)

docker image rm -f $(docker images -q) 

 

쓰지않는 이미지 삭제하기 귀찮으니까 이런걸 정리해둔다!

 

 

 

 

⏺ 컨테이너 생성 실행하는 명령어

 

 

docker create nginx 

>> 이미지가 없으면 latest를 pull 받고 컨테이너를 생성한다. 

 

 

ps -a 로 프로세스 확인해보자. 

created>> 컨테이너 실행이 안된거다  ( 생성은 되었다.  )

 

 

 

docker start CONTAINER ID (다안쳐도됨) 

>> 생성된 컨테이너를 시작한다. 

 

 

 

 

docker stop CONTAINER_ID
>> 컨테이너 기동을 중지시킨다. 

 

 

아래 2개가 Exited 로 남아있는것 확인 가능하다.

 

docker rm CONTAINER_ID

>> 2개의 stop된 컨테이너를 삭제해봤다. 

 

 

 

docker image ls 

docker image rm  IMAGEID

>> 이미지 리스트를 보고  도커 이미지를 삭제한다. 

 

 

 

만약 이미지가 없는 상태에서 

docker run 명령어를 치면??

 

 

image pull >  container create > run 

한번에 실행까지 다해준다. 

 

 

 

 

⏺ 각각의 명령어가 어디까지 해주는지 정리 

 

결국 컨테이너는 

1. 이미지 다운

2. 컨테이너 생성

3. 컨테이너 실행  

 

1 = docker pull imagename:tag  >> 이미지 다운 

1~2 = docker create imagename:tag  >> 이미지 다운부터 컨테이너 생성까지 

1~3 = docker run imagename:tag  >> 이미지 다운 + 컨테이너 생성  + 컨테이너 실행까지 한번에 처리

 

 

 

위에는 포그라운드 실행이라 로그가 뜬거다. 

백그라운드로 실행시키면  > 내부적으로 실행되니까  다른 명령어도 추가적으로 볼 수 있다!

 

 

 

 

 

 

 

  도커 컨테이너에 이름을 붙히자 .

--name   : 이름을 붙히는 옵션이다. 

docker run -d --name my-web-server nginx

 

 

>> 도커 이미지의 이름이 my-web-server가 되는것을 확인할 수 있다.

 

 



references 

https://www.inflearn.com/course/%EB%B9%84%EC%A0%84%EA%B3%B5%EC%9E%90-docker-%EC%9E%85%EB%AC%B8-%EC%8B%A4%EC%A0%84?srsltid=AfmBOoqaFJtNcKGl1X_YQIoiDgxIRj-WRrKGiV8CewKafYlfdqxNErOE

 

728x90