> 웹 프론트엔드 > JS 튜토리얼 > Docker를 사용하여 Node.js를 배포하는 세부 프로세스

Docker를 사용하여 Node.js를 배포하는 세부 프로세스

不言
풀어 주다: 2018-11-26 14:24:09
앞으로
2463명이 탐색했습니다.

이 글은 PHP 큐의 구현 코드를 소개합니다. 이는 특정 참조 가치가 있습니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

Node는 프로젝트의 중간 계층으로 사용될 것이며, docker는 node 배포에 사용될 것입니다. 여기서는 배포의 핵심 사항과 단계를 요약하고 기록합니다. docker는 인터넷에 많은 관련 튜토리얼과 기사가 있으며, 필요한 경우 직접 검색하고 볼 수 있습니다.

프로젝트 구조

-- docker-node
  |-- data
  |-- server
    |-- app.js
    |-- Dockerfile
    |-- process.yml
    |-- package.json
  |-- docker-compose.yml
로그인 후 복사

1. Node.js 프로그램 만들기

app.js

const express = require('express');
const app = express();
app.get('/', (req, res) => res.send('hello world!'));
로그인 후 복사
app.listen(3008);

2. Dockerfile 만들기

FROM node:8.9-alpine
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
RUN npm set registry https://registry.npm.taobao.org/
RUN npm install
CMD ["./node_modules/pm2/bin/pm2-docker", "process.yml"]
로그인 후 복사
pm2-docker를 통해 노드 애플리케이션을 실행하는 것을 확인할 수 있습니다. 파일 변경 사항을 모니터링하여 애플리케이션 재시작, 로그 공유 등의 효과를 얻을 수 있습니다. 여기서는 process.yml 구성 파일이 필요합니다. 관련 사용법은 PM2 문서를 참조하세요.

process.yml

apps:

 - script : 'app.js'
  name  : 'dokcer-node'
  exec_mode: 'fork'
  watch : true
  instances: 1
  log_date_format : 'YYYY-MM-DD HH:mm Z'
  ignore_watch: ['node_modules']
로그인 후 복사

3. docker-compose.yml 만들기

프로덕션 환경에서는 구성 파일을 통해 여러 Docker 컨테이너를 관리하는 경우가 많습니다. docker-compose를 사용하여 애플리케이션을 시작, 중지 및 다시 시작하세요.

docker-compose.yml

version: "3.0"
services:
 server_node:
  container_name: server-node
  build: 
   context: ./server
  volumes:
   - ./server:/usr/src/app
  ports:
   - "3008:3008"
  environment:
   - TZ=Asia/Shanghai

 portainer:
  image: portainer/portainer:1.11.4
  container_name: portainer
  expose:
   - "9000"
  ports:
   - "9000:9000"
  volumes:
   - /var/run/docker.sock:/var/run/docker.sock
   - ./data/portainer:/data
  environment:
   - TZ=Asia/Shanghai
로그인 후 복사

4. 컨테이너 시작

위의 파일이 생성된 후 다음 명령을 실행하면 이미지가 생성되고 컨테이너가 시작됩니다

$ docker-compose -f docker-compose.yml up -d
로그인 후 복사

5. Test

1. 로컬 포트 ​​3008

Docker를 사용하여 Node.js를 배포하는 세부 프로세스

2. 코드가 변경되면 노드 자동 재시작 기능을 테스트합니다. "hello world!"를 "restart!!!"로 변경합니다.

Docker를 사용하여 Node.js를 배포하는 세부 프로세스

3. Portainer를 사용하면 명령줄과 비교하여 컨테이너 로그, 컨테이너 구성, 상태를 쉽고 빠르게 확인하고 다시 시작 및 삭제하는 등의 작업을 수행할 수 있습니다. 로컬 포트 ​​9000에 액세스합니다. 예(docker-compese.yml에 구성됨), 결과는 다음과 같습니다.

Docker를 사용하여 Node.js를 배포하는 세부 프로세스

위 내용은 이 글의 전체 내용이며, 모든 분들의 공부에 도움이 되었으면 좋겠습니다.

위 내용은 Docker를 사용하여 Node.js를 배포하는 세부 프로세스의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:segmentfault.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿