[이전 글]
vb에 CentOS9을 설치하고 GUI에서 CLI로 변경하는 작업
[이번 글]
CentOS9에 docker 설치
- 시스템 업데이트
sudo yum update -y
- Docker 저장소 추가
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- Docker 설치
sudo yum install -y docker-ce docker-ce-cli containerd.io
- Docker 서비스 시작 및 자동 실행 설정
sudo systemctl start docker
sudo systemctl enable docker
- 설치 확인
docker --version
sudo docker run hello-world
- 현재 사용자를 Docker 그룹에 추가 (재부팅 필요)
sudo usermod -aG docker $USER
reboot
Docker에서 Tomcat 실행
- Tomcat 컨테이너 실행
docker run -d --name tomcat -p 8080:8080 tomcat
- Tomcat 실행 확인
라우저에서 http://<CentOS_IP>:8080 접속
이렇게 했는데 접속이 되지 않아서 알아보니 VirtualBox에서 설정을 더 해줘야한다.
그리고 추가로 더 말해서
vm 재시작 후 tomcat에 바로 들어가려면 에러뜬다. 알고보니 Exited 상태인데 수동으로 시작해줘야한다. 왜 그런지는 모르겠다.
docker start tomcat
컨테이너 자동 시작 설정을 해주면 되는 부분이었다.
컨테이너를 삭제하고 다시 실행해줘야하 한다.
docker rm -f tomcat
docker run -d --name tomcat --restart unless-stopped -p 8080:8080 tomcat
로컬(내컴퓨터)에서 http://172.17.0.1:8080 연결해주니 잘된다. 아주 기분이 좋다 ㅎㅎㅎ
- CentOS_IP는 ip a 명령어로 확인 가능
- Tomcat Webapps에 Vue 및 Spring 배포 가능하도록 설정
docker exec -it tomcat /bin/bash
Vue 프로젝트 배포
- Vue 프로젝트 빌드 (로컬에서 진행)
npm run build
- 빌드된 파일을 Tomcat 컨테이너로 복사
docker cp dist/. tomcat:/usr/local/tomcat/webapps/ROOT
Spring Boot 애플리케이션 배포
- Spring Boot 프로젝트 JAR 빌드
./gradlew bootJar # 또는 mvn package
- Spring Boot 실행을 위한 Dockerfile 생성
FROM openjdk:17
COPY build/libs/myapp.jar /app.jar
ENTRYPOINT ["java", "-jar", "/app.jar"]
- Docker 이미지 빌드 및 실행
docker build -t my-spring-app .
docker run -d --name spring-app -p 8081:8080 my-spring-app
- Spring Boot API 확인
curl http://<CentOS_IP>:8081/api
Vue와 Spring 연동하여 내 PC에서 보기
- Vue 프로젝트의 API URL을 CentOS IP로 변경
VUE_APP_API_URL=http://<CentOS_IP>:8081
- Vue에서 CentOS의 Spring Boot API 호출 확인
curl http://<CentOS_IP>:8081/api
- 브라우저에서 Vue 애플리케이션 접속
=> http://<CentOS_IP>:8080
'머리 있든 없든 정리하기!!!' 카테고리의 다른 글
누가 물어보면 대답할 수 있을까??? - #[ @Autowired ] (2) | 2025.06.06 |
---|---|
[vue-spring] 배포 연습[1] : centOS9-docker install[3] - ssh (0) | 2025.03.28 |
[vue-spring] 배포 연습[1] : centOS9-docker install[1] (0) | 2025.03.27 |
[Spring] VSCode - Spring Project [4] (0) | 2025.03.20 |
[Spring] VSCode - Spring Project [3] (0) | 2025.03.19 |