728x90
반응형
Portainer를 사용하고 있다면 Portainer에서 직접 docker-compose.yml
을 적용할 수 있습니다.
🔹 Portainer에서 Docker Compose 적용 방법
Portainer는 웹 UI에서 docker-compose.yml
을 직접 배포할 수 있도록 지원합니다.
1️⃣ Portainer에 로그인 후 Stacks
메뉴로 이동
- Portainer 웹 UI에 접속 (
http://your-server-ip:9000
) - 왼쪽 메뉴에서 "Stacks" 선택
- "Add stack" 클릭
2️⃣ docker-compose.yml
내용 입력
- Stack Name 입력 (예:
auto-trading-stack
) - Web editor에서
docker-compose.yml
내용 복사 & 붙여넣기
📌 업데이트된 docker-compose.yml
(Portainer용)
version: '3.8'
networks:
MyNet:
external: true
services:
app:
build: ./app
container_name: springboot_app
restart: always
depends_on:
- db
environment:
- SPRING_DATASOURCE_URL=jdbc:mysql://db:3306/mydatabase
- SPRING_DATASOURCE_USERNAME=root
- SPRING_DATASOURCE_PASSWORD=rootpassword
ports:
- "8080:8080"
networks:
MyNet:
ipv4_address: 172.20.0.50
db:
image: mysql:8.0
container_name: mysql_db
restart: always
environment:
- MYSQL_ROOT_PASSWORD=rootpassword
- MYSQL_DATABASE=mydatabase
ports:
- "3306:3306"
volumes:
- mysql_data:/var/lib/mysql
networks:
MyNet:
ipv4_address: 172.20.0.60
volumes:
mysql_data:
3️⃣ 네트워크(MyNet) 미리 생성하기
Portainer에서 external: true
로 설정된 네트워크는 미리 만들어줘야 해요.
Portainer "Networks" 메뉴에서 직접 만들거나, SSH로 접속해서 다음 명령어 실행:
docker network create \
--subnet=172.20.0.0/16 \
MyNet
4️⃣ Deploy the stack
클릭하여 실행
📌 배포 후 확인 방법
- "Containers" 메뉴에서
springboot_app
과mysql_db
컨테이너가 정상적으로 실행되는지 확인 - "Networks"에서
MyNet
네트워크에 컨테이너가 연결되었는지 확인
🛠 추가 작업 (Spring Boot Dockerfile 필요)
Portainer는 build: ./app
을 사용할 때 Git 또는 로컬 파일이 필요하므로,
Spring Boot용 Dockerfile을 따로 준비해야 합니다.
📌 app/
폴더 내부에 Dockerfile
생성
FROM openjdk:17
WORKDIR /app
COPY target/*.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "app.jar"]
- Spring Boot 프로젝트를 빌드해서
target/
에 JAR 파일을 넣은 후 실행해야 함 - Portainer에서 "Upload from Git" 기능을 사용하면 Git에서 직접 가져올 수도 있음
✅ 정리
- Portainer → "Stacks" → "Add Stack"
docker-compose.yml
붙여넣고 "Deploy the Stack" 클릭- Portainer에서 네트워크, 컨테이너 정상 실행 확인
- Spring Boot 프로젝트의 Dockerfile 준비 및 빌드
728x90
반응형
'IT&DEV - IT & 개발 > ETC' 카테고리의 다른 글
WordPress "데이터베이스 연결 중 오류" 해결 방법 (Docker + MySQL) (0) | 2025.03.14 |
---|---|
[OMV6]Nginx Proxy Manager - an upstream response is buffered to a temporary file (0) | 2025.03.12 |
한국투자증권 OpenAPI에서 웹소켓(WebSocket) 방식을 사용할 때의 장점과 단점 (0) | 2025.03.11 |
[Mac] Homebrew 설치하기 (git 설치) (0) | 2025.01.10 |
워드프레스 도메인 변경 (WordPress 주소 변경) (1) | 2024.12.30 |
댓글