본문 바로가기
Docker

Node.js 지원 Docker 이미지 | Dockerfile

by 신림쥐 2024. 9. 26.
728x90
반응형

 

Node.js란 무엇인가요?

Node.js는 확장 가능한 서버 측 및 네트워킹 애플리케이션을 위한 소프트웨어 플랫폼입니다. Node.js 애플리케이션은 JavaScript로 작성되며 변경 없이 Mac OS X, Windows 및 Linux에서 Node.js 런타임 내에서 실행할 수 있습니다.

Node.js 애플리케이션은 비차단 I/O 및 비동기 이벤트를 사용하여 처리량과 효율성을 극대화하도록 설계되었습니다. Node.js 애플리케이션은 단일 스레드로 실행되지만 Node.js는 파일 및 네트워크 이벤트에 여러 스레드를 사용합니다. Node.js는 비동기적 특성으로 인해 실시간 애플리케이션에 일반적으로 사용됩니다.

Node.js는 내부적으로 Google V8 JavaScript 엔진을 사용하여 코드를 실행합니다. 기본 모듈의 상당 부분은 JavaScript로 작성됩니다. Node.js에는 파일, 소켓 및 HTTP 통신을 위한 내장 비동기 I/O 라이브러리가 포함되어 있습니다. HTTP 및 소켓 지원을 통해 Node.js는 Apache와 같은 추가 소프트웨어 없이도 웹 서버 역할을 할 수 있습니다.

 

 

지원하는 노드 이미지

 

 

이미지 변형

node:<version>

이것은 사실상의 이미지입니다. 필요한 것이 무엇인지 확실하지 않다면 아마 이것을 사용하고 싶을 것입니다. 이것은 일회용 컨테이너(소스 코드를 마운트하고 컨테이너를 시작하여 앱을 시작)로 사용하거나 다른 이미지를 빌드하기 위한 기반으로 사용하도록 설계되었습니다.

이러한 태그 중 일부에는 bookworm 또는 bullseye와 같은 이름이 있을 수 있습니다. 이는 Debian 릴리스 의 제품군 코드명이며 이미지가 어떤 릴리스를 기반으로 하는지 나타냅니다. 이미지에 이미지와 함께 제공되는 것 외에 추가 패키지를 설치해야 하는 경우 Debian의 새 릴리스가 있을 때 파손을 최소화하기 위해 이러한 패키지 중 하나를 명시적으로 지정해야 할 것입니다.

buildpack-deps이 태그는 . 을 기반으로 하며 buildpack-deps시스템에 많은 이미지가 있는 Docker의 일반 사용자를 위해 설계되었습니다. 설계상 매우 일반적인 Debian 패키지가 많이 있습니다. 이를 통해 파생된 이미지가 설치해야 하는 패키지 수가 줄어들어 시스템의 모든 이미지의 전체 크기가 줄어듭니다.

node:<version>-alpine

이 이미지는 공식 이미지 에서 제공되는 인기 있는 Alpine Linux 프로젝트를 기반 으로 합니다 . Alpine Linux는 대부분 배포 기반 이미지(~5MB)보다 훨씬 작기 때문에 일반적으로 훨씬 더 얇은 이미지가 됩니다.alpine

이 변형은 최종 이미지 크기를 가능한 한 작게 하는 것이 가장 중요한 관심사일 때 유용합니다. 주의해야 할 주요 단서는 glibc 및 친구 대신 musl libc 를 사용한다는 것입니다 . 따라서 소프트웨어는 libc 요구 사항/가정의 깊이에 따라 종종 문제에 부딪힙니다. 발생할 수 있는 문제에 대한 자세한 논의와 Alpine 기반 이미지 사용의 장단점 비교는 이 Hacker News 댓글 스레드를 참조 하세요.

이미지 크기를 최소화하기 위해 Alpine 기반 이미지에 추가 관련 도구(예: git또는 bash)를 포함하는 것은 흔하지 않습니다. 이 이미지를 기반으로 하여 필요한 것을 자신의 Dockerfile에 추가합니다( 패키지 설치 방법에 대한 예는 익숙하지 않은 경우 alpine이미지 설명을 참조하세요 ).

node:<version>-slim

이 이미지에는 기본 태그에 포함된 일반적인 패키지가 포함되어 있지 않으며 .을 실행하는 데 필요한 최소한의 패키지만 포함되어 있습니다 . 이미지 만node 배포되는 환경에서 작업하고 공간 제약이 있는 경우가 아니면 이 리포지토리의 기본 이미지를 사용하는 것이 좋습니다.node

 

 

 

 

출처

https://hub.docker.com/_/node%EF%BB%BF

 

node - Official Image | Docker Hub

Docker Official Images are a curated set of Docker open source and drop-in solution repositories. Why Official Images? These images have clear documentation, promote best practices, and are designed for the most common use cases.

hub.docker.com

 

728x90
반응형

'Docker' 카테고리의 다른 글

WSL, Docker에서 Node.js 개발 환경 설정  (5) 2024.08.30