Customized Docker Image
: 사용자 설정을 추가한 이미지
Customized Image 생성
- docker commit <container_name> <image_name> // 컨테이너를 이미지로
- docker build [Option] Dockerfile . // 도커 파일로 이미지 생성
- -f // 파일
Docker Image 파일 저장
: 운영서버에서 이미지를 사용해야 할 때 / On-premise Private 클러스터 환경일 때 사용.
- save / load : 이미지 전체를 저장, 복구한다. 레이어, tag, metadata 등을 포함한다. (image -> tar 파일로 추출)
- export / import : 컨테이너 파일 시스템만 저장한다. (container -> tar 파일로 추출)
*git의 clone/downlod zip의 차이와 유사. 혹은 포토샵 파일과 jpeg의 차이와 유사.
Container Management
리소스 제한
메모리 할당
- --memory / -m : 컨테이너가 사용할 최대 메모리 지정
- --memory-swap : 컨테이너의 권장 메모리 + 여유 메모리(swap) 설정. default 는 메모리의 2배
- --memory-reservation: 권장 메모리. 소프트한 제한.
- --oom-kill-disable : 메모리가 부족할 때 kill 하지 못하도록 보호. (중지)
ex) docker run –d –m 1g –memory-reservation 500m nginx:1.14
> docker [run: 수행 명령] [-d: 백그라운드 실행] [option] [할당량] [option] [할당량] [container]
: nginx:1.14 실행 시, 500m 권장, 최대 1g 할당 가능.
CPU 할당
- --cpus : 컨테이너에 할당할 코어 수
- --cpuset-cpus : 컨테이너가 사용할 코어 할당. ex) --cpuset-cpus=[코어 번호]
- --cpu-share / -c : 컨테이너가 사용할 cpu 비중 설정. 1024 기준.
I/O 할당
- --blkio-weight : 가중치 설정. 기준은 500이며, 이는 default 값. 100 - 1000 입력 가능.
- --device-read-bps / --device-write-bps : read/write 초당 비트 수. (블록의 크기)
- --device-read-iops / --device-write-iops : read/write 속도 가중치. 0 이상의 정수.
모니터링
: 상태와 동작을 지속적으로 감시하고 평가하는 프로세스.
Command lines
: Docker command 명령어를 통해 상태 확인.
- docker stats [option] [Container_Name] : 실행중인 컨테이너의 런타임 통계 확인
- docker events : 도커 호스트의 실시간 event 정보 수집
Prometheus(프로메테우스)
: Container 환경의 모니터링 기능을 제공하는 오픈소스.
: 모든 App에서 똑같이 구성된 측정값을 내놓으므로 표준적인 형태의 모니터링이 가능하다.
컨테이너 스토리지
: 컨테이너 내의 주요 데이터를 보존/저장하기 위한 도구.
Container Volume
: 컨테이너에 추가되는 데이터는 별도의 RW 레이어에 저장되어 Docker 엔진지 생성, 관리한다.
: 컨테이너가 삭제되어도 볼륨에 저장된 데이터가 유지되며 여러 컨테이너에 볼륨을 공유할 수 있다.
- docker volume create (볼륨명)
- docker run -d -v [볼륨명] : [마운트 대상 디렉토리] [이미지 이름]
Bind Mount
: Docker 외부의 호스트 시스템의 파일 또는 디렉토리를 컨테이너에 마운트(연결)한다.
: 컨테이너 내/외에서 접근 및 수정이 가능하다.
- docker run -d -v [호스트 디렉토리 경로]:[컨테이너 내부 마운트 경로]:[버전] [이미지 이름]
- [버전]의 경우 :ro는 read-only, :rw는 read-write를 의미한다.
'공부 > 클라우드' 카테고리의 다른 글
클라우드 시스템(7) - Container 통신과 운영 (0) | 2024.12.03 |
---|---|
클라우드 시스템(5) - Docker (0) | 2024.12.03 |
클라우드 시스템(4) - Virtualization (0) | 2024.10.23 |
클라우드 시스템(3) - High Throughput Computing (0) | 2024.09.13 |
클라우드 시스템(2) - History and Model (7) | 2024.09.12 |