도커파일로 생성한 이미지로 외부에서 서버 접속하기

알파로그·2023년 5월 3일
0

Cloud Computing Service

목록 보기
9/15
  • 작업 순서
도커파일 생성 -> 도커 이미지 생성 -> 실행

✏️ 도커파일 생성하기

  • 파일 생성
    • build 폴더가 위치한 디렉토리에서 생성해야 한다.
vim Dockerfile
FROM openjdk:17-jdk-alpine
ARG JAR_FILE=build/libs/gramgram-0.0.1-SNAPSHOT.jar
COPY ${JAR_FILE} app.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","-Dspring.profiles.active=prod","/app.jar"]

⚠️ 도커파일에 환경변수 추가하기

✏️ 이미지 실행

  • 이미지 생성
    • 빌드가 완료되면 docker images 로 gram 이 생성되었는지 확인
docker build -t gram .

  • 이미지 실행
    • 만약 환경변수가 있다면 -e 속성으로 환경변수를 추가해주면 된다.
    • 명령어 실행 후 docker ps 에 gram 이 있으면 성공

⚠️ npm 을 사용중이라면 8080:8080 으로 설정해줘야 한다.

docker run \
  --name=gram_1 \
  --restart unless-stopped \
	-e jasypt.encryptor.password=(환경변수) \
  -p 80:8080 \
  -d \
  gram

✏️ 외부에서 접속하기

  • 이제 ncp 의 공인 ip 를 사용해 웹브라우저로 접속하면 정상적으로 실행된다.

⚠️ 접속이 실패할 경우

  • 혹시 환경변수가 필요할경우 환경변수값을 누락하면 서버실행이 실패해 접속이 되지 않는다.
    • 만약 접속이 실패했다면 docker ps 로 확인해보면 포트가 없어진 걸 확인할 수 있다.
    • 정확한 에러 원인을 확인하기 위해 아래 명령어를 입력한다.
docker logs -f gram_1

  • 서버가 중지된 정확한 원인을 확인할 수 있다.
    • 원인을 해결해 다시 실행시키면 정상적으로 접속할 수 있다.
profile
잘못된 내용 PR 환영

0개의 댓글