研究室内の学生に向けて、開発効率向上を目的としたDocker勉強会を開催しました。Dockerの概要、利点、実践的な使用法について学びました。
Dockerは、アプリケーションをコンテナとしてパッケージ化するプラットフォームです。コンテナは軽量で独立した実行環境を提供し、以下の利点があります:
- 移植性:異なる環境で一貫してアプリケーションが動作します。
- リソース効率:コンテナはホストOSカーネルを共有し、オーバーヘッドを減少させます。
- 隔離性:アプリケーションは独立して実行され、セキュリティと安定性が向上します。
- Dockerイメージ:コンテナを作成するための読み取り専用テンプレートです。コード、ランタイム、ライブラリ、環境変数など、アプリケーションの実行に必要なすべてを含みます。
- Dockerコンテナ:Dockerイメージのインスタンスであり、アプリケーションとその依存関係をカプセル化します。
- Docker Compose:YAMLファイルを使用して、複数のコンテナアプリケーションを定義し、実行するためのツールです。
-
Dockerの紹介
- コンテナ化の必要性の理解
- Dockerと従来の仮想化の違い
-
Dockerイメージとコンテナ
- Dockerイメージの作成
- Dockerコンテナの実行と管理
- コンテナのライフサイクル
-
ハンズオン演習
- Docker Composeを使用したFlask環境のセットアップ
docker-compose.ymlファイルの作成- Flaskアプリケーションのビルドとデプロイ
-
ベストプラクティス
- Dockerを使用する場面
- 従来の仮想化が好ましいシナリオ