Docker

term_id: docker

Category: engineering_practice

Definition

Dockerにより、開発者はアプリケーションとそのすべての依存関係をソフトウェア開発の標準化されたユニットにパッケージ化できます。これらのコンテナはソフトウェアを環境から分離し、一貫性を確保します。

Summary

Dockerは、軽量でポータブルなコンテナ内でアプリケーションを開発、配布、実行するためのプラットフォームです。

Key Concepts

  • コンテナ化
  • イメージ
  • 分離
  • ポータビリティ(移植性)

Use Cases

  • 学習済みMLモデルをマイクロサービスとしてデプロイする
  • データサイエンスチームの開発環境を標準化する
  • クラウドインフラストラクチャでの推論ワークロードをスケーリングする

Code Example

1
2
3
4
5
FROM python:3.9-slim
COPY . /app
WORKDIR /app
RUN pip install -r requirements.txt
CMD ["python", "app.py"]