DOCKER 10

[Docker] AWS EC2에서 Docker를 활용해서 서버 배포하기

1. Ubuntu에서 Docker 및 Docker Compose 설치하기EC2의 가상 인스턴스에 연결해서 설치를 해야함1) Docker 설치sudo apt-get update && \sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common && \curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - && \sudo apt-key fingerprint 0EBFCD88 && \sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/u..

DOCKER 2025.06.22

[Docker] AWS EC2에 서버 배포하기(Express 서버 배포하기)

1. 배포(Deployment)란?배포란, 내가 개발한 웹 서비스 또는 서버를 다른 사용자들이 인터넷을 통해 사용할 수 있도록 만드는 것개발 중: localhost로 테스트함.배포 후: IP 또는 도메인 주소로 접속 가능.예: http://localhost:3000 → http://13.250.15.132:3000 또는 https://myapp.com2. EC2란 무엇인가?☁️ 1) 한 줄 요약:AWS에서 제공하는 클라우드 컴퓨터를 빌려서 원격으로 사용하는 서비스✔ 왜 EC2를 쓰는가?내 컴퓨터로 서버를 배포하면 24시간 켜둬야 함보안 위험 있음EC2는 언제든 껐다 켤 수 있음 + 확장성 좋음부가기능: 로깅, 오토스케일링, 로드밸런싱 등✔ 프론트엔드는 EC2 안 써도 됨?S3, Vercel, Netlif..

DOCKER 2025.06.21

[Docker] Docker Compose 란??

1. Docker Compose란?여러 개의 Docker 컨테이너를 하나의 서비스 단위로 정의하고, 일괄적으로 실행/관리할 수 있게 도와주는 도구즉, 여러 개의 Container를 한 번에 묶어서 관리 가능!!1) 사용하는 이유복잡한 애플리케이션 구성 간소화- 여러 컨테이너(MySQL, Redis, Spring Boot, Frontend 등)를 하나의 compose.yml 파일에 정의해 일괄 실행 가능.명령어 단순화- 복잡한 Docker CLI 명령어 없이 docker compose up 한 줄이면 실행 가능.- 아래의 명령어를 compose.yml 파일 작성과 docker compose up 명령어를 이용하여 실행 가능$ docker run -e MYSQL_ROOT_PASSWORD=pwd1234 -p ..

DOCKER 2025.06.20

[Docker] Dockerfile를 사용하여 dockerimage 직접 만들기

1. Dockerfile이란?Dockerfile은 Docker 이미지를 만들기 위한 설정 파일우리가 사용하는 Docker 이미지들은 누군가가 Dockerfile을 작성해서 만든 결과물이며, 이 파일을 기반으로 docker build 명령어를 통해 이미지를 생성✨ 사용 예시내가 만든 Spring Boot 프로젝트를 Docker 이미지로 만들어 배포하고 싶을 때Node.js 또는 JDK가 미리 설치된 이미지로 개발 환경을 세팅하고 싶을 때Dockerfile을 통해 우리는 '내가 원하는 환경이 세팅된 컨테이너'를 구성할 수 있음이는 마치 새 컴퓨터를 구매했을 때 운영체제만 설치된 상태에서 필요한 프로그램을 직접 설치하는 것과 같음Dockerfile의 FROM 명령어는 바로 이 '운영체제가 설치된 초기 상태'를..

DOCKER 2025.06.19

[Docker] Docker Container 데이터 유실 방지하기 - Volume 사용하기

Docker를 활용하면 특정 프로그램을 컨테이너로 띄워서 간편하게 실행할 수 있음하지만 컨테이너는 수명이 짧고, 새로운 기능이 추가되면 기존 컨테이너를 수정하지 않고 새 이미지로 교체함.이 구조가 효율적이긴 하지만, 문제는 컨테이너 안에 있던 데이터도 함께 삭제된다!!예를 들어, MySQL 컨테이너를 사용하다가 교체하면 MySQL에 저장된 데이터까지 같이 사라져버리는 일이 발생이런 문제를 해결하기 위해 Docker는 볼륨(Volume) 이라는 개념을 제공📌 1. Docker Volume(도커 볼륨) 이란?Docker Volume은 도커 컨테이너에서 데이터를 영속적으로 저장하기 위한 방법컨테이너 자체의 저장 공간을 사용하는 것이 아니라, 호스트 머신의 저장 공간을 공유하여 데이터를 유지즉, 컨테이너가 삭..

DOCKER 2025.06.19

[Docker] Docker CLI 익히기

📥 1. Docker 이미지(Image) 다운로드Docker 이미지는 특정 애플리케이션이 실행되기 위한 모든 설정, 코드, 라이브러리가 포함된 패키지DockerHub에서 이미지를 다운로드(pull)1) 최신 버전 이미지 다운로드$ docker pull nginx # == docker pull nginx:latestnginx는 공식 이미지 이름latest는 기본 태그로 최신 버전을 의미2) 특정 태그 버전 이미지 다운로드$ docker pull nginx:stable-perl:stable-perl은 특정 버전을 명시한 태그🔗 태그 확인은 DockerHub nginx 페이지에서 가능🔍 2. 이미지 확인 및 삭제1) 다운로드한 이미지 목록 확인$ docker image ls 항목설명REPOS..

DOCKER 2025.06.18

[Dokcer] Docker란 무엇일까?? (Container 란??, Image 란??)

🐳 1. 왜 Docker를 배워야 할까?핵심 이유: 이식성 (Portability) 서로 다른 환경에서도 똑같은 결과를 보장한다는 것이 Docker의 가장 큰 장점!! ❓ 예를 들어서친구는 MySQL을 잘 설치했는데,나는 같은 방식으로 설치했는데도 오류가 뜬다?이유는 다양:OS 차이 (Windows vs Mac)버전 충돌보안 프로그램 간 충돌이런 복잡한 상황을 Docker는 한 줄 명령어로 해결docker run mysql 💡 설치 과정 X, 환경 설정 X → 바로 실행!🧩 2. Docker의 핵심 개념 세 가지 1) Docker란?하나의 컴퓨터 안에 여러 개의 독립된 미니 컴퓨터 환경(컨테이너)을 만들 수 있는 툴2) 컨테이너(Container)란?독립적인 실행 환경각 컨테이너는 자기만의 저장공간..

DOCKER 2025.06.17

[SpringBoot] application.properties 환경 분리하기

지금까지 나의 프로젝트와 redis, DB 등의 연동과 관련된 설정들을 application.properties 파일에서 작성하였다. 그런데, 이번에 해당 프로젝트의 배포를 준비하면서 application.propertied 파일의 내용을 변경해야하 하는 일이 많아졌다.예를 들어, DB의 url, username, password 같은 경우, 로컬에서 개발을 할 때는, 내 PC에 설치된 mysql을 사용하여 localhost의 주소를 사용하였지만, 배포를 할 때는 외부나 내부의 DB와 연결해야 하기 때문에 이러한 설정 변경을 필수적이다. 배포를 할 때, 이러한 항목들을 변경하면 이후 내가 다시 개발을 할 때는 에러가 날 것이다!! 때문에 application.properties를 로컬 개발 환경(loca..

DOCKER 2025.04.12

[Docker] Docker를 사용해서 Spring boot + React 배포하기 ( 1 )

현재 진행 중인 동아리 게시물 웹 프로젝트가 어느덧 배포 단계까지 오게되었다. 구글에서 지원하는 GCP와 Docker를 사용해서 배포할 예정이다. 배포 흐름1. 내 인텔리제이 프로젝트에서 프론트엔드와 백엔드 프로젝트에 각각 DockerFile 및 .dockerignore 작성2. 백엔드(./gradlew build -x test), 프론트엔드(npm run build) 로 앱 빌드3. docker build -t 로 docker 이미지 파일로 빌드(Docker 설치 필요)4. 프론트엔드 백엔드 docker 이미지에 각각 GCP 주요용 이름(tag) 붙이기5. docker 이미지를 Artifact Registry로 푸쉬6. 이후에는 VM을 사용해서 배포할지, Cloud Run을 이용해서 할건지 선택7. 배..

DOCKER 2025.04.07