Docker Command
Basic (도커 기본 명령어)
·
Version
: Docker
도커의 기본적인 명령
구조
도커 버전 정보
확인
https://docs.docker.com/engine/reference/commandline/version/
docker version [OPTIONS]
ex) docker version
ex) docker version –format ‘{{.Server.Version}}’
|
·
--format, -f : 주어진 템플릿
형식을 사용하여
출력
·
--kubeconfig : 쿠버네티스 설정
파일
설치된 이미지 목록
조회
https://docs.docker.com/engine/reference/commandline/images/
docker images [OPTIONS] [REPOSITORY[:TAG]]
ex) docker images
ex) docker images java
ex) docker images java:8
ex) docker images –format “{.ID}}: {{.Repository}}”
|
·
--all,
-a : 모든 이미지 표시
·
--digests
: 요약 보기
·
--filter,
-f : 제공된 출력에 따라 출력 필터링
·
--format
: Go 템플릿을 사용한 Pretty-print 이미지
사용
·
--no-trunc
: 출력을 자르지 않음
·
--quiet,
-q : 숫자만 표시
설치된 이미지 삭제
https://docs.docker.com/engine/reference/commandline/rmi/
docker rmi [OPTION] IMAGE
[IMAGE…]
ex) docker rmi fd484f19954f
ex) docker rmi -f fd484f19954f
|
·
--force,
-f : 강제로 이미지 삭제
·
--no-prune
: 태그 없는 부모는 삭제 제외
설치된 모든 이미지 강제 삭제
docker rmi -f $(docker images -a -q)
|
컨테이너 목록 조회
https://docs.docker.com/engine/reference/commandline/ps/
docker ps [OPTIONS]
ex ) docker ps
ex) docker ps -a
ex) docker ps –filter “label=color”
|
·
--all, -a : 전체 컨테이너
목록 조회
·
--filter, -f : 제공된 조건에
따라 출력
필터링
·
--format : Go 템플릿을
사용한 Pretty-print 이미지 사용
·
--last, -n : 마지막으로 생성된
컨테이너 n 개 표시
·
--latest, -l : 최근 생성된
컨테이너 표시
·
--no-trunc : 출력을
자르지 않음
·
--quiet, -q : 숫자만 표시
·
--size, -s : 전체 파일
사이즈 표시
새로운 컨테이너 실행. 로컬에 해당 이미지가
없다면 레포지토리에서
이미지를 다운로드
받아 실행한다.
https://docs.docker.com/engine/reference/commandline/run/
docker run [OPTIONS] IMAGE [COMMAND] [ARG…]
ex) docker run -i -t --name sample ubuntu:14.04 /
bin/bash
|
·
-i :
interactive, 컨테이너의 입력 및 출력 등 상호작용하겠다는 뜻
·
-t :
pseudo-tty 로 터미널과같은 환경을 사용하겠다는 뜻
·
--name
sample : 컨테이너 이름을 sample로
지정. 이름을 지정하지 않으면 도커가 자동으로 이름을 지정
·
ubuntu:14.04
: 우분투 이미지 버전
·
/bin/bash
: 컨테이너 시작 시 bash 쉘을
사용하겠다는 뜻
컨테이너 실행. (1개 이상의
컨테이너를 실행)
https://docs.docker.com/engine/reference/commandline/start/
docker start [OPTIONS] CONTAIER [CONTAINER…]
ex) docker start my_container
|
·
--attach, -a : Attach STDOUT/STDERR
and forward signals
·
--checkpoint : 이 체크포인트에서
복원
·
--chekcpoint-dir : 사용자 지정
체크포인트 저장소
디렉터리 사용
·
--detach-keys : 컨테이너를 분리하기
위한 키
순서 정의
·
--interactive, -i : Attach
container’s STDIN
컨테이너 중지. (1개 이상의
컨테이너를 중지)
https://docs.docker.com/engine/reference/commandline/stop/
docker stop [OPTIONS] CONTAINER
[CONTAINER…]
ex) docker stop my_container
|
·
--time, -t : 명령된 시간(초) 후 컨테이너 중지
(기본값 10)
컨테이너 재시작 (1개 이상의
컨테이너 재시작)
https://docs.docker.com/engine/reference/commandline/restart/
docker restart [OPTIONS]
CONTAINER [CONTAINER…]
ex) docker restart my_cotainer
|
·
--time, -t : 명령된 시간(초) 후 컨테이너 중지
(기본값 10)
컨테이너 삭제 ( 1개 상의
컨테이너 삭제)
https://docs.docker.com/engine/reference/commandline/rm/
docker rm [OPTIONS] CONTAINER
[CONTAINER…]
ex) docker rm /redis
ex) docker rm –link /webapp/redis
ex) docker rm –force redis
|
·
--force,
-f : 실행중인 컨테이너를 강제로 삭제 (SIGKILL
사용)
·
--link,
-l : 지정된 링크 제거
·
--volumes,
-v : 컨테이너와 관련된 볼륨 제거
모든 컨테이너 강제 삭제
docker rm -f $(docker ps -a -q)
|
컨테이너 강제 중지 (1개 이상의
컨테이너를 강제 중지)
https://docs.docker.com/engine/reference/commandline/kill/
docker kill [OPTIONS] CONTAINER
[CONTAINER…]
ex) docker kill my_container
ex) docker kill –signal=SIGHUP
my_container
|
·
--signal,
-s : 컨테이너에 보낼 신호 (기본값
KILL)
도커 컨테이너 연결
(실행중인 컨테이너에 로컬
표준 입출력
및 에러
스트림 연결)
https://docs.docker.com/engine/reference/commandline/attach/
docker attach [OPTIONS] CONTAINER
ex) docker attach my_container
|
·
--detach-keys : 컨테이너를 분리하기
위한 키
순서 재정이
·
--no-stdin : Do not attach STDIN
·
--sig-proxy : 모든 프로세스
신호는 프록시로
받음
컨테이너 이름 변경
https://docs.docker.com/engine/reference/commandline/rename/
docker rename CONTAINER NEW_NAME
ex) docker rename my_container my_new_container
|
호스트와 컨테이너간 파일
복사
https://docs.docker.com/engine/reference/commandline/cp/
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
|
·
--archive, -a : 보관 모드(모든 uid/gid 정보 복사)
·
--follow-link, -l : 항상 SRC_PATH 심볼링크로 연결
새로운 컨테이너 생성
https://docs.docker.com/engine/reference/commandline/create/
docker create [OPTIONS] IMAGE [COMMAND] [ARG…]
|
컨테이너
로그 확인
https://docs.docker.com/engine/reference/commandline/logs/
docker logs [OPTIONS] CONTAINER
ex) docker logs my_container
|
·
--details : 로그에 추가
세부 정보
표시
·
--follow, -f : 로그 발생시
로그 출력
·
--since : 해당 시간이후
로그 표시
(e.g : 2013-01-02T13:23:37 or 42m)
·
--tail : 로그 끝에
표시할 줄
수
·
--timestamps, -t : 타임스템프 표시
·
--until : 타임스탬프 이전
시간만큼 또는
정해진 현재에서
정해진 이전
시간만 로그
표시 (e.g :
2013-01-02T13:23:37 or 42m)
레지스트리에서 이미지 또는
Repository 가져오기
https://docs.docker.com/engine/reference/commandline/pull/
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
ex) docker pull ubuntu (우분투 최신버전
가져옴)
ex) docker pull ubuntu:16.04 (우분투 16.04 버전을 가져옴)
ex) docker pull –all-tags fedora
|
·
--all-tags, -a : 저장소에서 태그가
있는 모든
이미지 다운로드
·
--disable-content-trust : 이미지 확인
건너뛰기
·
--platform : 서버가 다중
플랫폼 지원이
가능한 경우
플랫폼 설정
이미지 또는 저장소를
레지스트리로 푸시
https://docs.docker.com/engine/reference/commandline/push/
docker push [OPTIONS] NAME[:TAG]
|
·
--disable-content-trust : 이미지 서명
건너뛰기. 기본값 TRUE.
이미지
만들기 (Dockerfile로 부터)
https://docs.docker.com/engine/reference/commandline/build/
변경된
컨테이너로 새로운
이미지 만들기
https://docs.docker.com/engine/reference/commandline/commit/
Docker commit [OPTIONS] CONTAINER
[REPOSITORY[:TAG]]
|
·
--author, -a : 작성자 ( e.g : e.g.,
“John Hannibal Smith hannibal@a-team.com”)
·
--change, -c : Dockerfile 명령을 생성된
이미지에 적용
·
--message, -m : 커밋 메시지
·
--pause, -p : 커밋 중
컨테이너 일시
중지
컨테이너
파일 시스템에
있는 파일이나
디렉터리의 변경
사항 검사
https://docs.docker.com/engine/reference/commandline/diff/
실행중인
컨테이너에서 명령
실행
https://docs.docker.com/engine/reference/commandline/exec/
docker exec [OPTIONS] CONTAINER COMMAND
[ARG…]
ex) docker exec -d ubuntu_bash
bash
ex) docker exec -it ubuntu_bash
pwd
|
·
--detach, -d : 분리모드. 백그라운드에서 명령
실행
·
--detach-leys : 컨테이너를 분리하기
위한 키
순서 재정의
·
--env, -e : 환경 변수
설정
·
--interactive, -i : Keep STDIN
open even if not attached
·
--privileged : 명령에 확장된
권한 부여
·
--tty, -t : pseudo-TTY 할당
·
--user, -u : 사용자 이름
또는 UID ( format:
<name|uid>[:<group|gid>])
·
--workdir, -w : 컨테이너 내부
작업 디렉토리
서버에서
실시간 이벤트
가져오기
https://docs.docker.com/engine/reference/commandline/events/
docker event [OPTIONS]
ex) docker events
ex) docker events --since
1483283804
ex) docker events --since
‘2017-01-05’
ex) docker events--since ‘10m’
|
·
--filter, -f : 제공된 조건에
따라 출력
필터링
·
--format : 주어진 Go 템플릿을 사용하여
출력 형식화
·
--since : 타임스탬프 이후
생성된 모든
이벤트 표시
·
--until : 현재 시간까지의
이벤트 스트리밍
컨테이너의
파일 시스템을
tar 아카이브로 보내기
https://docs.docker.com/engine/reference/commandline/export/
docker export [OPTIONS] CONTAINER
|
·
--output,
-o : STDOUT 대신 파일에 쓰기
이미지
기록 보기
docker history [OPTIONS] IMAGE
ex) docker history docker
ex) docker history docker:scm
ex) docker history –format
“{{.ID}}: {{.CreatedSince}}” busybox
|
·
--format : 주어진 Go 템플릿을 사용하여
출력 형식화
·
--human, -H : 사람이 읽을
수 있는
형식으로 크기와
날짜 출력
·
--no-trunc :출력을 자르지
않음
·
--quiet, -q : 숫자ID만 표시
tarball에서 내용을
가져와 파일
시스템 이미지
만들기
https://docs.docker.com/engine/reference/commandline/import/
·
--change, -c : Dockerfile 명령을 생성
된 이미지에
적용
·
--message, -m : 가져온 이미지에
커밋 메시지
설정
·
--platform : 서버가 다중
플랫폼 지원이
가능한 경우
플랫폼 설정
시스템
전체 정보
표시
https://docs.docker.com/engine/reference/commandline/info/
docker info [OPTIONS]
ex) docker info
ex) docker info –format ‘{{json
.}}’
|
·
--format, -f : 주어진 Go 템플릿을 사용하여
출력 형식화
Docker 객체에 대한
저수준 정보
반환
https://docs.docker.com/engine/reference/commandline/inspect/
docker inspect [OPTIONS] NAME|ID
[NAME|ID…]
ex) docker inspect
--format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}'
$INSTANCE_ID
ex) docker inspect
--format='{{.LogPath}}' $INSTANCE_ID
|
·
--format, -f : 주어진 Go 템플릿을 사용하여
출력 형식화
·
--size, -s : 컨테이너 유형의
전체 파일
크기 표시
·
--type : 지정된 유형의
JSON 반환
tar 아카이브 또는
STDIN에서 이미지 로드
https://docs.docker.com/engine/reference/commandline/load/
docker load [OPTIONS]
ex) docker load --input fedora.tar
|
·
--input, -i : STDIN 대신 tar 아카이브 파일에서
읽기
·
--quiet, -q : 부하 출력
억제
Docker 레지스트리에 로그인
https://docs.docker.com/engine/reference/commandline/login/
docker login [OPTIONS] [SERVER]
ex) docker login localhost:8080
|
·
--password, -p : 패스워드
·
--password-stdin : STDIN에서
암호 가져오기
·
--username, -u : 사용자명
Docker레지스트리에서 로그아웃
https://docs.docker.com/engine/reference/commandline/logout/
docker logout [SERVER]
ex) docker logout localhost:8080
|
하나
이상의 컨테이너에
있는 모든
프로세스 일시
중지
https://docs.docker.com/engine/reference/commandline/pause/
docker pause CONATINAER
[CONTAINER…]
ex) docker pause my_container
|
하나
이상의 컨테이너에
있는 모든
프로세스 일시
중지 해제
https://docs.docker.com/engine/reference/commandline/unpause/
docker unpause CONATINER
[CONTAINER…]
ex) docker unpause my_container
|
컨테이너의
포트매핑 또는
특정 매핑
나열
https://docs.docker.com/engine/reference/commandline/port/
docker port CONTAINER
[PRIVATE_PORT[/PROTO]]
ex) docker port test
ex) docker port test 7890
|
하나
이상의 이미지를
tar 아카이브에 저장. (기본적으로 STDOUT으로 스트리밍
됨)
https://docs.docker.com/engine/reference/commandline/save/
docker save [OPTIONS] IMAGE
[IMAGE…]
ex) docker save busybox >
busybox.tar
ex) docker save --output
busybox.tar busybox
ex) docker save -o fedora-all.tar
fedora
|
·
--output, -o : STDOUT 대신 파일에
쓰기
Docker 허브에서 이미지
검색
https://docs.docker.com/engine/reference/commandline/search/
docker search [OPTIONS] TERM
ex) docker search busybox
ex) docker search --stars=3
--no-trunc busybox
|
·
--automated : 자동 빌드만
표시
·
--filter, -f : 제공된 조건에
따라 출력
필터링
·
--format : Go 템플릿을 사용하여
검색
·
--limit : 최대 검색
결과 수. 기본값 25.
·
--no-trunc : 출력을 자르지
않음
·
--stars, -s : x stars만 표시
실시간으로
컨테이너 자원
사용 통계
표시
https://docs.docker.com/engine/reference/commandline/stats/
docker stats [OPTIONS]
[CONTAINER…]
ex) docker stats
ex) docker stats awesome_brattain
67b2424d8ad1
ex) docker stats --all --format
"table {{.Container}}\t{{.CPUPerc}}\t{{.MemUsage}}" fervent_panini
5acfcb1b4fd1 drunk_visvesvaraya big_heisenberg
|
·
--all, -a : 모든 컨테이너
표시 (기본값은 실행중임)
·
--format : Go 템플릿을 사용하여
표시
·
--no-stream : 스트리밍 비활성화
및 첫
번째 결과만
가져오기
·
--no-trunc : 출력을 자르지
않음
SOURCE_IMAGE를 참조하는
TARGET_IMAGE 만들기
https://docs.docker.com/engine/reference/commandline/tag/
docker tag SOURCE_IMAGE[:TAG]
TARGET_IMAGE[:TAG]
ex) docker tag 0e5574283393
fedora/httpd:version1.0
ex) docker tag httpd:test
fedora/httpd:version1.0.test
|
컨테이너의
실행중인 프로세스
표시
https://docs.docker.com/engine/reference/commandline/top/
docker top CONTAINER [ps OPTIONS]
ex) docker top
|
하나
이상의 컨테이너
구성 업데이트
https://docs.docker.com/engine/reference/commandline/update/
docker update [OPTIONS] CONTAINER
[CONTAINER…]
ex) docker update --cpu-shares 512
abebf7571666
ex) docker update --cpu-shares 512
-m 300M abebf7571666 hopeful_morse
|
하나
이상의 컨테이너가
멈출 때
까지 차단한
다음 종료
코드 인쇄
https://docs.docker.com/engine/reference/commandline/wait/
dockerr waint CONTAINER
[CONTAINER…]
ex) docker wait my_container
|
컨테이너에서
빠져나오기
2019-01-16 / Sungwook Kang / http://sqlmvp.kr
Docker, docker command, 도커 명령어