



Dockerfile로 이미지 만들기
#사용할 베이스 이미지 명시 (공식 이미지 권장)
FROM openjdk:17-jdk
#작업 디렉토리 생성 및 설정(컨테이너 내부 경로에 시작점으로 지정 -> 없으면 생성 됨)
WORKDIR /app
#jar파일 등 빌드 결과물을 컨테이너에 복사 (호스트 -> 컨테이너)
COPY build/libs/myapp.jar /app/app.jar
#환경변수 사용
ENV PROJECT_NAME =“스프링 웹 서버입니다."
#컨테이너 실행시 기본으로 실행할 명령
CMD ["java", "-jar", "/app/app.jar"]
//이미지 만드는 명령어
docker build -t [이미지이름]:[태그] [Dockerfile경로]
//예시
docker build -t backend .
docker Hub에 이미지 올리기
//이미지 올리기 전 태깅하기
docker tag backend:v1 eunshik/ backend:v1
//push
docker push eunshik/ backend:v1

docker-compose.yaml 파일로 여러 컨테이너 만들기
services:
backend1: # 서비스 이름
image: backend # 이미지 이름
container_name: backend1 #컨테이너 이름
ports:
- "8080:8080" # 호스트:컨테이너 포트 매핑
volumes:
- ./logs:/app/logs # (호스트:컨테이너) 볼륨 폴더 마운트
database:
image: mysql:8.0
container_name: database #컨테이너 이름
restart: always #컨테이너 꺼지면 자동 재시작
ports:
- "3307:3306“
environment:
MYSQL_ROOT_PASSWORD: 1234
MYSQL_DATABASE: backend
volumes:
- ./volumes/mysql-data:/var/lib/mysql
//컨테이너 생성 및 시작
docker compose up -d
'멋쟁이 사자처럼' 카테고리의 다른 글
| [멋사 백엔드 부트캠프] WebSocket을 활용한 GPT AI 챗봇 만들기 (0) | 2025.07.01 |
|---|---|
| [멋사 백엔드 부트캠프] Redis (0) | 2025.07.01 |
| [멋사 백엔드 부트캠프] Websocekt이란 (0) | 2025.06.24 |
| [멋사 백엔드 부트캠프] docker compose (0) | 2025.06.20 |
| [멋사 백엔드 부트캠프] docker (0) | 2025.06.20 |