Node.Docker에서 js 항목 시작하기

6663 단어 DockerNode.jsnpmtech

개요와 구상의 독자


표제의 실현 방법을 해설하다.
Docker에 노드 서버를 만들고 거기에 노드를 만듭니다.js 프로젝트를 시작하는 것은 매우 간단합니다.
Node.js 프로젝트가 npm와yarn에서 관리된다고 가정하십시오.
매우 기본적인 내용이기 때문에 나와 마찬가지로 도커와 npm를 접하기 시작하여 해가 얕은 사람을 대상 독자로 구상하기 시작했다.
제안과 지적이 있다면 누구든지 꼭!

디렉토리 구조


단지 Compose 파일과 프로젝트의 간단한 구성일 뿐입니다.
docker-compose.yml
└─node_prj # Node.jsプロジェクトを配置

docker-compose.준비


docker-compose.yml
version: "3"

services:
  node:
    image: node:14.17.6 # イメージを指定
    container_name: node # nodeサーバーなのでこのように命名
    tty: true
    environment:
      - NODE_ENV=development
    volumes:
      - ./node_prj:/usr/src/app
    ports:
      - 3000:3000
    working_dir: /usr/src/app
  • tty: 기본값은 가짜입니다. 전장에서 실행하는 과정이 없으면 구축 후 컨테이너가 정상적으로 종료됩니다.노드도 상응하기 때문에 이번에는 진짜로 지정한다.
  • environment: NODE_ENV는 노드입니다.js의 전역 변수입니다.개발 용도이기 때문에 지정development.
  • volumes: 컨테이너의 비de 서버 디렉터리./node_prj에 로컬 디렉터리/usr/src/app를 설치합니다.
  • ports: 컨테이너에서 프로젝트를 수행할 때 3000번 포트를 사용합니다.나는 그것을 현지의 3000번 포트에 놓았다.
  • working_dir: 용기가 시작된 후에 프로세스에 들어갈 때 지정한 디렉터리에 있습니다.또한 command 영역에서 실행되는 명령을 지정할 때 이것이 시작점입니다.
  • 참고 자료
    여기.는 Docker Compose의 공식 참고로 벚꽃 인터넷 보도 이해하기 쉽다.

    공사 배치


    npm에서 프로젝트 관리를 진행하는 전제에서 진행한다.프로젝트 자체는 자신이 준비한 물건을 사용할 수 있다.
    이전 기사에서는 React와 Type Script를 가져오는 프로젝트의 환경 구축에 대해 설명했습니다.
    설명서에서 React의 선행 환경 구축(전면)
    이를 예로 들면 준비된 항목 중
  • 루트 디렉토리package.json
  • package.json 프로젝트를 시작하는 데 사용할 npm script
  • 를 준비했습니다.
    선물로
    (※ 기사를 참고할 때는 npm script에 유의해야 합니다. 뒤의 시작 부분에서 설명합니다.)
    그러면 상기 디렉토리 구조를 참고하여 node_prj에 프로젝트를 설정합니다.그럼 지금node_prj 바로 아래package.json가 있을 거예요.
    이렇게 준비하면 완성된다.

    컨테이너 가동 및 공사 가동


    docker-compose.yml이 있는 디렉터리에서 다음 명령을 실행합니다.
    $ docker-compose up -d # 初回だけ少し時間がかかる
    ......
    Creating node ... done # この表示で起動完了
    
    에 따라 노드 컨테이너가 작동되었다.컨테이너에 들어가는 과정.
    $ docker exec -it node /bin/bash
    root@*********:/usr/src/app\#
    # docker-compose.yml内working_dirで指定したディレクトリにいます。
    
    여기에 ls 명령을 입력하면 로컬node_prj에 배치된 항목도 컨테이너 안에/usr/src/app에 배치되어 있음을 알 수 있습니다.이것은 volumes가 파일 마운트를 지정했기 때문입니다.
    여기서부터 npm를 조금 접한 사람이라면 친절한 일일 것 같아요.
    먼저 npm install 패키지를 설치합니다.
    root@*********:/usr/src/app\# npm install
    
    그렇다면 지금 있는 목록에node_moduls가 있을 것이다.이렇게 프로젝트의 시작 준비가 다 되었다.package.json에서 정의한 시작 명령을 실행하고 프로젝트를 시작합니다.
    root@*********:/usr/src/app\# npm run start
    # 自前で用意したプロジェクトの場合は、それに合わせたコマンドを実行してください
    
    ※ 주의
    위에서 설명한 문장 항목을 사용할 때 npm script를 고쳐야 합니다.package.jsonscripts.start의 스크립트에 host를 지정해야 합니다.스크립트를 다음과 같이 변경하십시오.
    package.json
    "scripts": {
        "start": "webpack serve --host 0.0.0.0 --config ./webpack.dev.js --mode development",
    ...
    
    이번처럼 Docker를 사용하여 프로젝트를 시작할 때 로컬 브라우저에서 원격 컨테이너의 포트에 접근합니다.따라서 컨테이너 안에서 시작할 때 지정되지 않은 경우--host 0.0.0.0는 외부(로컬 호스트) 연결을 받지 않는다.
    (※ 프런트엔드 프로젝트인 데다 개발할 때만 서버를 만들 수 있다는 전제 조건으로 지정0.0.0.0했지만, 원래는 모든 외부 네트워크에서 통신을 받을 수 있는 위험 대체품)
    그러면 마지막으로 로컬 호스트의 브라우저에서 연결을 확인http://localhost:3000/(자신이 준비하면 그 주소)하면 끝납니다!
    일하고 나서.
  • ctrl+C 프로젝트 중지
  • exit 용기에서 꺼내기
  • docker-compose down 용기 정지
  • 총결산


    Docker Compose에서 Node 서버를 구축한 후 컨테이너에 npm install 프로젝트를 시작하는 것은 매우 간단합니다.
    여러 작업자가 있는 상황에서 노드.나는 각자 js를 특별히 설치할 필요가 없다고 생각한다. 버전이 다르기 때문에 고장이 발생하는 것을 방지할 수 있다는 점에서 약속에 서 있을 수 있다.

    좋은 웹페이지 즐겨찾기