본문 바로가기
2024 웹/Spring & Spring Boot

도커 (war 파일 배포)

by concho 2024. 6. 9.

1. 이클립스에서 .war 파일로 빌드
=> war 이란 자바 서버 페이지, 자바 서블릿, 정적 자원 등을 한데 모아 배포하는데 사용되는 Jar파일이다.
=> 압축 파일이라는 뜻

2. 도커 desktop에서 tomcat 해당 버젼의 이미지를 도커 hub에서 pull받기

3. pull 받은 tomcat 이미지를 기반으로 .war 파일을 빌드할 설정 파일(Dckerfile)을 
C 드라이브 어딘가에 아래와 같이 작성
=> .war 파일과 Dockerfile을 같은 폴더에 넣고 ./ 로 상대경로를 이용해 찾는게 전 편함
/usr/local/tomcat/webapps/(war 파일 이름).war 이 경로는 톰캣의 기본 경로임
========================
# 톰캣 베이스 이미지 사용
FROM tomcat:9.0

# .war 파일을 톰캣의 webapps 디렉토리로 복사
COPY ./semi_project.war /usr/local/tomcat/webapps/semi_project.war

# 컨테이너가 8080 포트를 사용하도록 설정
EXPOSE 8181

# 톰캣 서버 실행
CMD ["catalina.sh", "run"]
========================

4. 해당 폴더에서 마우스 우클릭 후 해당 디렉토리에서 cmd 창 켜기

5. cmd 에 
docker build -t (도커 가입한 user name)/(도커 이미지 이름 넣기) . 
를 입력해 도커 이미지를 빌드

6. 도커 desktop을 이용해 도커 이미지를 hub에 업로드

7. aws ec2에서 도커 hub에 올라와있는 이미지를 다운로드해서 컨테이너로 실행
명령어 =>
8090은 톰캣의 포트
80은 aws ec2 열려있는 포트로 설정

허브에서 이미지 다운
sudo docker pull concho/semi-project2

다운받은 이미지 컨테이너화



sudo docker run -p 81:8080 -e TZ=Asia/Seoul concho/semi-project2

[만약 이미 80포트를 다른 컨테이너가 사용중이라면 인바운드 사용자 지정 tcp로 새로운 포트 열어주기]

끝..
















도커 로그인 퍼블릭 으로 허브에 올리면 필요 없음
https://velog.io/@jummi10/create-Docker-Image-with-SpringBoot
참고

로컬 도커 이미지로 빌드
docker build -t concho/concho_img4 .
도커가서 허브에 올리기

모든 컨테이너 삭제
sudo docker rm $(sudo docker ps -aq)

컨테이너 삭제
$ sudo docker rm 3ff994564480

docker image 다운
$ sudo docker pull concho/concho_img2

$ sudo docker rm -f $(docker ps -qa)
도커 모두 한번에 종료

$ sudo docker pull concho/concho_img4
도커 다운
===============================================
sudo docker run -d -p 80:8090 -e TZ=Asia/Seoul concho/concho_img4


sudo docker run -p 80:8090 -e TZ=Asia/Seoul concho/concho_img4


$ sudo docker run -d -p 80:8090 concho/concho_img4
or
$docker run -d -p 80:8080 [docker계정]/[이미지명]
도커허브에 있는 이미지 컨테이너 실행

$ sudo systemctl status docker
도커 실행중인지 보기

$ sudo docker ps
실행 중인 Docker 컨테이너 확인하기

$ sudo docker stop [container_id783942b92005]
도커 중지

$ sudo docker rmi concho/concho_img2
도커 이미지 삭제

$ sudo docker rmi -f $(sudo docker images -aq)
전체 이미지 삭제
docker build -t concho/concho_img2:latest .
덮어씌우기

sudo docker run -e TZ=Asia/Seoul -d concho/concho_img2:latest
타임존과 


'2024 웹 > Spring & Spring Boot' 카테고리의 다른 글

aws 배포 flow  (0) 2024.06.09
aws 배포 자료  (2) 2024.06.08
도커 배포 참고자료  (0) 2024.05.02
spring security  (0) 2024.04.29
spring dependency  (0) 2024.04.29

댓글