docker 컨테이너 주요 명령어

2024. 3. 28. 10:38·🐳 Infra/System
728x90
SMALL

컨테이너 다루는 방법에 대해서 적어보자


컨테이너 시작 (docker container start)

docker (container) start [옵션] <컨테이너 식별자> [컨테이너 식별자]
  • 정지된 컨테이너를 시작할 때 start 명령을 사용
  • -attach, -a : 표준 출력, 표준 오류 출력을 연다
  • -interactive, i : 컨테이너의 표준 입력을 연다

컨테이너 정지 (docker container stop)

docker (container) stop [옵션] <컨테이너 식별자> [컨테이너 식별자]
  • 실행 중인 컨테이너를 정지할 때 stop 명령을 사용
  • -time, -t : 몇초 후 정지할 것인지 지정 (기본값은 10초)
  • 강제적으로 정지 : docker contianer kill

컨테이너 삭제 (docker container rm)

docker (container) rm [옵션] <컨테이너 식별자> [컨테이너 식별자]

 

  • -force, -f : 실행 중인 컨테이너를 강제로 삭제
  • -volume, -v : 할당한 볼륨을 삭제
  • docker rm docker ps -a --quiet : 도커 컨테이너 전부 삭제
  • docker system prune : 불필요한 이미지/컨테이너 일괄 삭제

컨테이너 생성 및 시작 (docker container run) ⭐️

docker (container) run [옵션] 이미지명[:태그명] [인수]
  • -attach, -a : 표준 입, 출력, 오류 출력에 어태치 한다
  • -cidfile : 컨테이너 ID를 파일로 출력한다
  • -detach, -d : 컨테이너를 생성하고 백그라운드에서 실행한다
  • -interactive, -i : 컨테이너의 표준 입력을 연다
  • -tty, -t : 단말기 디바이스를 사용한다
  • -name : 컨테이너 이름 지정
  • -rm : 실행이 끝나고 즉시 제거함

 

  • it 옵션을 사용하였다

 

  • /bin/cal 명령은 Linux 표준 명령으로 달력을 콘솔에 출력하는 명령
  • -rm 옵션으로 컨테이너 종료 시 자동으로 삭제하도록 설정

docker run 다른 옵션들

  • run은 기본적으로 포그라운드 실행이다
  • -detach, -d : 백그라운드 실행
  • -user, -u : 사용자명 지정
  • -restart=[no | on-failure | on-failure:횟수 n | always | unless-stopped] : 명령의 실행 결과에 따라 재시작을 하는 옵션
    • no : 재시작 X
    • on-failure : 종료 status가 0이 아닐 때 재시작
    • on-failure:횟수n : 종료 status가 0이 아닐 때 n번 재시작한다
    • always : 항상 재시작한다
    • unless-stopped : 최근 컨테이너가 정지 상태가 아니라면 항상 재시작한다

  • dit 로 백그라운드 실행을 했다.
  • docker attach ubuntu 명령어로 ubuntu 컨테이너에 attach 가능
  • exit 하면 컨테이너는 종료됨
  • 컨트롤 + p + q 하면 실행 중에 나올 수 있음
    • 다시 들어가려면 docker container attach [이름]

  • -restart always : 명령이 끝나면 항상 재실행
  • sleep 10이 끝날 때마다(10초마다) 항상 재실행된다

컨테이너 안의 파일 복사 (docker container cp)

# 컨테이너 -> 호스트
docker container cp <컨테이너 식별자>:<컨테이너 안의 파일 경로> <호스트 디렉토리 경로>

# 호스트 -> 컨테이너
docker container cp <호스트의 파일> <컨테이너 식별자>:<컨테이너 안의 파일 경로>

컨테이너 안 사용하지 않는 컨테이너 리소스를 없앰

docker system prune 을 치면 기본적으로 WARNING이 뜨게 된다.

이는 prune 명령어를 조심스럽게 사용해야 한다는 것을 의미하고 docker 가 알려주는 것 처럼 많은 불필요한 리소스를 삭제한다.

  1. 멈춰있는 모든 컨테이너
  2. 최소 한 개의 컨테이너에서 사용되지 않는 네트워크
  3. 매달려있는 (불필요한, 부수적인) 이미지
  4. 매달려있는 (불필요한, 부수적인) 빌드 캐시

이를 염두하고 만약 삭제하길 원한다면 y 를 쳐서 삭제를 진행하면 다음과 같이 많은 컨테이너들이 삭제되는 것을 볼 수 있다.

 docker system prune

WARNING! This will remove:
  - all stopped containers
  - all networks not used by at least one container
  - all dangling images
  - all dangling build cache

Are you sure you want to continue? [y/N] y
LIST

'🐳 Infra > System' 카테고리의 다른 글

[Linux] DIsk 용량 확보 팁  (0) 2024.12.19
RAM 부족 시 대처 방안  (1) 2024.12.19
[Linux] SWAP 메모리 정의 및 사용 상황  (0) 2024.12.19
HA (High Availability, 고가용성)  (0) 2024.12.12
Microsoft Active Directory  (2) 2024.03.22
'🐳 Infra/System' 카테고리의 다른 글
  • RAM 부족 시 대처 방안
  • [Linux] SWAP 메모리 정의 및 사용 상황
  • HA (High Availability, 고가용성)
  • Microsoft Active Directory
terranbin
terranbin
Studying Computer Science
  • terranbin
    Engineer
    terranbin
  • 전체
    오늘
    어제
    • 분류 전체보기 (129)
      • ☁️Cloud (42)
        • AWS (38)
        • MS Azure (4)
      • 🐳 Infra (1)
        • System (12)
        • DRBD (3)
      • 🔌Network (8)
      • 🔹Storage (8)
      • 🔹Kubernetes (15)
      • 🔹 DevOps (8)
      • 🔹Study (4)
      • 🔹Install (6)
      • 🔹ETC (2)
      • 🔹PostMan (6)
      • 🔹Openstack (3)
      • 🔹RcloneView (6)
      • 🔹Test (0)
      • 🔹Debug (2)
      • 🔹DBMS (2)
  • 블로그 메뉴

    • 홈
  • 링크

    • sungbin
    • Github
  • 공지사항

  • 인기 글

  • 태그

    kubectl
    rocky9
    OpenStack
    ceph
    AWS
    rcloneview
    centos7
    EBS
    SAA
    kubernetes
    aws dlt
    Google Drive
    postman
    rocky8
    distributed load testing
    terraform
    S3
    EC2
    network
    설치
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
terranbin
docker 컨테이너 주요 명령어
상단으로

티스토리툴바