도커 교과서 21장 메시지 큐를 이용한 비동기 통신
·
📚 책/도커 교과서
21장 메시지 큐를 이용한 비동기 통신21.1 비동기 메시징이란?동기 통신소프트웨어의 컴포넌트는 대개 동기적으로 통신한다.클라이언트가 서버에 접속 요청을 보내고, 서버의 응답을 기다린 다음 접속을 종료하는 전체 과정이 동기적으로 이뤄진다.동기적 통신을 할 때 서버가 다운되거나, 응답 시간이 오래 걸리는 경우, 네트워크 수준에서 실패한 경우 등이 문제가 된다.비동기 통신비동기 통신을 적용하려면 클라이언트와 서버 사이에 계층이 하나 추가된다.클라이언트가 큐에 요청을 보내고, 서버는 큐를 주시하다가 메시지를 수신하고 처리한다.그렇다면 비동기 통신이 무조건 좋은가? 에 대한 답은 아니다.큐를 제공하는 기술의 신뢰성이 뛰어나야 하며, 큐 기술의 사용량이 비싸다는 큰 단점이 있다.도커를 사용하면 엔터프라이즈급 안정..
도커 교과서 20장 리버스 프록시를 이용해 컨테이너 HTTP 트래픽 제어하기
·
📚 책/도커 교과서
20장 리버스 프록시를 이용해 컨테이너 HTTP 트래픽 제어하기20.1 리버스 프록시란?여러 웹 애플리케이션으로 통하는 관문 역할을 수행.리버스 프로시는 포트를 외부로 공개한 유일한 컨테이너 이다.외부에서 들어오는 모든 트래픽은 먼저 리버스 프록시를 거치므로 애플리케이션 포트를 외부로 공개하지 않아도 된다.애플리케이션이 응답 내용을 캐시해 두었다가 적절하게 가공해서 클라이언트에게 전달.스케일링, 업데이트 보안 면에서 유리.리버스 프록시를 경량 컨테이너로 실행하게 되면서 모든 환경에서 동일한 프록시 설정을 사용할 수 있다.Nginx 프록시 설정하기Nginx 가 단순히 요청을 전달하는 매개자 역할을 한다.요청을 받을 때마다 이를 처리하는 컨테이너(upstream) 을 호출한다.응답을 다시 클라인어트 (dow..
도커 교과서 19장 도커를 이용한 로그 생성 및 관리
·
📚 책/도커 교과서
19장 도커를 이용한 로그 생성 및 관리19.1 표준 에러 스트림과 표준 출력 스트림도커 이미지는 애플리케이션 바이너리 및 의존성, 그리고 컨테이너를 시작할 때 도커가 실행할 프로세스에 대한 정보 등을 담은 파일 시스템의 스냅샷이다.컨테이너를 시작할 때 실행되는 프로세스는 포어그라운드로 동작한다.실행된 프로세스에서 생성한 로그 엔트리는 표준 출력 및 표준 오류 스트림으로 출력된다.도커는 각 컨테이너의 stdout 과 stderr 스트림을 주시하며 스트림을 통해 출력되는 내용을 수집한다.포어그라운드(Foreground) 란? 터미널에서 직접 명령을 내리고, 실행 결과를 바로 확인할 수 있는 상태. 즉, 터미널과 프로세스가 긴밀하게 연결되어 있는 상태.$ docker container logs --tail ..
도커 교과서 18장 컨테이너의 애플리케이션 설정 관리
·
📚 책/도커 교과서
18장 컨테이너의 애플리케이션 설정 관리18.1 다단 애플리케이션 설정설정 데이터 종류는 세 가지다.버전에 따라 달리지는 설정모든 환경에서 동일하지만 버전별로 달라지는 설정환경에 따라 달라지는 설정기능 설정버전별로 애플리케이션의 동작을 달리하기 위한 설정애플리케이션에 설정 주입하기버전에 따라 달라지는 설정값은 이미지의 기본 설정에 포함시킨다.환경별로 달라지는 설정값은 컨테이너 파일 시스템에 주입되는 오버라이드 파일에 넣는다.기능 설정은 환경 변수 형태로 다룬다.$ docker container run -d -p 8080:80 diamol/ch18-access-log$ docker container run -d -p 8081:80 -v "$(pwd)/config/dev:/app/config-override..
도커 교과서 17장 도커 이미지 최적화하기: 보안, 용량, 속도
·
📚 책/도커 교과서
17장 도커 이미지 최적화하기: 보안, 용량, 속도17.1 도커 이미지를 최적화하는 방법이미지가 최적화되어야 이미지 빌드와 배포가 빨라지고, 애플리케이션의 보안이 지켜진다.애플리케이션을 업데이트하기 위해 컨테이너를 교체하면 새로운 이미지를 내려받지만, 기존 이미지도 삭제되지 않고 남는다.이 경우가 지속되면 디스크 용량이 순식간에 부족해지는 경우가 많다.$ docker system df주기적으로 docker system prune 명령어를 사용하여, 사용하지 않는 이미지 레이어나 빌드 캐시를 비워주는 것이 좋다.꼭 필요한 파일만 이미지에 포함시키기꼭 필요한 파일만 이미지에 포함시키는 것이 디스크 용량 절약의 첫걸음 이다.$ vi Dockerfile.v1FROM diamol/baseCMD echo app- ..
도커 교과서 16장 어디서든 실행할 수 있는 도커 이미지 만들기 : 리눅스, 윈도, 인텔, ARM
·
📚 책/도커 교과서
16장 어디서든 실행할 수 있는 도커 이미지 만들기 : 리눅스, 윈도, 인텔, ARM다중 아키텍처 이미지는 여러 개의 변종 이미지 형태로 빌드되고 레지스트리에 푸시된다.다중 아키텍처 이미지를 내려받으려 시도하면, 도커는 현재 컴퓨터의 아키텍처와 운영체제에 일치하는 변종 이미지를 받아 온다.16.1 다중 아키텍처 이미지가 중요한 이유AWS 는 ARM 프로세서를 사용하는 가상 머신을 제공한다.인텔이나 AMD 프로세서를 사용하는 가상 머신에 비해 단가가 거의 절반이다.ARM 프로세서의 인스트럭션은 인텔과 AMD 프로세서에서 사용하는 x64 인스트러션과 호환되지 않는다.이미지 아키텍처와 컴퓨터의 아키텍처가 일치해야만 이미지를 내려받을 수 있다.# 64비트 ARM 프로세서용 빌드$ docker build -t d..
도커 교과서 15장 보안 원격 접근 및 CI/CD를 위한 도커 설정
·
📚 책/도커 교과서
15장 보안 원격 접근 및 CI/CD를 위한 도커 설정도커 엔진과 API 분리시 컨테이너 도구의 선택지가 넓어지고, 로컬 명령행 도구로도 원격 컴퓨터에서 실행중인 도커 엔진 관리가 가능하다.15.1 도커 API의 엔드포인트 형태도커 엔진을 원격에서 접근할 수 있게 하려면 명시적으로 외부 접근을 허용해야 한다.HTTP 로 접근을 허용하는 경우는 반드시 피해야 한다.도커 엔진이 HTTP로 접근 가능하게 설정될 경우 호스트 주소만 알면 누구든지 도커 엔진을 마음대로 사용할 수 있다.15.2 보안 원격 접근을 위한 도커 엔진 설정도커에는 API 요청을 받을 수 있는 채널이 두 가지가 있다.A. 전송 계층 보안 (TLS)도커 API 는 상호 TLS를 사용하여 서버와 클라이언트가 각각 인증서를 가진다.서버의 인증서..
도커 교과서 14장 업그레이드와 롤백을 이용한 업데이트 자동화
·
📚 책/도커 교과서
14장 업그레이드와 롤백을 이용한 업데이트 자동화14.1 도커를 사용한 애플리케이션 업그레이드 프로세스배포 주기는 애플리케이션의 버전을 제외하고 아래 4가지를 고려해야 한다.A. 의존 모듈의 업데이트B. 애플리케이션 코드를 컴파일하는 데 사영하는 SDK 업데이트C. 애플리케이션이 동작하는 플랫폼의 업데이트D. 운영체제 업데이트애플리케이션에 변경이 없더라도 매달 새 버전을 배포해야 하는것은 부담스러운 일이다.하지만, 주기적인 배포를 자동화하면 빌드에 신뢰감이 생기고, 다음 배포 주기를 기다리지 않고도 작업이 끝난 새 기능을 바로 배포에 포함시킬 수 있다.빌드에 대한 신뢰감은 성공적인 배포가 계속 되어야만 쌓을 수 있다.이 때 중요한 것은 애플리케이션 헬스 체크이고, 헬스 체크 없이는 애플리케이션이 자기 수..
MyeongDev
'분류 전체보기' 카테고리의 글 목록