본문 바로가기
AWS

jar파일을 docker를 사용해서 aws에 배포하는 명령어

by devebucks 2020. 10. 20.
728x90

안녕하세요.

이번 포스팅에서는 제가 jar 앱을 docker 사용해서 aws에 배포하면서 사용한 명령어를 순서대로 알아보겠습니다.

아래 사진은 제가 만들어 본, 시스템 구성도입니다.

 

1. IDE에서 jar 패키징

 > mvn clean package
 //테스트 뺴고 패키징하려면 옵션으로 -DskipTests를 주면 됩니다.

패키징 성공시 터미널 메시지

 

2. docker로 패키징한 jar를 docker 이미지로 빌드합니다.

- 해당 명령어는 로컬 PC에 설치된 docker에 이미지가 생성되는 것입니다.

- Docker Hub에 이미지를 올리려면 이미지 이름을 <Docker Hub 사용자 계정>/<이미지 이름>:<태그> 형식으로 생성해야 합니다. 아무 사용자 이름이나 사용할 수 있지만 내 계정 이름과 일치해야 이미지를 올릴 수 있습니다. 태그를 지정하지 않으면 latest가 됩니다.

> docker build -t 도커허브 닉네임/도커허브레포지토리 이름 .
/* 
빌드 시, 필요한 속성값을 주는 옵션
--build-arg ENVIRONMENT=입력할 값
*/

// ex) docker build --build-arg ENVIRONMENT=prod -t dockerhubnickname/app .

 - 빌드 성공 시, 터미널 메시지

- 로컬 PC의 docker에 쌓인 image들.

 

3. 로컬 터미널에서 dockerhub 로그인을 합니다.

> sudo docker login

- 로그인 성공 시, 터미널 메시지

4. docker hub의 repository로 이미지를 push합니다.

> docker push 도커허브 닉네임/레포지토리 이름:tag이름
//ex) docker push dockerhubnickname/app:latest

이제 부터는 aws 터미널에서 명령어를 입력합니다.

 

5. docker가 서버에 켜져 있지 않다면, 실행 명령어를 입력합니다.(서버에 도커가 설치되어 있어야 합니다.)

$ sudo service docker start

- 서버가 부팅되었을 때, 자동으로 docker 서비스가 올라가게 설정하는 명령어

$ sudo chkconfig docker on

 

6. docker hub로부터 최신 이미지를 내려(pull)받습니다.

docker pull 이미지 이름
// ex) docker pull dockerhubnickname/app:latest

 

7. aws 터미널 docker에서 다음 명령어를 실행하면 백그라운드에서 이미지가 컨테이너로 실행됩니다.

$ docker run -d -p 80:8085 이미지 이름
//ex) $ docker run -d -p 80:8085 dockerhubnickname/app:latest

여기까지 정상적으로 명령어들이 실행되었다면, aws의 인스턴스 서버 public ip에서 배포된 앱을 확인하실 수 있습니다.

 

감사합니다.

728x90

댓글