도커에서 프로젝트 배포하기

gahyun·2022년 11월 23일
0

docker

목록 보기
1/2
post-thumbnail

1. Intellij에서 Dockerfile 만들기


✔ 아래 코드 내용을 넣은 Dockerfile 만들기

FROM gradle:7.4-jdk11-alpine as builder
WORKDIR /build

# 그래들 파일이 변경되었을 때만 새롭게 의존패키지 다운로드 받게함.
COPY build.gradle settings.gradle /build/
RUN gradle build -x test --parallel --continue > /dev/null 2>&1 || true

# 빌더 이미지에서 애플리케이션 빌드
COPY . /build
RUN gradle build -x test --parallel

# APP
FROM openjdk:11.0-slim
WORKDIR /app

# 빌더 이미지에서 jar 파일만 복사 
COPY --from=builder /build/build/libs/*-SNAPSHOT.jar ./app.jar

EXPOSE 8080

# root 대신 nobody 권한으로 실행
USER nobody
ENTRYPOINT [                                                \
   "java",                                                 \
   "-jar",                                                 \
   "-Djava.security.egd=file:/dev/./urandom",              \
   "-Dsun.net.inetaddr.ttl=0",                             \
   "app.jar"              \
]

2. git commit 하기


✔ 모든 파일 내용, Dockerfile, readme.md 파일까지 commit하기

3. docker에서 빌드하기


도커 접속

sudo su - 관리자 권한 설정
git clone <git repository address> git clone하기
docker build -t <docker image> . docker에 build
docker run -p 8080:8080 -e SPRING_DATASOURCE_URL=jdbc:mysql://<EC2주소>:3306/<스키마명> -e SPRING_DATASOURCE_PASSWORD=<데이터베이스 비밀번호> <도커이미지명> 환경변수 입력해서 도커 실행

4. 배포 후 수정


✔ 수정내용 git commit해서 github에 올리기

`docker stop <이전 container_id>` 수정전 실행중이던 도커 stop

`git pull` git pull을 통해 github에 수정된 코드 가져오기

`docker build -t <도커 이미지> . ` 다시 빌드하기 

`docker run ~~~ -e -e` 다시 환경변수 입력 후 도커 실행

0개의 댓글