공부/docker 8

도커 교과서 ch09 (모니터링)

헬스케어가 존재하더라도 지속적인 애플리케이션 모니터링과 이상이 발생했을때 통보하는 메세지 기능은 필요하다. 컨테이너에서 실행하는 애플리케이션에 있어 투명성은 매우 중요 > 미확보시 애플리케이션의 관리영역이 완전히 비어버리게 된다. 프로메테우스를 사용해 애플리케이션 컨테이너에서 측정된 수치를 수집하고 그라파나를 사용해 수치를 시각화해 이해하기 쉬운 대시보드 형태로 구성한다. 해당 도구들은 오픈소스 + 높은 플랫폼 호환성을 보여주어 동등하게 사용가능하다 컨테이너 화된 애플리케이션 환경은 일반 로컬 서버 환경보다 훨씬 역동적이다 > 수백개 수십개가 넘치는 컨테이너, 플랫폼에 의해 끊임없어 생성되고 삭제되는 컨테이너들 즉 새로운 모니터링 방식이 필요하다. > 프로메테우스가 이런 기능에 적합한 오픈소스 도구 프로..

공부/docker 2024.01.31

도커 교과서 ch08 (헬스 체크와 디펜던시 체크)

도커는 컨테이너를 실행할 때마다 애플리케이션의 기본적인 상태를 확인한다. -> 도커가 확인하는 것은 컨테이너 안의 프로세스의 실행 상태 이러한 헬스 체크는 기본적인 체크 밖에 불가능하다 -> 보장되는 것은 프로세스의 실행 상태 뿐 애플리케이션의 정상적인 상태X 도커는 애플리케이션의 상태가 실제로 정상인지 확인할 수 있는 정보를 도커 이미지에 포함 시킬 수 있는 기능 보유 (Dockerfile 스크립트에 상태확인을 위한 로직 사용) #실습1 (헬스 체크 로직 부재) root@DESKTOP-KU8L7UV:/home/user/080258/ch08/exercises# docker container run -d -p 8080:80 diamol/ch08-numbers-api Unable to find image '..

공부/docker 2023.12.27

도커 교과서 ch07 (도커 컴포즈)

복잡한 애플리케이션 구조를 정의하여 생성할때 Dockerfile 대신 docker compose를 이용하는게 좋다. > 수동으로 일일이 프로세스를 지정하면 애플리케이션 오류가 일어날 확률이 높음 docker compose(도커 컴포즈)파일: 애플리케이션의 '원하는 상태' 즉 컴포넌트가 실행 중일 때 어떤 상태여야 하는지를 기술하는 파일이자 docker container run 명령으로 컨테이너를 실행할 때 지정하는 모든 옵션을 한데 모아놓은 단순한 형식으미 파일이다. 도커 컴포즈 파일 작성 후 > 도커 컴포즈 도구를 사용 > 어플리케이션 실행 > 도커 컴포즈가 필요한 도커 객체(컨테이너, 네트워크, 볼륨 등) 필요한 모든 도커 객체를 만들도록 도커 API에 명령 도커 컴포즈는 JSON으로 변환하기 쉬운 ..

공부/docker 2023.12.22

도커 교과서 ch06 (도커 볼륨)

도커 컨테이너에도 단일 드라이브로 된 파일시스템이 존재 -> 이미지 속 파일로 생성된다. 모든 컨테이너는 독립된 파일 시스템을 갖는다. -> 같은 이미지로 만든 컨테이너라도 추 후에 하나를 수정해도 나머지는 영향이 없다. 실습 user@DESKTOP-KU8L7UV:~/080258/ch06/exercises/random-number/linux$ sudo docker container run --name rn1 diamol/ch06-random-number [sudo] password for user: Unable to find image 'diamol/ch06-random-number:latest' locally latest: Pulling from diamol/ch06-random-number (중략) ..

공부/docker 2023.12.20

도커 교과서 ch05 (도커 레지스트리)

실습환경 초기화 명령 docker container rm -f $(docker container ls -aq) 이미지 차지 디스크 용량 회수 명령 docker image rm -f $(docker image ls -f reference='diamol/*' -q) 도커 플랫폼은 SW 배포기능을 내장하고 있다. 로컬에 없더라도 도커 레지스트리에서 자동으로 내려받아 준다. -> 대부분 도커 허브라는 레지스트리에서 받아진다. (디폴트) 도커 이미지 구조 (도메인)/(계정)/(image name):(tag) docker.io/diamol/golang:latest 구조 설명 docker.io : 이미지가 저장된 레지스트리 도메인(default는 도커 허브) diamol : 작성자의 계정 이름(개인 혹은 단체) go..

공부/docker 2023.12.19

도커 교과서 ch04 (도커 이미지 2)

실습환경 초기화 명령 docker container rm -f $(docker container ls -aq) 이미지 차지 디스크 용량 회수 명령 docker image rm -f $(docker image ls -f reference='diamol/*' -q) 도커의 장점 -> 모든 환경에서 사용가능하며 Dockerfile 스크립트를 작성하여 이미지를 만든 후 어플리케이션 패키징을 위한 Dockerfile 스크립트에서 이 이미지를 사용해 소스코드를 컴파일함으로써 어플리케이션을 패키징 할 수 있다. FROM diamol/base AS build-stage RUN echo 'Building...' > /build.txt #'Building..' 이라는 단어를 build.txt에 입력 FROM diamol/..

공부/docker 2023.12.18

도커 교과서 ch03 (도커 이미지 1)

실습환경 초기화 명령 docker container rm -f $(docker container ls -aq) 이미지 차지 디스크 용량 회수 명령 docker image rm -f $(docker image ls -f reference='diamol/*' -q) docker image pull (URL) #특정 링크의 이미지 받기 docker container run -d --name web-ping diamol/ch03-web-ping # -d: detach의 축약형 -> 백그라운드 작용 옵션 # --name: 컨테이너에 이름 태그 붙이는 옵션 환경변수: 운영체제에서 제공하는 키-값 쌍 docker container run --env TARGET=google.com diamol/ch03-web-ping..

공부/docker 2023.12.18

도커 교과서 ch01~02 (도커 설치 및 기본명령어)

도커 설치 #받기 root@DESKTOP-KU8L7UV:/home/user# sudo apt-get install \ > apt-transport-https \ > ca-certificates \ > curl \ > gnupg-agent \ > software-properties-common #인증키 받기 root@DESKTOP-KU8L7UV:/home/user# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)). OK #키확인 root@DESKTOP..

공부/docker 2023.12.18