Taskube DevNote

Docker 로 프로젝트 빌드 및 배포하기!

클레인 2020. 2. 17.
반응형

프로젝트를 코딩 후 도커를 사용하여 빌드 및 배포를 해보도록 하겠습니다.

 

먼저 Docker 를 설치해 주세요.


MacOS 에 Docker Desktop 설치하기 : https://gdpark.tistory.com/195

Windows 에 Docker Desktop 설치하기 : https://gdpark.tistory.com/196

 

 

Docker 설치 MacOS

도커는 추상화된 컨테이너를 통해 다양한 프로그램을 편하고 쉽게 빌드, 배포, 관리할 수 있도록 제공해 주는 컨테이너 기반의 가상화 플랫폼 입니다. 이와 같은 특징은 기존의 VM 환경을 통한 OS위에서 동작 시키..

gdpark.tistory.com

 

1. 먼저 Nodejs 프로젝트를 VSCODE 를 사용하여 불러옵니다.

2. Dockerfile 을 root 에 생성해 준다.

3. Dockerfile 내에 아래와 같이 작성해 줍니다. 프로젝트 파일 복사, 의존성 패키지 부분을 본인의 프로젝트에 맞게 수정해 줍니다.

# base image 노드12 버전을 사용합니다.
FROM node:12.2.0-alpine

# set working directory   도커 이미지 내에 app 폴더를 만들어 사용합니다.
WORKDIR /app

# add `/app/node_modules/.bin` to $PATH   모듈 폴더경로를 환경설정으로 잡아줍니다.
ENV PATH /app/node_modules/.bin:$PATH

# install and cache app dependencies  프로젝트 파일을 복사하고 의존성 패키지를 설치합니다.
COPY package.json /app/package.json
COPY ecosystem.json /app/ecosystem.json
COPY database.json /app/database.json
COPY server.js /app/server.js
RUN npm install nodemon -g
RUN npm install -g yarn
RUN npm install --silent
RUN npm install react-scripts@3.0.1 -g --silent
RUN npm install mysql --save
RUN npm install pm2 -g
RUN npm install

EXPOSE 3000   포트를 지정합니다.

# start app   pm2 패키지를 사용할 때 아래 명령어를 사용합니다.
#CMD ["pm2-runtime","ecosystem.json"]

# start app   지금은 먼저  server.js 파일로 앱을 실행 할 때를 사용합니다.
CMD ["npm", "run", "server"]

 

4. 프로젝트를 로컬에서 실행해 보고 잘 동작하면 도커 이미지로 만들어보겠습니다. 먼저 프로젝트 해당 폴더에서 터미널을 열어 주시고 docker login 을 사용하여 로그인을 확인합니다.

 

5. 아래와 같이 docker build -t [이미지 명] [대상경로]    를 입력해 줍니다.

 

 

6. docker images 입력하면 생성된 이미지를 확인할 수 있다. 아래처럼 CREATED 시간과 REPOSITORY 및 TAG 로 확인할수 있다.

 

7. 이제 Docker Hub 로 push 하기 전에 로컬에서 구동을 확인해보자.
docker run -p[input포트]:[container 내부 포트] [REPOSITORYNAME:TAG] 를 입력해 준다. 

8. docker ps 명령어를 입력하여 실행중인 images id 를 확인합니다.

 

 

9. 위의 CONTAINER ID 를 사용하여 image 의 실행 및 정지를 할 수 있습니다.

 

10. 브라우저에서 images 서버의 실행을 확인 했으면 docker stop [CONTAINER ID] 를 입력하여 컨테이너를 정지 합니다.

 

11. 정지 후 docker ps 를 다시 입력해 보면 실행중인 Container 가 사라진 것을 확인할 수 있습니다.

 

12. 이제 아까 5번에서 build 한 이미지를 본인 계정의 docker hub 에 배포해 보겠습니다.

 

13. docker push [이미지이름] 을 클릭합니다.

 

14. docker hub 사이트에 접속하여 본인 계정으로 로그인을 하면 push 한 이미지가 올라가 있는 것을 확인할 수 있습니다. 이제 어느 pc 환경에서 해당 images 를 pull 받아서 돌려볼 수 있습니다.

 

 

15. 도커 컨테이너 내부로 접속해서 해당 정보를 보고 싶을 때는 

- docker exec -it [docker container id] commans 를 입력하면 내부로 접속할 수 있습니다.

- root@~~# docker exec -it  c756623007b2 /bin/bash

반응형

'Taskube DevNote' 카테고리의 다른 글

Docker 설치 MacOS  (0) 2020.02.17

댓글