docker

    [AWS/Docker/Nginx] 단일 서버에서 도메인별 서비스 제공하기

    [AWS/Docker/Nginx] 단일 서버에서 도메인별 서비스 제공하기

    분명 세팅 잘 했는데도 서브도메인이 모두 같은 포트로 넘어가서 하루 종일 끙끙대다가 도움을 받아서 겨우 해결한 문제 사실 설정값 문제는 없었지만 docker-compose 로 이미지 빌드가 제대로 안되어서 이전 설정값으로 계속 사용중이었음 ^^;;; 아무튼 고쳤으니까 블로그 정리하는 김에 적어봅니다 📌 작업 환경 AWS EC2 + ELB Docker Nginx Spring boot React 📁 프로젝트 구조 🔨 도커 컴포즈 세팅 📝 docker-compose.yml version: "3.7" services: # redis 설정 redis: image: "redis:alpine" network_mode: "host" # 서버 설정 backend: image: gengminy/hifi-dev:dev co..

    [Github] Github Actions로 CI/CD 개발 주기 자동화하기 - 3 (AWS EC2 서버에서 배포)

    [Github] Github Actions로 CI/CD 개발 주기 자동화하기 - 3 (AWS EC2 서버에서 배포)

    2편에 이어서 3편도 계속 EC2 와 RDS 프리티어를 구매한 후 세팅까지 완료 자세한 세팅은 나중에 시간 나면 올려보도록 하겠읍니다... 💻 작업 환경 Windows + MacOS AWS EC2 + RDS Spring Boot (Gradle) PostgreSQL Redis Docker 🚀 실제 운영 서버에 배포하기 사실 실 배포는 아니지만 어쨌든 개발 서버와 운영 서버를 통합했기 때문에 운영 서버라고 하는게 맞겠지 Deploy 전용 레포지토리를 만들어주고 프록시를 위한 nginx와 쉘 스크립트를 셋팅해준다 📝 deploy.sh #!/bin/bash # Installing docker engine if not exists if ! type docker > /dev/null then echo "docker..

    [Github] Github Actions로 CI/CD 개발 주기 자동화하기 - 2 (스프링 Gradle 빌드 + 도커 푸시)

    [Github] Github Actions로 CI/CD 개발 주기 자동화하기 - 2 (스프링 Gradle 빌드 + 도커 푸시)

    서버를 어떻게 효율적으로 띄울까 하다가 여러 방식을 찾아보았는데 개발 서버와 운영 서버를 방식이 가장 일반적이었다 하지만 돈없는 가난한 대학생은 여러 서버를 띄울 형편이 안되니... 로컬에서 테스트 코드까지 빡세게 돌린 것들만 하나의 운영 서버에 띄우기로 결심했다 고로 프론트엔드, 백엔드, 배포 레포지토리 3개로 나누었고 아키텍쳐는 다음과 같다 📚 서비스 아키텍쳐 아직 프론트는 건들지 않아서 백엔드 서버와 배포 단계만 진행중이다 backend/main 브랜치에 push가 일어나면 깃헙 액션을 통해 스프링 도커 이미지를 빌드해 도커 허브에 push 한다 이후 deploy/main 브랜치에 push가 일어나거나, 직접 action 을 실행시키면 배포 쉘 스크립트 및 docker-compose를 통해 배포가 ..

    [Docker] docker compose 사용해서 다중 컨테이너 띄우기

    [Docker] docker compose 사용해서 다중 컨테이너 띄우기

    📝 Reference 📚 도커, 컨테이너 빌드업! - 이현룡 📌 docker compose 를 사용하는 이유 컨테이너가 늘어나면 늘어날 수록 docker run 으로 실행해야 할 명령어 수가 많아지며 특히 각각의 컨테이너에 설정할 플래그가 많아질수록 더욱 더 복잡해진다 이를 하나로 묶어서 한번에 서비스를 올리고 관리할 수 있도록 해주는 도구가 도커 컴포즈 각 컨테이너는 독립된 기능을 가지고 공통 네트워크로 구성되어 컨테이너 간 통신이 쉽다 다만 다양한 관리 기능은 없어 실제 운영 환경에서는 쿠버네티스를 사용하는 것이 더 좋다 📜 docker compose 파일 작성 루트 폴더에 docker-compose.yml 또는 docker-compose.yaml 파일을 생성한다 도커 컴포즈 파일은 yml(야믈) 코..

    [Docker] Dockerfile 명령어로 스프링 프로젝트 도커 이미지 빌드 및 푸시

    [Docker] Dockerfile 명령어로 스프링 프로젝트 도커 이미지 빌드 및 푸시

    프로젝트 진행하면서 배포를 직접할 일이 생겼다 보통 잘하는 팀장님이 배포 셋팅을 미리 해줘서 편하게 작업을 했었는데 막상 직접 하려니까 쉬우면 쉽고 어려우면 어려운 복잡한 일이었다 이 글은 도커와 AWS를 공부하면서 참고하기 위해 작성해보는 도커를 이용한 배포 과정, 그 중에서도 Dockerfile 에 대한 작성법이다 📝 Reference 📚 도커, 컨테이너 빌드 업! - 이현룡 📜 Dockerfile 어떠한 컨테이너를 위해 필요한 모든 설정을 기록한 파일 도커 파일을 빌드하면 이미지가 자동으로 생성된다 도커 파일을 통해 특정 컨테이너를 빌드하고 배포하기 위한 과정들을 자동화 할 수 있게 된다 💥 Dockerfile 작성 시 고려할 점 컨테이너 서비스의 장점인 경량 가상화 서비스를 지향하기 위해 최소한의..