도커16 [AWS] EC2 Nginx Reverse Proxy(feat. Docker compose) 이전 포스팅 [AWS] AWS EC2에서 Docker-compose로 Nginx, Tomcat 연동이전 포스팅 [AWS] EC2 인스턴스에서 Spring Boot와 Docker로 배포이 포스팅에서는 ssh로 EC2 인스턴스에 접속한 다음에 이루어지는 개발환경 세팅을 다룬다.패키지 최신화우분투 환경이라 아래 명령어yaga.tistory.com이 포스팅에서는 기존에 구축환경에 Nginx의 리버스 프록시로 로드밸런싱을 추가한다.이전 포스팅을 진행하고 와야 이번 내용을 진행하기 수월하다.기존에 Docker-compose환경으로 Nginx와 Tomcat만 서로 연동 했었다.디렉토리 구조를 위와 같이 만들고 기존의 tomcat폴더를 tomcat1로 그리고 tomcat2폴더를 추가했다.몇가지 설정만 변경해주면 된다... IT/DevOps 2025. 2. 15. [Docker] Docker Compose sample(테스트 영상) 배운 건 또 바로 써먹어야 체득이 되니 간단한 프로젝트로 Docker로 API Server를 구축해 봤음(Dockerfile을 이용해서 서버 설정 후 Docker Compose로 묶음)springBoot로 간단한 CRD API를 만들고 mysql과 동일 네트워크로 구성해서 Docker로 띄움insert 기능 작성 부분은 동영상 촬영을 일시정지 하면서 진행해서 짤림 😥개인 스터디 기록을 메모하는 공간이라 틀린점이 있을 수 있습니다.틀린 점 있을 경우 댓글 부탁드립니다. IT/Live Coding 2023. 11. 7. [Docker] Docker Compose [2] (테스트 영상) 도커로 springBoot API 서버, mysql 서버를 같은 네트워크로 묶어서 띄운 후 호스트 PC에서 호출하는 예제테스트 프로젝트springBoot server Dockerfile 😄FROM openjdk:11-jdk-slimWORKDIR /app#현재 경로의 모든 파일 복사COPY . .# 개행문자 오류 해결 [unix와 window 시스템 차이], 이건 예제 소스 그대로 가져옴RUN sed -i 's/\r$//' gradlew# gradlew파일 파일 실행 권한 부여RUN chmod +x ./gradlew# gradlew 빌드 실행RUN ./gradlew clean build#환경변수 세팅ENV JAR_PATH=/app/build/libs#파일명 변경RUN mv ${JAR_PATH}/*.jar.. IT/Live Coding 2023. 11. 5. [Docker] Docker Compose [1] (테스트 영상) 목차Docker Compose 이용해서 mysql 컨테이너 실행 후 볼륨 관련 테스트 하는 간단한 예제docker-compose.yml 😃yml 형식이라 들여쓰기 주의services:# db라는 이름은 내맘대로 그 안의 image, restart 등은 수정 불가 db: image: mysql restart: always volumes: # 호스트 볼륨 연결 - ./mysql-data:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=1234 - MYSQL_DATABASE=rootdb ports: - "3309:3306"# 위에서 설정한 볼륨 연결volumes: mysql-compose-vo.. IT/Live Coding 2023. 11. 5. [Docker] Docker File [6] (테스트 영상) 목차Dockerfile 🙂FROM mariadb#환경변수 세팅ENV MYSQL_USER=sonENV MYSQL_PASSWORD=1234ENV MYSQL_ROOT_PASSWORD=1234ENV MYSQL_DATABASE=sondb#캐릭터셋 세팅CMD [ "--character-set-server=utf8mb4", "--collation-server=utf8mb4_unicode_ci" ]Docker Command 😎#빌드docker build -t mysql-image .#그냥 볼륨 이용해서 컨테이너 실행(mysql에서 자동으로 볼륨 생성)#3306 ~ 3308까지 포트 사용중이라 3309로 포트포워딩 함docker run -d -p 3309:3306 --name mysql-container mysql-.. IT/Live Coding 2023. 11. 5. [Docker] Docker File [5] (테스트 영상) 목차nginx의 프록시를 이용해 요청에 따라 서버 2개로 분배하는 예제lb Dockerfile(메인서버) 🤗예제에서는 lb가 메인서버를 뜻함클라이언트 요청을 제일 먼저 받는 서버FROM nginx#vim은 편의상 설치했음, 선택사항임RUN apt-get updateRUN apt install -y vim# COPY index.html /usr/share/nginx/html#(메인서버 호출 시 index.html 없어서 404 페이지 보여서 만들었음)COPY index.html /etc/nginx/html/index.htmlCOPY conf/nginx.conf /etc/nginx/conf.d/default.confENTRYPOINT [ "nginx", "-g", "daemon off;"]lb nginx... IT/Live Coding 2023. 11. 4. [Docker] Docker File [4] (테스트 영상) Dockerfile로 nginx 설정파일 복사 후 기동Dockerfile을 이용해서 nginx 이미지를 만들되 내가 만든 설정파일을 복사해서 실행하는 예제Dockerfile 😄#DockerfileFROM nginx#docker build 실행 경로: C:\Users\사용자명\DOCKER_LAB\ex03#이 경로 하단에 webapp폴더, conf폴더 COPY webapp /usr/share/nginx/htmlCOPY conf/nginx.conf /etc/nginx/conf.d/default.conf ENTRYPOINT [ "nginx", "-g", "daemon off;"]#Dockerfile로 이미지 만들 때 nginx index html파일과 .conf 설정 파일 복사 해서 #내가 설정한 htm.. IT/Live Coding 2023. 11. 4. [Docker] Docker File [3] (테스트 영상) Dockerfile의 RUN을 이용해서 이미지를 만들 때 nginx를 설치해서 만들되 COPY를 이용해서index.html을 내가 만든 html로 적용해보는 예제Dockerfile 😄FROM ubuntu#RUN을 이용해서 기존의 우분투에 apt update 후 nginx 설치RUN apt-get update# -y 옵션 안 붙이면 빌드 시 에러 발생함RUN apt-get install -y nginxWORKDIR /var/www/html COPY ./webapp ./ENTRYPOINT [ "nginx", "-g", "daemon off;"]개인 스터디 기록을 메모하는 공간이라 틀린점이 있을 수 있습니다.틀린 점 있을 경우 댓글 부탁드립니다.reference: https://www.youtube.c.. IT/Live Coding 2023. 11. 4. [Docker] Docker File [2] (테스트 영상) 목차Docker Entrypoint & Workdir 😄Entrypoint: Dockerfile로 만든 이미지를 컨테이너화 할 때 기본 명령어Workdir: Dockerfile로 만든 이미지를 컨테이너화 할 때 기본 디렉토리Dockerfile로 jar 실행 😎jdk 11버전으로 만든 springBoot 애플리케이션을 실행하기 위해 Dockerfile로 openjdk 11버전 이미지를 다운받아서 Entrypoint, WORKDIR, COPY 등을 이용해서 실행하는 예제Dockerfile 🙄#가져올 이미지FROM openjdk:11-jdk-slim#컨테이너화 될 때 명령이 실행되는 디렉토리WORKDIR /app#좌측 경로의 jar파일을 WORKDIR의 application.jar이라는 파일명으로 복사C.. IT/Live Coding 2023. 11. 2. [Docker] Docker File [1] (테스트 영상) 목차호스트 PC의 mount폴더의 index.html의 내용이 컨테이너의 htdocs 경로에 복사도 제대로 됨Docker 파일 내용 예시 😃#apache webserver에서 이미지를 가져와서 현재 경로 하위의 mount폴더의 내용을 /usr/local/apache2/htdocs로 복사#컨테이너 실행 시 명령어는 httpd-foreground로 설정FROM httpdCOPY ./mount /usr/local/apache2/htdocsCMD ["httpd-foreground"]파일명을 Dockerfile(확장자 X)로 저장mount경로에 html파일 생성 🙂 Hello WorldDocker파일 이미지화 🥰#webserver는 내가 설정할 이미지명, 그 뒤에는 현재 경로 하위 지정docker build.. IT/Live Coding 2023. 11. 1. 이전 1 2 다음