1 분 소요


🚨 시작하기 전에!! 완벽하지 않은 게시글입니다. 
개인 기록용이니 따라하실 분들은 다른 글을 참고하세요🥲

1. 이미지 배포

1) Dockerfile

FROM openjdk:11
ARG JAR_FILE=build/libs/server-0.0.1-SNAPSHOT.jar
COPY ${JAR_FILE} app.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "/app.jar"]

2) gradle 빌드

$ ./gradlew build -x test //🌟 -x test: 테스트 실행 X

스크린샷 2022-07-21 오후 4 32 41
이런식으로 생성된다.

3) Docker Hub

Docker Hub
https://hub.docker.com/

레포지토리 생성

  1. 회원가입 및 로그인
  2. Repositories > Create Repository 로 들어가서 도커 레포지토리를 생성
  3. Repository 이름과 Public으로 설정하고 Create 를 클릭

Docker Build -> 이미지 생성

// gradle
$ docker build --build-arg DEPENDENCY=build/dependency -t [도커허브 ID]/[Repository 이름] --platform linux/amd64 .
// 나는 아래와 같이 입력했다 (예시)
// $ docker build --build-arg DEPENDENCY=build/dependency -t ln8847/naem --platform linux/amd64 .

// maven
$ docker build -t [도커허브 ID]/[Repository 이름] --platform linux/amd64 .

만약 이런 오류가 난다면??

스크린샷 2022-07-21 오후 1 22 29

.dockerignore

.dockerignore 파일에 volume 디렉터리를 추가한다.

### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr

### volume ###
**/docker-data

스크린샷 2022-07-21 오후 1 26 20
이제 에러가 발생하지 않는다!

Docker Image Push

위에서 생성한 docker image 파일을 Docker Hub에 push를 해준다.

$ docker login
$ docker push ln8847/naem

스크린샷 2022-07-21 오후 1 29 02

스크린샷 2022-07-21 오후 1 32 00

푸시 전

스크린샷 2022-07-21 오후 1 31 19

푸시 후

스크린샷 2022-07-21 오후 1 33 03

2. 허브에서 이미지 pull

AWS EC2 인스턴스에 접속한 상태로 진행한다.

# 도커 설치
sudo yum install docker // 이거는 이미 함....

# 도커 실행
sudo systemctl start docker // 이것도 위에서 함....
# 도커 허브에 존재하는 이미지 파일 pull
$ sudo docker pull ln8847/naem

# 도커 이미지를 통해 스프링 부트 애플리케이션 배포
$ sudo docker run --name naem-application -p 8080:8080 ln8847/naem

Ref



💛 개인 공부 기록용 블로그입니다. 👻

맨 위로 이동하기

태그:

카테고리:

업데이트: