[Infra][Docker] 도커 기본 명령어 모음🖥️ Dev/Infra2025. 7. 20. 16:47
Table of Contents

이 글은 도커 기본 명령어에 대해서 정리한 글입니다.
📚 도커 기본 개념 정리
📌 도커 기본 용어 정리
- 이미지 (Image)
➡️ 실행 가능한 컨테이너를 만들기 위해 필요한 파일 시스템 스냅샷과 설정이 포함된 패키지- 로컬에 저장된 이미지는
/var/lib/docker/image/...디렉터리에 계층(layer)별로 보관된다. - 이미지는
Dockerfile을 통해 만들거나, 레지스트리로부터pull할 수 있다.
- 로컬에 저장된 이미지는
- 컨테이너 (Container)
➡️ 이미지를 기반으로 독립된 프로세스 환경을 제공하는 실행 단위- 호스트의 리눅스 커널을 공유하되, 파일 시스템, 네트워크, 프로세스 등이 격리된다.
- 실행 중 변경사항은 쓰기 가능한 레이어에 기록되며, 컨테이너 삭제 시 함께 사라진다.
- 볼륨 (Volume)
➡️ 컨테이너 간 또는 호스트 간 데이터를 지속적으로 저장, 공유하기 위한 저장소- 호스트 경로 매핑(bind mount) 외에도, 관리형 볼륨을 생성하여 사용한다.
- 네트워크 (Network)
➡️ 컨테이너 간 통신을 위한 가상 네트워크- 기본적으로
bridge,host,none네트워크가 제공되며, 필요에 따라 커스텀 네트워크를 생성할 수 있다.
- 기본적으로
📌 도커 이미지와 컨테이너의 관계
- 이미지는 변경 불가능(immutable)한 상태이며, 컨테이너는 이미지에서 파생되어 실행되는 프로세스이다.
- 하나의 이미지를 바탕으로 여러 개의 컨테이너를 만들 수 있다.
- 컨테이너에서 변경된 내용(ex. 파일 생성 등)은 기본적으로 이미지에 반영되지 않으며, 컨테이너가 삭제되면 변경사항도 사라진다. ➡️ 영구 저장이 필요하면 볼륨(volume) 사용
📖 이미지(Image) 관련 명령어
➡️ 도커 이미지는 컨테이너 실행에 필요한 파일과 설정을 포함하는 일종의 템플릿(패키지)이다. 이미지를 통해 여러 개의 동일한 컨테이너를 쉽게 만들 수 있다.
docker image pull <이미지[:태그]>- Docker Hub(공식 저장소) 또는 지정한 레지스트리에서 도커 이미지를 다운로드한다.
- ex)
$ docker image pull ubuntu:latest
- Docker Hub(공식 저장소) 또는 지정한 레지스트리에서 도커 이미지를 다운로드한다.
docker image ls- 현재 호스트(로컬)에 저장된 이미지 목록을 확인한다.
- 이미지 ID, 저장 용량, 생성일 등 도커 이미지의 정보를 확인할 수 있다.
docker images로도 사용이 가능하다.
- 현재 호스트(로컬)에 저장된 이미지 목록을 확인한다.
docker image rmi <이미지[:태그]>ordocker image rmi <이미지ID>- 로컬 도커 이미지를 삭제하는 명령어이다.
- 여러 개의 이미지를 한 번에 삭제할 수 있다.
- ex)
$ docker image rmi ubuntu:latest
📌 이미지 관련 명령어 참고사항
- 이미지 이름 뒤에
:태그를 붙이지 않으면 기본적으로latest태그가 사용된다. - 이미지를 삭제할 때 해당 이미지로 실행 중인 컨테이너가 있으면 삭제되지 않는다. 컨테이너를 먼저 삭제한 후 이미지를 삭제해야 한다.
📖 도커 컨테이너(Container) 관련 명령어
➡️ 도커 컨테이너는 도커 이미지를 기반으로 실행되는 독립적인 애플리케이션 실행 환경이다. 호스트 OS의 커널을 공유하지만, 네트워크, 파일 시스템 등은 격리되어 실행된다.
docker container run [옵션] <이미지[:태그]>- 이미지를 기반으로 새 컨테이너를 생성 및 실행한다.
- 종종
docker run <컨테이너>으로도 사용한다. - ex)
$ docker run --name my-ubuntu -d ubuntu--name: 컨테이너 이름 지정-d: 백그라운드(detached) 실행-it: 터미널 인터랙티브 모드 실행
docker container ps- 실행 중인 컨테이너 목록을 확인한다.
- 중지된 컨테이너도 보고 싶으면
-a옵션을 사용한다. - ex)
$ docker container -a ps
docker container stop <컨테이너>ordocker container stop <컨테이너ID>- 실행 중인 컨테이너를 중지한다.
docker container rm <컨테이너>ordocker container rm <컨테이너ID>- 중지된 컨테이너를 삭제한다.
- 여러 개의 컨테이너를 한 번에 삭제할 수 있다.
- ex)
$ docker container rm my-ubuntu
docker exec -it <컨테이너> <명령어>ordocker exec -it <컨테이너ID> <명령어>- 실행 중인 컨테이너 내부에서 명령어를 실행할 수 있다.
- ex)
$ docker exec -it my-ubuntu /bin/bash
docker logs <컨테이너> or docker logs <컨테이너ID>- 컨테이너에서 출력한 로그를 확인한다.
📖 도커 네트워크(Network) 관련 명령어
➡️ 도커 네트워크는 도커 컨테이너 간 또는 호스트와의 통신을 위해 구성하는 가상 네트워크이다.
docker network ls- 생성되어 있는 네트워크 목록을 확인한다.
docker network create <네트워크>- 새로운 사용자 정의 네트워크를 생성한다.
- 기본적으로
bridge,host,none네트워크가 존재한다.
docker network connect <네트워크> <컨테이너>- 컨테이너를 특정 네트워크에 연결한다.
docker network inspect <네트워크>- 네트워크의 상세 정보를 확인할 수 있다.
'🖥️ Dev > Infra' 카테고리의 다른 글
| [Infra][Docker][Error] docker: Error response from daemon: unauthorized (0) | 2026.02.08 |
|---|---|
| [Infra][Docker] 도커 네트워크로 백엔드와 DB 연동해서 배포하기 (0) | 2026.02.04 |
| [Infra][Server] 포트포워딩 없이 외부에서 내 서버로! 연결 확인 및 첫 웹 서버 배포 (with. Tailscale) (0) | 2026.01.26 |
| [Infra][SSH] 이중 NAT 환경에서 포트포워딩 없이 외부에서 라즈베리파이 접속하기 (with. Tailscale) (0) | 2026.01.23 |
| [Infra][Docker] 도커 이미지 이해하기 (1) | 2025.07.20 |
@청월누리 :: DevKuk 개발 블로그
since 2025.01.27. ~ 개발자를 향해....🔥