본문으로 건너뛰기

컨테이너 생성, 삭제

도커 컨테이너의 생성, 삭제 및 다양한 조작 방법을 알아보자.

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없음
buildDockerfile로 이미지 생성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 명령어 하나로 대부분의 기본 동작이 가능하다.
포트 매핑, 이름 지정, 백그라운드 실행 등 주요 옵션을 익히고 반복해서 실습해보자.