Tech Stack/Docker

[Docker] 06. Nginx 설정부터 React · Spring 연동까지 정리

[Docker] 06. Nginx 설정부터 React · Spring 연동까지 정리Docker로 백엔드와 DB를 실행했다면,이제 실제 배포 구조에 가까워질 차례다.이번 글에서는 Nginx 개념부터React + Spring 연동,그리고 404 에러 해결까지 한 번에 정리해본다.1. Nginx란 무엇인가?Nginx는 웹 서버이자 리버스 프록시 서버다.사용자의 요청을 먼저 받아서백엔드 서버(Spring 등)로 전달해주는 역할을 한다.구조는 보통 다음과 같다.[사용자] → [Nginx] → [Spring 서버]2. 왜 Nginx가 필요한가?정적 파일(React build 파일) 빠르게 제공백엔드 서버를 외부에 직접 노출하지 않음포트 통합 (80번 하나로 관리 가능)SSL 적용 시 필수3. Docker로 Ngin..

[Docker] 05. 로컬에서 서버 배포까지 흐름 정리

[Docker] 05. 로컬에서 서버 배포까지 흐름 정리Docker 기본 개념부터 Dockerfile, docker-compose까지 정리했다. 이번 글에서는 실제 배포 흐름을 정리해보려고 한다.1. 전체 흐름 한눈에 보기1. 프로젝트 개발 2. Dockerfile 작성 3. 이미지 빌드 4. docker-compose 실행 5. 서버에 동일하게 배포2. 로컬에서의 작업① Dockerfile 작성프로젝트 실행 환경을 정의한다.② 이미지 빌드docker build -t myapp .③ 컨테이너 실행docker run -d -p 8080:8080 myapp로컬에서 정상 실행되는지 확인한다.3. 서버 배포 흐름서버(예: Ubuntu)에 Docker 설치 후, 프로젝트 파일을 업로드한다.그 다음:docker-c..

[Docker] 04. docker-compose 사용법

[Docker] 04. docker-compose 사용법Dockerfile로 이미지를 만들고 컨테이너를 실행해봤다.하지만 실제 프로젝트에서는DB, 백엔드, 캐시 서버 등 여러 컨테이너를 동시에 실행해야 한다.이럴 때 사용하는 것이 docker-compose이다.1. docker-compose란?여러 개의 컨테이너를 하나의 설정 파일로 관리하고한 번에 실행할 수 있게 해주는 도구다.즉,컨테이너 여러 개를 묶어서 실행하는 기능이라고 보면 된다.2. 기본 구조version: '3'services: db: image: mysql:8 environment: MYSQL_ROOT_PASSWORD: 1234 ports: - "3306:3306" backend: build: ...

[Docker] 03. Dockerfile 작성해보기

[Docker] 03. Dockerfile 작성해보기이전 글에서는 Docker 기본 명령어를 정리했다.이번에는 직접 이미지를 만들어보려고 한다.그때 필요한 것이 바로 Dockerfile이다.1. Dockerfile이란?Dockerfile은 이미지를 만들기 위한 설정 파일이다.어떤 환경을 사용할지,어떤 파일을 복사할지,어떻게 실행할지를 작성해두는 설계도라고 보면 된다.2. 기본 구조FROM openjdk:17WORKDIR /appCOPY build/libs/app.jar app.jarENTRYPOINT ["java", "-jar", "app.jar"]3. 명령어 설명① FROM기반이 되는 이미지 지정.여기서는 openjdk 17을 사용한다.② WORKDIR컨테이너 내부 작업 디렉토리 설정.③ COPY로컬 ..

[Docker] 02. Docker 기본 명령어 정리

[Docker] 02. Docker 기본 명령어 정리Docker 개념을 정리했으니,이제 실제로 사용해보려고 한다.처음에는 명령어가 많아 보이지만,자주 쓰는 것만 익히면 생각보다 단순하다.1. Docker 설치 확인docker -vDocker가 정상적으로 설치되어 있다면버전 정보가 출력된다.2. 이미지 다운로드 (pull)docker pull nginxDocker Hub에 있는 공식 nginx 이미지를 다운로드한다.이미지는 실행 설계도라고 보면 된다.3. 이미지 목록 확인docker images현재 내 컴퓨터에 다운로드된 이미지 목록을 확인할 수 있다.4. 컨테이너 실행 (run)docker run -d -p 80:80 nginx-d : 백그라운드 실행-p 80:80 : 포트 연결 (내 컴퓨터 80번 → ..

[Docker] 01. Docker란 무엇인가?

[Docker] 01. Docker란 무엇인가?백엔드 공부를 하다 보면 Docker라는 말을 정말 많이 듣는다.처음에는 나도 "이게 정확히 뭐지?" 싶었다.그래서 개념부터 정리해보려고 한다.1. Docker란?Docker는 애플리케이션을 컨테이너(Container) 단위로 실행할 수 있게 해주는 플랫폼이다.쉽게 말하면,내 컴퓨터에서 잘 되던 프로그램을서버에서도 똑같이 실행되게 만들어주는 도구다.2. 왜 Docker를 사용할까?① 환경 차이 문제 해결"로컬에서는 되는데 서버에서는 안 됩니다"개발하면서 한 번쯤은 겪는 문제다.Java 버전, Node 버전, 라이브러리 차이 때문에 발생하는데Docker는 실행 환경 자체를 통째로 묶어서 실행한다.② 빠른 배포서버에 Docker만 설치되어 있으면이미지 하나로 바..