반응형
0. 사전 준비
도커 설치 및 War파일이 준비가 되어있다는 가정하에 시작한다.
1. Dockerfile작성
Dockerfile
다음과 같은 도커 파일을 작성한다. 이때 server.xml과 war파일은 도커 파일이 존재하는 디렉터리 내부에 존재해야 한다.
#어떤 이미지를 기반으로 빌드하는지에 대해서 지정 node 8 사용
FROM node:8
#Dockerfile을 생성/관리하는 사람 없어도 무방
LABEL MAINTAINER dilrong "본인 이메일"
#디렉토리 생성
RUN mkdir -p /usr/src/app
#WORKDIR 설정
WORKDIR /usr/src/app
#앱 의존성 설치를 위해서 package.json 복사
COPY package*.json ./
#npm install 실행 (package.json에 의한 패키지 설치)
RUN npm install
#앱 소스 추가
COPY . .
#컨테이너에서 실행할 명령어 지정 (실행하면 기존 express에서 실행하는 port로 서버가 실행)
CMD ["npm", "start"]
이미지 만들기
sudo docker build -t 이미지이름:버전 .
예시
sudo docker build -t test_node:0.1 .
2. 이미지 실행
1번을 통해 만든 이미지를 다음과 같이 실행한다
sudo docker run 이미지명:버전
#예시 기존 nodejs서버가 2222 port이므로 -p 를 2222:2222로 컨테이너를 실행
sudo docker run -p 2222:2222 test_node:0.1
아래와 같은 -p는 80 포트로 오는 요청을 1111 포트로 전달해주겠다는 의미이다.
다음과 같이 실행하였다면 war파일이 제대로 배포되어있는 것을 확인할 수 있다.
반응형
'프로그래밍 > 도커 & 쿠버네티스' 카테고리의 다른 글
[쿠버네티스] #4. 컨트롤러란? Deployment란? (0) | 2020.03.22 |
---|---|
[쿠버네티스] #3. 컨트롤러란? ReplicaSet이란? Template, Replicas, Selector란? (0) | 2020.03.10 |
[쿠버네티스] #2. 서비스란? Service란? (0) | 2020.02.25 |
[쿠버네티스] #1. Pod란? 파드란? (0) | 2020.02.22 |
[Docker & Kubernetes] 도커를 이용하여 톰캣서버에 war 배포하기 (1) | 2020.02.19 |