Search
moon
sun
🐳

Docker CLI 기본

날짜
2025/04/06
프로젝트
SSAFY
태그
공부
스터디
공개여부

이미지(Image) 다운로드

이미지를 다운로드 받는 방법

docker pull 이미지명:태그명 docker pull nginx:latest
Bash
복사

도커 허브

•
도커 이미지를 저장, 공유, 관리하는 클라우드 기반 저장소
•
공식적인 이미지 제공
•
이미지 버전 관리, 이미지 태그 시스템
docker search 이미지명 docker search ssafy
Bash
복사

이미지(Image) 조회 / 삭제

이미지 조회하기

docker image ls
Bash
복사

이미지 삭제하기

docker image rm 이미지아이디(일부분만 작성해도 ok)
Bash
복사

이미지 강제 삭제하기

주의점 : 정지된 컨테이너의 이미지는 -f 키워드로 삭제할 수 있지만, 실행중이라면 삭제하지 못한다.
docker image -f rm 이미지아이디(일부분만 작성해도 ok)
Bash
복사

이미지 여러개 삭제하기

docker image rm (-f) $(docker images -q)
Bash
복사
•
내부 명령어: $(docker images -q)
◦
로컬에 저장된 모든 도커 이미지 목록을 표시
◦
-q 옵션은 quiet 를 의미하며 이미지의 ID만 출력
◦
$() 리눅스 쉘 문법으로 괄호 안에 인자를 외부 명령어의 매개변수로 전달
•
외부 명령어 docker image rm (-f)
◦
이미지 삭제하기
docker image rm $(docker images nginx -q)
Bash
복사
•
필터링 옵션
◦
특정 조건에 맞는 이미지만 삭제할 수도 있다.
docker image prune -a
Bash
복사
•
전용 명령어
◦
사용하지 않는 모든 이미지를 삭제할 수 있다.
◦
도커에서 prune 명령어는 도커 객체를 삭제하는데 쓰인다.
docker container prune #중지된 모든 컨테이너 제거 docker volume prune #사용되지 않는 모든 볼륨 제거 docker network prune #사용되지 않는 모든 네트워크 제거 docker system prune #사용되지 않는 모든 도커 객체(컨테이너, 이미지, 볼륨, 네트워크) 제거
Bash
복사

컨테이너(Container) 생성 / 실행

컨테이너 생성하기

docker create nginx
Bash
복사

컨테이너 조회하기

docker ps -a
Bash
복사

컨테이너 실행하기

docker start 컨테이너_ID docker start 2ff43
Bash
복사
•
실행되면 status에서 Up 으로 시작하는 상태를 볼 수 있다.

이미지 다운받기 + 컨테이너 생성하기

docker create 다운받지_않았던_이미지명 docker create mysql
Bash
복사

컨테이너 중단

docker stop 컨테이너_ID
Bash
복사

컨테이너 삭제

docker rm 컨테이너_ID
Bash
복사

도커 객체 전부 삭제하기

docker system prune -a
Bash
복사

이미지 다운로드 + 컨테이너 생성 + 컨테이너 실행

docker run 이미지명
Bash
복사

Foreground 포그라운드

내가 실행시킨 프로그램의 내용이 화면에서 실행되고 출력되는 상태
장점 : 실시간으로 어떤 것이 실행되는지 확인할 수 있다.
단점 : 다른 명령어를 입력할 수 없다.

Background 백그라운드

내가 실행시킨 프로그램이 컴퓨터 내부적으로 실행되는 상태
장점 : 다른 작업을 입력할 수 있다.
단점 : 현재 실행중인 상황을 실시간으로 알 수 없다.
docker run -d 이미지명
Bash
복사

컨테이너 이름 붙이기

docker run -d --name 이름 이미지 명
Bash
복사

포트 매핑

docker run -d -p 요청할_포트:컨테이너의_포트 이미지명
Bash
복사

컨테이너(Container) 조회 / 중지 / 삭제

실행중인 컨테이너 조회

docker ps
Bash
복사

모든 컨테이너 조회

docker ps -a
Bash
복사

컨테이너 중지하기

docker stop 컨테이너명 docker kill 컨테이너명
Bash
복사
•
stop : 안전한 중지
•
kill : 강제 중지

컨테이너 삭제하기

docker rm 컨테이너명
Bash
복사
•
이미 중지된 컨테이너만 삭제할 수 있다

컨테이너 모두 삭제하기

docker rm $(docker ps -qa)
Bash
복사
중지되어있는 모든 컨테이너를 삭제할 수 있다.
윈도우 cmd에서는 위 명령어가 작동하지 않아서 아래 명령어로 진행해볼 수 있다.
docker container prune
Bash
복사

실행중인 컨테이너 강제 삭제

docker rm -f 이미지명
Bash
복사

컨테이너(Container) 로그 조회

백그라운드로 실행중인 컨테이너의 로그를 조회해야할 경우 사용한다
docker logs [컨테이너명]
Bash
복사

밑에서 특정 길이만큼만 로그 조회

docker logs --tail [길이] [컨테이너명]
Bash
복사

실시간으로 로그를 조회할 때

docker logs -f [컨테이너명]
Bash
복사
docker logs --tail 0 -f [컨테이너명]
Bash
복사
기존에 생성되어 있었던 로그는 무시하고 지금당장 생성되는 로그부터 볼 수 있다.

실행중인 컨테이너 내부에 접속하기

컨테이너 == 미니 컴퓨터
호스트 컴퓨터 내부에 미니 컴퓨터가 존재하며 컨테이너는 자기만의 공간(os, 메모리, 프로그램)을 가지고 있다.

컨테이너 내부로 들어가기

docker exec -it [컨테이너명] bash # 탈출 exit
Bash
복사
•
-it 옵션 : -i (입력 가능) -t (터미널 사용가능)

[실습] Docker 전체 흐름 다시 느껴보기 (Nginx 설치 및 실행)

docker pull nignx:latest # 이미지 다운로드(생략가능) docker run --name webServer -d -p 80:80 nginx # 컨테이너 생성 + 실행 (이미지 다운가능) docker stop webServer docker image rm nginx
Bash
복사

[실습] Docker로 Redis 실행시켜보기

docker run -d --name redisServer -p 6379:6379 redis docker exec -it 컨테이너명 redis-cli # redis 명령어
Bash
복사