Search
🐳

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
복사