AWS/Web Server 구축해보기
도커를 이용해 인스턴스에 톰켓 배포
소농배
2018. 12. 19. 20:20
1. 배포를 하기 위해 Project를 build 하여 war 파일을 준비. => Script 를 작성해서 ./gradlew build -> docker build -> docker push 까지 한번에 해주면 편하다. => docker를 push 할 때는 항상 tag가 붙어있어야 한다.
=> docker build 에 사용되는 Dockerfile 은 다음과 같다.
기존 tomcat 이미지에 ROOT 디렉토리를 삭제하여 내가 배포하는 war가 기본 서비스가 되도록 한다. => 이 과정을 거치지 않으면 배포하는 war에 접근하기 위해서 {url}:{port}/{war name} 처럼 war name을 항상 적어줘야 한다. 2. AWS console 에 로그인하여 작동중인 EC2 의 security groups 설정을 변경해준다. => HTTP port 를 열어준다. 3. EC2에 접속하여 방화벽을 열어준다.
4. sudo docker pull thsdndqo00/webserver 5. docker run -it -d -p 8080:8080 --name dockerwar webserver => local 에서 도커를 사용해 톰켓을 띄울때와 다른점은 -d이 추가되고 --rm 옵션이 사라진다. => -d = detach 모드로 도커를 실행한다. => --rm = 실행중인 도커에 detach되면 컨테이너를 삭제한다. deploy script 1 2 3 4 5 6 7 8 9 10 11 #/bin/sh sudo docker stop dockerwar sudo docker rm dockerwar sudo docker rmi thsdndqo00/webserver:latest sudo docker pull thsdndqo00/webserver sudo docker run -it -d -p 8080:8080 --name dockerwar thsdndqo00/webserver cs | |