본문 바로가기
728x90
반응형

Docker26

스웜을 이용한 실전 애플리케이션 개발 2 스웜을 이용한 실전 애플리케이션 개발 1 스웜을 이용한 실전 애플리케이션 개발 2 스웜을 이용한 실전 애플리케이션 개발 3 스웜을 이용한 실전 애플리케이션 개발 4 API 서비스 구축 #1 이미지 생성을 위한 리포지토리 클론 #2 API 서비스 소스 코드 확인 #2-1 main.go 소스 확인 #2-2 환경변수 값을 가져와서 구조체에 저장하는 소스 확인 #2-3 MySQL 접속을 위한 소스 확인 #2-4 HTTP 요청을 처리하는 핸들러 소스 확인 #3 이미지 생성 및 도커 허브 등록 #3-1 Dockerfile 작성 #3-2 이미지 빌드 #3-3 이미지 생성 확인 및 도커 허브 등록 #4 todo_api 서비스 실행 #5 todo_api 테스트 포트 포워딩 설정이 되어 있지 않기 때문에 todo_app_.. 2020. 9. 23.
스웜을 이용한 실전 애플리케이션 개발 1 스웜을 이용한 실전 애플리케이션 개발 1 스웜을 이용한 실전 애플리케이션 개발 2 스웜을 이용한 실전 애플리케이션 개발 3 스웜을 이용한 실전 애플리케이션 개발 4 MySQL 서비스 구축 데이터 스토어 역할을 수행할 MySQL 서비스를 마스터-슬레이브 구조로 구축 MySQL 컨테이너는 도커 허브에 등록된 mysql:5.7 이미지를 기반으로 생성 마스터-슬레이브 컨테이너는 두 역할을 모두 수행할 수 있는 하나의 이미지로 생성 컨테이너에서 MYSQL_MASTER 환경변수의 값 유무에 따라 마스터-슬레이브 동작을 결정 replicas 값을 조절해 슬레이브를 늘릴 수 있게 하며, 이때 마스터, 슬레이브 모두 일시 정지를 허용 유틸리티 설치 #1 MySQL 이미지 생성을 위한 리포지토리 클론 #2 MySQL 설정.. 2020. 9. 23.
07 도커 스웜 모드 노드 다루기 마스터 노드는 최대한 부하를 받지 않도록 서비스를 할당받지 않게 하거나, 문제가 발생한 특정 노드를 유지보수할 때 해당 노드에 컨테이너를 할당하지 않게 만들고 싶을 때 등 docker node update --availability 명령으로 노드의 상태를 변경할 수 있음 구축한 스웜 클러스터의 노드 상태 확인 Active 상태 $ docker node update --availability active node_name 새로운 노드가 스웜 클러스터에 추가되면 기본적으로 설정되는 상태 노드가 서비스의 컨테이너를 할당받을 수 있음을 의미 Drain 상태 $ docker node update --availability drain node_name 스웜 매니저의 스케줄러는 컨테이너를 해당 노드에 할당하지 않음 .. 2020. 9. 17.
06 스웜 모드 볼륨 도커 데몬 명령어 중 run 명령어에서 -v 옵션을 사용할 때는 호스트와 디렉터리를 공유하는 경우와 볼륨을 사용하는 경우에 대한 구분이 없음 스웜 모드에서는 서비스를 생성할 때 도커 볼륨을 사용할지, 호스트와 디렉터리를 공유할지를 명확하게 명시 volume 타입의 볼륨 생성 → --mount 옵션의 type값에 volume을 지정 ⇒ 도커 볼륨을 사용하는 서비스를 생성 → source ⇒ 사용할 볼륨 (도커 데몬에 해당 볼륨이 존재하면 해당 볼륨을 사용하고 없으면 새로 생성) → target ⇒ 컨테이너 내부에 마운트될 디렉터리 위치 srouce 옵션을 명시하지 않으면 임의의 16진수로 구성된 익명의 이름을 가진 볼륨을 생성 서비스의 컨테이너에서 볼륨에 공유할 컨테이너의 디렉터리에 파일이 이미 존재하면 .. 2020. 9. 17.
728x90
반응형