>웹 프론트엔드 >JS 튜토리얼 >Docker와 함께 Node.js를 사용하는 방법

Docker와 함께 Node.js를 사용하는 방법

Joseph Gordon-Levitt
Joseph Gordon-Levitt원래의
2025-02-08 11:49:09153검색
이 튜토리얼은 Node.js 응용 프로그램에 Docker 컨테이너를 사용하는 장점을 보여주고 효율적인 개발 워크 플로를 설정합니다.

운영 체제 변형 :

개발 환경은 MacOS 일 수 있고 동료는 Windows를 사용하고 프로덕션 서버는 Linux를 실행합니다. Node.js 20을 사용할 수 있지만 다른 버전을 사용할 수 있습니다.
    . 종속성 차이 :
  • 데이터베이스 및 기타 종속성은 다른 플랫폼마다 다르거 나 사용할 수 없을 수 있습니다. 보안 문제 : 다양한 운영 체제에 코드를 배포 할 때 예상치 못한 보안 위험이 발생할 수 있습니다.
  • 주요 혜택
  • Cross-Platform 호환성 : Docker는 Node.js 응용 프로그램을 격리 된 컨테이너 환경에서 실행할 수 있도록하여 "내 컴퓨터에서 작동"문제를 해결합니다. Docker에서 simplified node.js 앱 배포 :
  • 기본 Node.js 스크립트를 작성하여 Docker 컨테이너 내에서 실행하도록 안내합니다. Enhanced Node.js Development Workflow : 우리는 Docker가 Node.js 응용 프로그램의 개발 프로세스를 간소화하는 방법을 보여줍니다. Docker 's Solution
  • Docker는 앞서 언급 한 호환성 문제를 효과적으로 해결합니다. 응용 프로그램을 직접 설치하는 대신 컨테이너라고 불리는 경량의 고립 된 가상 기계와 같은 환경에서 응용 프로그램을 실행합니다.
  • 전체 PC 하드웨어 및 운영 체제를 모방하는 가상 머신과 달리 Docker는 OS를 모방하여 응용 프로그램을 직접 설치할 수 있습니다. Linux 기반 컨테이너 당 하나의 응용 프로그램을 실행하고 HTTP 통신을위한 가상 네트워크를 통해 연결하는 것이 일반적입니다. 장점은 많다 : 일관된 환경 : Docker 설정은 생산 Linux 서버를 반영하여 배포를 단순화합니다. 단순화 된 종속성 관리 :
  • 의존성을 몇 분 안에 다운로드, 설치 및 구성합니다. 크로스 플랫폼 일관성 :
컨테이너화 된 앱은 모든 플랫폼에서 동일하게 작동합니다. 강화 된 보안 :

컨테이너 내에서 앱 오작동이 발생하면 호스트 컴퓨터에 영향을 미치지 않습니다. 컨테이너를 쉽게 다시 시작할 수 있습니다. Docker를 사용하면 Node.js를 로컬로 설치하거나 NVM과 같은 런타임 관리자를 사용하지 않습니다. 첫 번째 node.js 스크립트

Docker Desktop (Windows, MacOS 또는 Linux)을 설치하십시오. : 라는 간단한 스크립트를 만듭니다 <.> node.js가 로컬로 설치되면 버전을 볼 수 있도록 실행하십시오. 이제 Docker 컨테이너 내에서 실행하십시오 (최신 LTS Node.js 버전 사용) : .

(MacOS/Linux)

version.js

(Windows PowerShell)
<code class="language-javascript">console.log(`Node.js version: ${process.version}`);</code>

Docker가 종속성을 다운로드함에 따라 첫 번째 실행은 잠시 시간이 걸릴 수 있습니다. 후속 실행은 훨씬 빠릅니다. node.js 버전 (예 : )을 쉽게 전환 할 수 있습니다. 스크립트는 특정 node.js 버전이있는 Linux 컨테이너 내에서 실행됩니다. 명령 분석 :

: 이미지에서 컨테이너를 시작합니다 : 종료시 컨테이너를 제거합니다

: 컨테이너에 이름을 할당합니다 : 현재 디렉토리를 컨테이너 내부의 볼륨으로 마운트합니다.
<code class="language-bash">$ docker run --rm --name version -v $PWD:/home/node/app -w /home/node/app node:lts-alpine version.js</code>
: 컨테이너 내에 작업 디렉토리를 설정합니다 : Docker Image (알파인 리눅스에서 lts node.js)를 지정합니다. : 실행하라는 명령

Docker Hub에서 Docker Images를 사용할 수 있으며 , 또는 와 같은 식별자로 표시된 다양한 버전을 제공합니다. Alpine Linux는 간단한 프로젝트에 이상적인 경량 분포입니다. 더 복잡한 응용 프로그램을 실행하는 의존성 및 빌드 단계 (NPM 사용)가있는 응용 프로그램의 경우 사용자 정의 Docker 이미지가 필요합니다. 이 예제는 express.js : 를 사용합니다 , add

<code class="language-powershell">> docker run --rm --name version -v ${PWD}:/home/node/app -w /home/node/app node:lts-alpine version.js</code>
:

라는 디렉토리를 만듭니다 node:21-alpine

: a

: 를 만듭니다
    <:> 이미지를 빌드 :
  • 컨테이너를 실행하십시오 : docker run at 에 액세스하십시오 a 파일은 불필요한 파일이 이미지에 복사되는 것을 방지 할 수 있습니다. Docker Compose를 사용한
  • 개발 워크 플로우 --rm
  • 이전 방법은 개발에 비효율적입니다. Docker Compose는 더 나은 솔루션을 제공합니다. : 를 작성하십시오
  • --name version
  • 로 시작하십시오. 자동 재시작 트리거 트리거로 변경됩니다. 향상된 디버깅을 위해 Vs Code의 디버거 (포트 9229에 첨부)를 사용하십시오. <.>.
  • 로 중지하십시오 결론 -v $PWD:/home/node/app
  • Docker는 초기 설정이 필요하지만 신뢰할 수 있고 분산 가능한 코드의 장기 이점이 중요합니다. 이 튜토리얼은 기본 사항을 다룹니다. 고급 사용을위한 추가 리소스를 탐색하십시오. 이미지는 간결하게 유지됩니다.

위 내용은 Docker와 함께 Node.js를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.