Infra/IaC 18

[Docker] Dockerfile 경량화

출처 : 패캠 gitops Dockerfile 기초 Dockerfile 정의 : 컨테이너의 구성정보를 프로비저닝한 텍스트 template 파일 Dockerfile 흐름 : Dockerfile -> docker build -> image registry(dockerhub) -> deploy docker image Dockerfile 명령어 : https://docs.docker.com/engine/reference/builder/ 빌드 명령어 : docker build -t IMAGE_NAME:TAG [-f DOCKERFILE_NAME] DOCKERFILE_LOCATION Dockerfile 최적화 : 경량의 컨테이너 서비스 제공 dockerfile 작성 고려 사항 : https://docs.docker...

Infra/IaC 2023.10.26

[Docker] docker volume 데이터 지속성 및 데이터 관리

출처 : 패캠 gitops https://docs.docker.com/storage/volumes/ 1. Bind mount 호스트에서 직접적인 관리된다. docker run ~~ -v /host-volume:/app ~~ docker run ~~ --mount type=bind,source=/host-volume ~~ # 리눅스 mount와 유사 예시1 : redis 설치에 config 파일에 패스워드를 설정하여 그 파일을 바인트 마운트 한다. 예시2 : 파일 투 파일로 연동. 시간동기화: /etc/localtime (Dockerfile로 설정이 편하긴함) 2. docker volume 도커의 볼륨 드라이버로 도커가 관리함.(도커에서 권장하는 방법) docker volume create my-volum..

Infra/IaC 2023.10.26

[Docker] 리소스 모니터링과 자원 할당 관리

출처: 패캠 gitops 1. 컨테이너 리소스 모니터링을 위한 cadvisor cAdvisor : 구글 오픈소스 컨테이너 모니터링 도구 설치 방법 : https://github.com/google/cadvisor observability tool : cadvisor + prometheus(+node-exporter) + Grafana prometheus : 8080 포트 변경 권고 docker compose up -d # docker compose 사용. -d -> 백그라운드 실행 # Resource Limit 리소스 런타임 제한 htop(top의 상위호환) : 다른 세션에 모니터링 하면서 리소스 소비 제어 실시간 확인용도. CFS : Completely Fair Scheduler ## CPU -c, -..

Infra/IaC 2023.10.24

[Docker] Network 관리

docker network == linux bridge 리눅스의 네트워크 브릿지를 사용한다. CNM 안의 libnetwork를 관리한다. docker network ls docker network inspect bridge veth : virtual ethernet device 브릿지와 컨테이너의 네트워크의 한 쌍이다. sudo apt install bridge-utils brctl show network driver 종류 host : 호스트의 네트워크를 사용. 컨테이너의 ip가 없다. none : 네트워크 연결 안함 bridge : 기본값. 다른 도커서버와 클러스터링 등에 사용 mac : 맥주소만 생성한다. 사용자 정의 네트워크 : docker create [name] 예시 : https://docs...

Infra/IaC 2023.10.20

[Docker] 컨테이너 운용에 필요한 CLI

Docker CLI https://docs.docker.com/engine/reference/commandline/cli/ docker [container] 컨테이너가 기본값이다. 그래서 다른 명령어와 달리 명시하지 않고 사용 가능하다. # 모니터링을 위한 상태 확인 docker top docker port docker stats > cadvisor 도커를 올려서 모니터링도 가능 로그 목적 : 컨테이너 내부의 오류를 알려주기 위해 사용한다. docker logs -f [컨테이너] docker info | grep -i log # 로그 정보 확인 가능. vi /etc/docker/daemon.json # 도커 데몬에 대한 설정으로 제어 가능 컨테이너에 옵션으로 설정도 가능. docker inspect do..

Infra/IaC 2023.10.17

[Docker] docker image 관리

출처 : 패스트캠퍼스 GitOps docker image 이해와 구조 레이어 구조를 이해하면 된다. 도커 이미지를 다운 받으면 구조 이해하자. docker image history [이미지이름] docker image inspect [이미지이름] docker image push hub repositories 1. docker login 1-1. 패스워드 로그인 -> 패스워드가 파일로 저장되어 보안에 취약 1-2. 토큰 로그인 -> 도커 허브에서 토큰 발행 1-3. Two Factor Authentication -> 도커 허브에서 설정 가능 2. docker tag, docker hub 업로드 docker images tag myimage:v1.0 내계정/ myimage:v1.0 docker push 내계..

Infra/IaC 2023.10.15