[Docker] 로컬에서 도커를 사용하여 배포하기

감쟈감쟈왕감쟈·2023년 10월 25일

배포

목록 보기
1/3

0. 가장 먼저 docer를 실행해서 로그인을 진행한다.


docker desktop을 실행해주고 로그인을 진행하면 된다!
(window의 경우 이 docker desktop이 없으면 동작하지 않는다.)
이제 cmd창에서 docker login을 사용해 로그인이 되어있는지 확인하고 되어 있지 않다면 로그인을 진행해주면 된다.
이때 id는 docker의 닉네임을 작성해주면 된다. (가입한 이메일 아님)
로그인이 완료가 되면 아래와 같이 뜰 것이다.

1. spring boot docker 파일 생성한다.


사진과 같은 위치에 파일을 생성해주면 된다. 파일을 생성할때 Dockerfile이라고 이름을 붙이면 된다. (확장자 없음)

FROM adoptopenjdk/openjdk11
LABEL authors="authors_name"
ARG JAR_FILE=build/libs/*.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]

2. Spring boot 파일의 jar파일을 생성한다.

Spring boot jar 파일 생성 법

3. Docker로 jar파일 이미지 빌드하기

STEP1) jar파일을 만든 파일 위치에서 CMD를 실행한다.

STEP2) docker build -t [YOUR_NAME]/[APP_NAME] .


이런 화면이 뜨면 성공이다!!

STEP3) 올라간 이미지 확인하기

docker images로 올라간 imgae들을 확인할 수 있다.

STEP4) Docker Hub로 Push하기

docker push [USER_NAME]/[APP_NAME]
지금 까지의 작업들은 로컬에서 진행되었기 때문에 docker hub로 push를 해야 ec2에서 pull을 통해 사용할 수 있다.

4. EC2에서 Docker image pull받기

docker pull [YOUR_NAME]/[APP_NAME]:버전
항상 최신 버전을 받고 싶다면 버전에 latest를 작성하면 된다!

5. EC2에서 Docker image로 Docker Container생성하기

docker create -i -t --name {컨테이너 이름} {YOUR_NAME}/{APP_NAME}:버전
{YOUR_NAME}/{APP_NAME}:버전 이미지를 사용하여 {컨테이너 이름}의 컨테이너를 만드는데 컨테이너와 상호 입출력을 가능하게 하겠다는 명령어(-i, -t)이다.

6. EC2에서 Docker Container 실행하기

docker start {컨테이너 이름}

7. 컨테이너 생성과 동시에 실행하고싶다면?

docker run <OPTIONS> --name{컨테이너 이름} -p 8080:8080 {이미지 이름}:버전
-p 옵션을 사용하여 port번호를 지정해서 실행할 수 있다.

8. 기타 명령어들

i) 이미지 삭제

해당 이미지를 컨테이너가 사용중일때는 삭제할 수 없음

단일 삭제 : docker images rm {이미지ID}
모두 삭제 : docker rmi $(docker images -q) -f

ii) container 중지

docker stop {컨테이너 이름 or 컨테이너ID}

iii) container 삭제

docker rm {컨테이너 이름 or 컨테이너ID}

profile
싹난 독든 감자의 성장일지

0개의 댓글