728x90
반응형
Docker Hub 레포지토리 및 토큰 생성 방법1. Docke Hub에 Repository 생성도커 허브에서 계정을 만들어 로그인 한 후, Create Repository 버튼을 눌러 새로운 레포지토리를 만든다.예시로 다음과 같이 만들면 된다.2. 토큰 생성 방법1) 토큰 생성Account Settings > Personal access tokens 에서 토큰을 생성한다.오른쪽 상단에 'Generate new token' 버튼 클릭2) 토큰 이름 및 권한 설정토큰 이름과 권한을 설정한다.권한: Read & Write 또는 Read, Write, Delete로 설정 (필요한 권한 설정)업로드하기 위해서는 Write 권한이 반드시 있어야 한다.3) 도커 로그인토큰 생성이 완료되면, 도커에 로그인 한다.터미..
3개의 리눅스 서버를 이용하여 도커 스웜 클러스터 구성하기Virtual Box에서 3개의 리눅스 서버를 만들어서, 도커 스웜 클러스터를 구성해보는 실습을 정리해보았다.우분투 서버 하나를 복제하여 총 3개를 만들고, 한 대의 컴퓨터에서 실습을 진행하기 때문에 이 3개의 서버는 다른 ip를 가져야 실습을 정상적으로 진행할 수 있다. 따라서 네트워크 설정을 통해 ip를 바꿔줘야 한다. 이렇게 설정한 리눅스 서버 3개를 가지고 도커 스웜 클러스터를 구성하고, 도커 스웜 모드를 활용하여 분산된 클러스터 환경에서 애플리케이션을 효과적으로 배포하고 관리하는 방법을 알아보겠다.1. Virtual Box를 이용한 3개의 리눅스 서버 만들기1) 복제VM을 중지하고 [파일] 메뉴에서 [복제]를 선택한다.이름 설정완전한 복제..
Health Check와 명령어 종속 및 모니터링교재 샘플 복사: git clone https://github.com/gilbutITbook/0802581. HEALTHCHECK컨테이너의 프로세스 상태를 체크하고자 할 때 사용한다. 여러 개의 명령어를 지정할 수 있지만, 마지막 명령어만 적용된다. Dockerfile에 명령어 형태로 작성하게 되며, 아래와 같은 옵션들을 사용할 수 있다.--interval: 헬스 체크 간격을 설정하는 옵션으로, 기본값은 30초이다.--timeout: 응답을 기다리는 타임 아웃 값을 설정하는 옵션으로, 기본값은 30초이다.--retries: 재시도 횟수를 설정하는 옵션으로, 기본값은 3회이다.예시 명령어:HEALTHCHECK --interval=1m --timeout=3s ..
GitHub Actions와 Docker Hub를 이용한 무중단 배포 구현하기2024.10.21 - [클라우드 스쿨/도커(Docker)] - [Docker] Dockerfile을 이용하여 DockerHub에 애플리케이션 배포하기이전 글에 이어, 이 실습에서는 GitHub Actions와 Docker를 활용하여 CI/CD 파이프라인을 구축하고 DockerHub에 이미지를 배포하는 과정을 다룬다.1. CI/CD 파이프라인 개념CI (Continuous Integration): 개발자가 코드를 자주, 그리고 작은 단위로 병합할 수 있게 함으로써 빌드와 테스트 과정을 자동화한다. 각 커밋마다 문제가 있는지 자동으로 확인하는 것이 목표이다.CD (Continuous Deployment or Delivery): 코..
Dockerfile을 이용해서 DockerHub에 애플리케이션 배포하기1. 애플리케이션 생성 및 테스트가상환경 생성 패키지 설치가상환경 생성: `python3 -m venv 가상환경이름`가상환경 활성화: 맨 앞에 (가상환경이름)이 보이는지 확인한다.이 소스코드를 실행할 때는 가상환경 안에서 실행을 하거나, 이 가상환경에 설치된 외부 라이브러리를 다시 설치한 후 실행해야 한다. sudo apt install python3.12-venv python3 -m venv myvenv source myvenv/bin/activatepip3로 패키지를 설치한다. 이때, 가상환경에 설치되는 게 맞는지 확인할 때에는 which pip3를 이용한다.1) Django API Server를 만들기 위한 패키지 설치django..
Flask와 Nginx를 이용한 컨테이너 로드밸런서 구축1. 개요도커를 활용하면 HaProxy, Nginx, Apache 등 외부 로드밸런서 서비스를 컨테이너와 결합해 로드밸런싱 기능을 구현할 수 있다. 다음은 Nginx를 사용한 로드밸런싱 알고리즘들이다.Nginx 로드밸런싱 알고리즘Round Robin: 기본 방식으로, 요청을 순차적으로 처리한다.Least Connections: 연결 개수가 가장 적은 서버에 요청을 배정한다.Least Time: 평균 지연 시간이 가장 짧은 서버에 요청을 보낸다.IP Hash: 클라이언트의 IP를 해싱해 특정 서버로 요청을 배정한다.General Hash: IP, 포트, URI 등 사용자가 지정한 문자열을 해싱해 서버에 요청을 배정한다.Random: 무작위로 서버를 선..