docker containerdocker imagedocekr networkdocker volume이미지를 만들고 컨테이너를 생성.
docker container create명령시 이미지에 포함될 linux의 디렉토리와 파일들의 스냅샷을 취한다.
docker search [op] <keyword>docker image pull: 특정 이미지를 다운로드할 때 사용(기본적으로 docker hub에서)docker image push: 이미지를 업로드할 때 사용docker image ls/docker images: 현재 시스템의 이미지 목록 확인
| 옵션 | 설명 |
|---|---|
| -all, -a | 모든 이미지 표시 |
| --digests | 다이제스트를 표시할지 말지 |
| --no-trunc | 결과 모두 표시 |
| --quiet, -q | Docker 이미지 ID만 표시 |
docker image inspect: 특정 이미지의 자세한 정보 확인docker image rm: 특정 이미지를 삭제 (컨테이너가 존재하면 이미지 삭제가 제한적)docker image prune: 이름이 없는 모든 이미지 삭제docker image tag <docker hub 사용자명>/image_name:[tag]: 태그 붙이기docker container create: 컨테이너 생성. 이미지의 데이터만 복제하고 프로세스는 실행하지 않음docker container start: 컨테이너를 실행docker container run: 이미지를 이용해서 컨테이너를 만들고 실행create+start = run
-it: 입출력 옵션
-d: 어플리케이션은 거의 필수. 선택적 사용(ex. httpd)
--name: 이름 지정
run container_name 명령어 사용시 해당 컨테이너에서 명령어 실행
컨테이너 내부에서 하나의 어플리케이션 동작
| 옵션 | 설명 |
|---|---|
| --attach, -a | STDIN, STDOUT, STDERR 연결 |
| -cidfile | 컨테이너 ID를 파일로 출력 |
| --interactive, -i | STDIN을 사용해야 할 경우 |
| --detach, -d | 컨테이너를 생성하고 백그라운드에서 실행 |
| --tty, -t | 접속해서 사용할 터미널 장치 |
| --rm | 실행하고 나서 종료할 때 바로 삭제함 |
| --restart=[no | on-failure |
docker container stop: 동작 중인 컨테이너 중지(내부 프로세스 중지)docker container pause: 컨테이너 일시 정지docker container unpause: 컨테이너 동작 재개docker container restart: 컨테이너 재시작docker container ps: 컨테이너 상태 확인docker container ls: 동작 중인 컨테이너 목록 확인
| 옵션 | 설명 |
|---|---|
| --all, -a | 실행 중/정지 중인 것도 포함하여 모든 컨테이너 표시 |
| --filter, -f | 표시할 컨테이너 필터링 |
| --format | 표시 포맷 지정 |
| --last, -n | 마지막으로 실행된 n개의 컨테이너만 표시 |
| --latest, -l | 마지막으로 실행된 컨테이너만 표시 |
docker container rm: 중지 상태의 컨테이너 삭제docker container prune: 중지 상태인 모든 컨테이너 삭제docker container exec <컨테이너> <명령어>: 컨테이너에 잠깐 사용할 추가적인 어플리케이션 실행(사용 후 반드시 종료)docker container top: 컨테이너 내부의 프로세스 상태 확인docker container attach <컨테이너>: 동작 중인 컨테이너에 연결 가능(단, 쉘이 실행중이어야 함)특정 컨테이너가 리소스(cpu/memory)를 독점하지 않도록 한계치 혹은 비율 지정
# docker container run --cpu-share / --cpus / --memory ...
컨테이너 지정 시 특정 컨테이너
지정하지 않을 경우 모든 컨테이너에 대해 리소스 할당량 및 사용량 확인
--no-stream 옵션 사용 시 한 번 확인(안쓰면 실시간 모니터링)
# docker container stats [컨테이너]
메모리 할당 변경 시에는 swap 메모리와 함께 조정해야 할 수 있음
최초 실행 시 메모리 제한이 없으면 swap 메모리 조정 후 물리메모리 조정 가능. 이 때, 컨테이너를 중지시킨 후 swap 메모리 조정 가능)
# docker container update
# docker image inspect <image> --format "{{ .Config.Env }}" # docker image pull httpd
# docker image pull centos:7
# docker image pull ubuntu
다운로드 한 이미지 확인
docker image ls -a

이미지를 이용해서 컨테이너 실행
# docker container create -it --name centos centos:7
# docker container start -ai centos
# start -ai 옵션으로 연결 시, ctrl+p+q를 입력해서 연결만 해제(상태 유지)

# docker container create --name web1 httpd
# docker container start web1
# docker container run -itd --name ubuntu ubuntu

# docker container run -d --name web2 httpd
# docker container ls
# docker container ls -a
# docker container inspect web1
# docker container stop ubuntu# docker container rm -f web1# docker container run --name centos_ls centos:7 ls- `docker image rm`: 특정 이미지를 삭제 (컨테이너가 존재하면 이미지 삭제가 제한적)