본문 바로가기
프로그램 활용/클라우드 가상화 도커

[Docker] 도커 컨테이너 명령어(create, start, stop, rm, run, cp)

by 3604 2023. 8. 7.
728x90

 

 
Docker 컨테이너의 라이프 사이클

 

컨테이너 생성 (docker container create)

docker (container) start [이름]
  • docker ps -a (= docker container ls -a) : 모든 컨테이너 보기

 

컨테이너 시작 (docker container start)

docker (container) start [옵션] <컨테이너 식별자> [컨테이너 식별자]
  • 정지된 컨테이너를 시작할 때 start 명령을 사용
  • --attach, -a : 표준 출력, 표준 오류 출력을 연다
  • --interactive, -i : 컨테이너의 표준 입력을 연다
  • start는 기본적으로 컨테이너를 백그라운드 형태로 실행한다, run 이랑 다름

 

컨테이너 정지 (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 : 사용자명 지정
  • --restar=[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 <호스트의 파일> <컨테이너 식별자>:<컨테이너 안의 파일 경로>

 


<참고자료>

'완벽한 IT 인프라 구축을 위한 Docker 2판'

 

728x90
반응형