# Docker とコンテナ化 (Node.js / NestJS) > Node.js/NestJS 向けの Dockerfile、docker-compose(Node + DB + Redis)、multi-stage builds、イメージの最適化、.dockerignore、volumes、networks、コンテナオーケストレーションの基礎 - 25 面接問題 - Mid-Level - [面接問題: Node.js / NestJS](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions.md) ## 1. Docker とは何ですか? **回答** Docker は、アプリケーションとその依存関係を隔離された container にパッケージ化する containerization プラットフォームです。hardware を仮想化する仮想マシンとは異なり、Docker はホスト OS の kernel を共有するため、軽量で高速です。Docker を使用することで、開発、staging、本番環境でアプリケーションが同一に動作することが保証されます。 ## 2. Docker container と仮想マシンの主な違いは何ですか? **回答** Docker container はホスト OS の kernel を共有し、ユーザー空間のみを仮想化するため非常に軽量(数 MB)で、数秒で起動します。VM は hardware 全体を仮想化し、OS 全体を含む(数 GB)ため起動に数分かかります。したがって container は microservices や CI/CD により効率的です。 ## 3. Dockerfile の役割は何ですか? **回答** Dockerfile は、Docker image を構築するための命令を含むテキストファイルです。各命令(FROM、COPY、RUN、CMD)は image に layer を作成します。実行環境、依存関係、起動コマンドを定義します。最適化された Dockerfile は layer caching と multi-stage builds を使用して、最終 image のサイズを削減します。 ## さらに22問利用可能 - ベースイメージを定義する Dockerfile の命令はどれですか? - Dockerfile における CMD と ENTRYPOINT の違いは何ですか? 無料で登録: https://sharpskill.dev/ja/login ## その他のNode.js / NestJS面接トピック - [Node.js の基礎](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/nodejs-fundamentals.md): 20問, Junior - [Node.js コア API](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/nodejs-core-apis.md): 25問, Junior - [非同期プログラミング](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/asynchronous-programming.md): 25問, Junior - [Express.js の基礎](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/express-basics.md): 20問, Junior - [NestJSの基礎](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/nestjs-fundamentals.md): 23問, Junior - [REST API 設計](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/rest-api-design.md): 20問, Junior - [バリデーションとDTO](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/validation-dto.md): 20問, Junior - [APIドキュメントと契約](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/api-documentation.md): 20問, Junior - [エラーハンドリング](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/error-handling.md): 20問, Junior - [ユニットテスト](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/testing-unit.md): 20問, Junior - [タスクスケジューリング](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/scheduling-cron.md): 15問, Junior - [NestJS のモジュールと DI](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/nestjs-modules-di.md): 20問, Mid-Level - [設定と環境管理](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/configuration-environment.md): 20問, Mid-Level - [JWT認証](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/authentication-jwt.md): 25問, Mid-Level - [認可とRBAC](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/authorization-rbac.md): 20問, Mid-Level - [TypeORMによるデータベース](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/database-typeorm.md): 30問, Mid-Level - [Prisma ORM](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/prisma-orm.md): 25問, Mid-Level - [ミドルウェアとインターセプター](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/middleware-interceptors.md): 20問, Mid-Level - [ファイルアップロード](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/file-upload.md): 15問, Mid-Level - [WebSockets](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/websockets.md): 20問, Mid-Level - [NestJSによるGraphQL](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/graphql-basics.md): 25問, Mid-Level - [エンドツーエンドテスト](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/testing-e2e.md): 20問, Mid-Level - [Redisによるキャッシング](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/caching-redis.md): 20問, Mid-Level - [Bull によるキュー](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/queues-bull.md): 20問, Mid-Level - [DevOps、Logging、CI/CD](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/logging-monitoring.md): 25問, Mid-Level - [マイクロサービス](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/microservices.md): 30問, Senior - [セキュリティのベストプラクティス](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/security-best-practices.md): 25問, Senior - [パフォーマンスとクラウドデプロイ](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/performance-optimization.md): 30問, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/docker-containerization