| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- 백준알고리즘
- 코딩교육봉사
- docker
- 1과목
- 백준 알고리즘
- 소프티어
- 프로그래머스
- programmers
- MYSQL
- kotlin
- SW봉사
- softeer
- BFS
- 공부일지
- python
- CJ UNIT
- 도커
- 파이썬
- 데이터베이스
- 정보처리산업기사
- C++
- SQL
- 자바
- java
- 코틀린
- 코딩봉사
- 백준
- 회고
- 알고리즘
- 문제풀이
- Today
- Total
JIE0025
[Docker] 도커 Hub / 자주 사용되는 도커 CLI 명령어 본문
앞서서 도커가 왜 필요한지, 도커의 개념이 뭔지 간단하게 살펴보았다.
https://jie0025.tistory.com/736
✅ Docker Hub
이미지는 어디에서 다운받은것인가?
docker hub 사이트 접속해보자.
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가 되는것을 확인할 수 있다.

'Infra > Cloud, Docker, Kubernetes' 카테고리의 다른 글
| [Docker] 도커 컴포즈의 정의와 yaml파일 구성요소 (0) | 2025.10.31 |
|---|---|
| [Docker] 외부에서 접속시 컨테이너 네트워크로 포트 연결 (0) | 2025.10.30 |
| [Docker] 도커의 기본 개념과 전체 흐름 이해하기 (0) | 2025.10.28 |
| [Docker] 컨테이너 만들고, 내부로 설치파일 옮기기 (0) | 2025.03.15 |
| [Docker] 도커 환경의 이해 - 도커허브, 레지스트리 (0) | 2025.01.29 |