컨테이너 생성, 삭제
도커 컨테이너의 생성, 삭제 및 다양한 조작 방법을 알아보자.
Section1. 도커 엔진 시작하기/종료하기
Docker Desktop은 컴퓨터 시작 시 자동 실행되도록 설정할 수 있다.
다만 컨테이너는 따로 실행 스크립트나 명령어를 통해 실행해야 한다.
Section2. 컨테이너의 기본적인 사용 방법
도커 설치가 정상적으로 완료되었으면 다음 명령어를 사용할 수 있다.
docker version
docker container run penguin --mode=1
도커 커맨드는 보통 다음 3가지로 구성된다:
- 상위 커맨드 / 하위 커맨드 / 대상 / 옵션들 또는 인자
예시:
docker run
docker container run
💡 생략 가능한 상위 커맨드도 있지만, 버전에 따라 언제든 바뀔 수 있으므로 기본 구조를 익혀두는 것이 좋다.
💡 -옵션은 축약형, --옵션은 풀네임이다.
Section3. 주요 Docker CLI 명령어 정리
컨테이너 조작 명령어
| 명령어 | 설명 | 생략 가능 | 주요 옵션 |
|---|---|---|---|
start | 정지된 컨테이너 시작 | O | -i |
stop | 컨테이너 중지 | O | 없음 |
create | 컨테이너 생성 (실행은 하지 않음) | O | --name, -p |
run | 이미지 다운로드 → 컨테이너 생성 → 실행까지 한 번에 처리 | O | --name, -p, -d, -i, -t |
rm | 정지된 컨테이너 삭제 | O | -f, -v |
exec | 실행 중인 컨테이너 내에서 명령어 실행 | O | -i, -t |
ls (ps) | 컨테이너 목록 조회 | *1 | -a |
cp | 호스트와 컨테이너 간 파일 복사 | O | 없음 |
commit | 컨테이너 상태를 이미지로 저장 | O | 없음 |
이미지 조작 명령어
| 명령어 | 설명 | 생략 가능 | 주요 옵션 |
|---|---|---|---|
pull | 이미지 다운로드 | O | 없음 |
rm (rmi) | 이미지 삭제 | *2 | 없음 |
ls | 이미지 목록 확인 | X | 없음 |
build | Dockerfile로 이미지 생성 | O | -t |
볼륨 조작 명령어
| 명령어 | 설명 | 생략 가능 | 주요 옵션 |
|---|---|---|---|
create | 볼륨 생성 | X | --name |
inspect | 볼륨 상세 정보 확인 | X | 없음 |
ls | 볼륨 목록 확인 | X | -a |
prune | 미사용 볼륨 전체 삭제 | X | 없음 |
rm | 특정 볼륨 삭제 | X | 없음 |
네트워크 조작 명령어
| 명령어 | 설명 | 생략 가능 | 주요 옵션 |
|---|---|---|---|
connect | 네트워크에 컨테이너 연결 | X | 없음 |
disconnect | 네트워크에서 컨테이너 제거 | X | 없음 |
create | 사용자 정의 네트워크 생성 | X | 없음 |
inspect | 네트워크 상세 정보 확인 | X | 없음 |
ls | 네트워크 목록 확인 | X | 없음 |
prune | 사용되지 않는 네트워크 삭제 | X | 없음 |
rm | 특정 네트워크 삭제 | X | 없음 |
도커 스웜 관련 명령어
| 명령어 | 설명 |
|---|---|
checkpoint | 컨테이너 실행 상태 저장 |
node | 도커 스웜 노드 관리 |
plugin | 플러그인 관리 |
secret | 비밀값 관리 |
service | 스웜 서비스 관리 |
stack | 여러 서비스의 집합 관리 |
swarm | 스웜 클러스터 설정 |
system | 도커 엔진 상태 확인 |
기타 단일 커맨드
| 명령어 | 설명 | 주요 옵션 |
|---|---|---|
login | 레지스트리 로그인 | -u, -p |
logout | 로그아웃 | 없음 |
search | 이미지 검색 | 없음 |
version | 버전 정보 출력 | 없음 |
Section4. 컨테이너 실습: 생성 ~ 삭제
컨테이너 생성
docker run --name apa000ex1 -d httpd
--name apa000ex1: 컨테이너 이름 지정-d: 백그라운드 실행httpd: Apache 웹 서버 이미지
이미지가 없다면 자동으로 다운로드됨.
상태 확인
docker ps # 실행 중 컨테이너 확인
docker ps -a # 전체 컨테이너 확인
컨테이너 정지 및 삭제
docker stop apa000ex1
docker rm apa000ex1
💡 컨테이너 실행 옵션 -dit
-d: 백그라운드 실행-i: 입력 유지-t: 터미널 연결
Section5. 컨테이너의 통신 (포트 포워딩)
docker run --name apa000ex2 -d -p 8080:80 httpd
-p 8080:80: 호스트의 8080 포트를 컨테이너의 80 포트에 연결
이후 브라우저에서 localhost:8080 접속 가능
Section6. 이미지 삭제
컨테이너 삭제만으로는 이미지가 삭제되지 않는다. 이미지 삭제 명령은 아래와 같다.
docker image rm [이미지명1] [이미지명2]
예시:
docker image rm httpd:2.2
삭제 후에는 다음 명령어로 확인할 수 있다:
docker image ls
마무리
컨테이너의 생성 → 실행 → 종료 → 삭제는 도커 사용의 기본이며,
docker run 명령어 하나로 대부분의 기본 동작이 가능하다.
포트 매핑, 이름 지정, 백그라운드 실행 등 주요 옵션을 익히고 반복해서 실습해보자.