Taeyoung Kim

Cloud & Platform

Docker 컨테이너 기본 조작 실습

Docker 컨테이너 기본 조작 실습 학습 내용을 정리한 백필 노트입니다.

이 글은 2025년 학습 기록을 블로그 형식으로 정리한 백필 노트입니다.


1. HelloWorld 컨테이너 가동

docker container run hello-world
docker container ls
docker ps
docker ps -a
docker run hello-world

2. Ubuntu 컨테이너 가동 (hostname, containerid 확인)

docker run --interactive --tty ubuntu bash
docker run -i -t ubuntu bash
docker run -it ubuntu bash

# 컨테이너 내부에서 실행
hostname
whoami
ls /etc/os*
cat /etc/os-release
head -n 4 /etc/os-release
echo $SHELL

→ 상태 유지 확인


3. 컨테이너 목록 확인 (STATUS: UP)

docker container ls
  • 출력 항목
    • CONTAINER ID : 컨테이너 ID(무작위)
    • IMAGE : 이미지
    • COMMAND : PID1
    • CREATED : 생성 시간
    • STATUS : 상태
    • PORTS : 접근 포트
    • NAMES : 컨테이너명(없을 시 무작위)
docker container ls --all
docker container ls -a
  • exit 후 재시작
docker container start [Docker ID] 60be12f44f9a
docker container ls
docker exec -it [Docker ID] 60be12f44f9a bash
docker container exec -it [Docker ID] 60be12f44f9a /bin/bash
docker stop [Docker ID] 60be12f44f9a bash

4. 컨테이너 정지하기

docker container ls
docker container stop [Container ID]

5. 컨테이너 삭제하기

  • 정지 컨테이너 삭제
docker container ls -a
docker container rm [Container ID]
docker container rm [Container Name]
  • 실행 중인 컨테이너 강제 삭제
docker ps -a
docker container rm [Container ID / Name]
docker container rm --force [Container ID / Name]
docker container rm -f [Container ID / Name]
  • 전체 삭제
docker container prune

※ 실행 중 컨테이너도 삭제되는지 확인 필요


6. 컨테이너 실행 시 임의 명령어 처리

docker run -it ubuntu bash
docker run -it ubuntu
docker container run ubuntu whoami
docker container run ubuntu head -n 4 /etc/os-release

7. Ruby 컨테이너 인라인 실행

docker container run [Image] [Command]
docker container run ruby ruby -e 'print 20+10'

8. 컨테이너 이름 구성과 삭제

docker container run --name hello hello-world
docker container ls -all
docker container rm hello

docker container run --name hello hello-world
docker container run --name hello hello-world   # 에러 발생 확인
  • 출력 확인
docker container run --name hello2 --rm hello-world
docker container prune
docker images -q
docker rmi $(docker images -q)

docker container run --name hello2 --rm hello-world
docker container run --rm --name hello2 hello-world

9. 컨테이너를 대화형 모드로 조작

docker container run --rm --interactive --tty python python3
>>> print('Hello World')
>>> exit()

docker container run --rm -i -t python python3
>>> 20+10
>>> exit()

docker container run --rm -it python python3
>>> sum([10,20,30,40])
>>> exit()

10. 컨테이너 포트 공개 (p, -publish)

docker container run --rm --publish 8080:80 nginx
  • 웹 확인

    • Linux:

      curl http://localhost:8080
      
    • Windows:

      http://localhost:8080
      
  • 포트 확인

docker container ls
docker container ls -a