inflearn logo
知識共有
inflearn logo

Docker基礎 - インストールからDocker Composeマルチコンテナまで

全7回、合計3時間55分でDockerの基礎を身につけるコースです。概念の説明にとどまらず、Dockerfileを5つ実際に作成してビルドし、最後にはFastAPIサーバーとMySQLデータベースを1つのアプリケーションにまとめ、docker compose up の一行で起動します。 第1講と第2講では、Docker DesktopのインストールとWSL2環境の確認から始めます。Docker Hubからubuntuイメージをpullしながら、イメージが複数のレイヤーで構成されていることを確認し、imagesとrmiでローカルイメージを管理します。続いて、run、ps、stop、rmでコンテナのライフサイクルを扱い、execで実行中のコンテナ内部に入ってみます。ポートマッピング(-p)でhttpdコンテナのWebページをブラウザで開き、ボリューム(-v)と環境変数(-e)を使ってMySQLコンテナを起動し、コンテナを削除した後もデータが残る理由を確認します。 第3講から第5講までは、イメージを直接作成するパートです。FROM、WORKDIR、COPY、ENV、RUN、CMD、EXPOSEを1行ずつ詳しく見ながら、RUNとCMDがそれぞれビルド時と実行時に動作するという違いを確認します。1回実行されて終了するPythonスクリプト、常時起動しているFastAPIサーバー、PyInstallerでコンパイルした実行ファイル、そしてjqのような既存のバイナリという4つのタイプを、それぞれイメージとして作成します。特にコンパイルの例ではマルチステージビルドを使用し、ビルドツールを破棄して成果物だけを残す方法を扱います。 第6講と第7講では、コンテナ同士を接続します。ネットワーク設定なしで2つのコンテナを起動すると、なぜ "Internal Server Error" が発生するのかをまず再現したうえで、docker network createでネットワークを作成し、コンテナ名だけで互いを見つけられるようにします。network inspectで割り当てられたIPを確認し、コンテナ内でpingと/etc/resolv . confを使って、Docker組み込みDNS(127.0.0.11)が動作していることまで目で確認します。最後の第7講では、これまで使用してきたすべてのdocker runオプションをcompose.yamlという1つのファイルに書き移し、upとdownでアプリケーション全体をまとめて起動・停止します。 実習で使用したDockerfile、app . py、compose.yamlなど、5種類のプロジェクトが資料として提供されるため、タイピングなしですぐに取り組めます。実習環境はWindows+PowerShellを基準に進めますが、macOSとLinuxでもコマンドは同じです。

2名 が受講中です。

難易度 入門

受講期間 無制限

Docker
Docker
docker-compose
docker-compose
dockerfile
dockerfile
Python
Python
FastAPI
FastAPI
Docker
Docker
docker-compose
docker-compose
dockerfile
dockerfile
Python
Python
FastAPI
FastAPI

受講後に得られること

  • Dockerイメージとコンテナの関係を理解し、pull、images、rmi、run、ps、stop、rm、execコマンドでイメージとコンテナを直接管理できる。

  • DockerfileのFROM、WORKDIR、COPY、ENV、RUN、CMD、EXPOSE命令を区別して記述し、docker buildでイメージを作成できる。

  • マルチステージビルドでPyInstallerのコンパイル成果物だけを含むイメージを作成し、jqのような既存のバイナリもイメージにパッケージングできる。

  • compose.yamlにservices、image、build、ports、environment、depends_onを記述し、docker compose up/down/ps/buildで複数のコンテナを1つの単位として管理できる。

  • ポートマッピング(-p)、ボリューム(-v)、環境変数(-e)オプションを適用してhttpdとMySQLコンテナを実行し、ホストのブラウザからアクセスできる。

  • 一度実行されて終了するPythonスクリプトと、継続的に実行されるFastAPIサーバーをそれぞれイメージとしてビルドし、両者の違いを説明できる。

  • docker network createでネットワークを作成し、FastAPIコンテナがコンテナ名でMySQLに接続できるように構成できる。

実習で学ぶDocker入門:Python、FastAPI、MySQLからDocker Composeまで

Dockerを初めて学ぶ方のための、実習中心の講座です。イメージとコンテナの基本概念から、Dockerfileの作成、コンテナネットワークの構成、Docker Composeを活用した複数コンテナの管理まで、段階的に学べます。

PythonスクリプトとFastAPIサーバーを実際にDockerイメージとして作成し、MySQLデータベースに接続する方法も実習します。開発環境を一貫して維持し、アプリケーションを効率的にデプロイするために必要な基礎スキルを身につけられます。

バックエンド開発、Python開発、データエンジニアリング、DevOps分野への入門を目指す方に適しており、実際のプロジェクトに応用できるDocker活用スキルを身につけることが目標です。

学習内容

主な学習内容(Core Keywords)

1. Dockerの基礎およびイメージ管理

  • Dockerイメージとコンテナの違いを理解する

  • docker pull、docker images、docker rmiコマンドを活用したイメージ管理

  • docker run、docker ps、docker stop、docker rm、docker execコマンドを活用したコンテナのライフサイクル管理

2. コンテナの実行および環境設定

  • ポートマッピング(-p)によるWebサーバーへの外部アクセス設定

  • ボリューム(-v)を活用したデータ

受講前に

前提知識および受講案内 (Prerequisites & Notices)

1. 前提知識と準備事項

  • Dockerを初めて学ぶ初心者でも受講できます。

  • Windows 11環境ではDocker DesktopとWSL2のインストールが必要であり、インストール中に管理者権限のPowerShellを使用できる必要があります。

  • macOSとLinuxでも実習できます。

  • ターミナルでmkdir、cdなどの基本コマンドを使った経験があるとよいでしょう。

  • Pythonの基本文法を知っていれば、FastAPIサーバーとPythonスクリプトの実習をより簡単に進められます。

  • Dockerやコンテナに関する事前知識は必須ではありません。

2. 講義環境および学習方法

  • 本講座は、全3時間55分のオンライン動画講座で構成されています。

  • 講義はWindows 11とPowerShell環境を基準に説明しており、主なDockerコマンドはmacOSとLinuxでも使用できます。

  • 提供される演習資料を活用して、Dockerfile、Pythonアプリケーション、compose.yamlなどを実際に実行してみてください。

  • 講義を視聴した後は、各コマンドを自分で入力して実行結果を確認する方法で学習することをおすすめします。

  • インストールからイメージのビルド、コンテナネットワーク、Docker Composeまで順番に学習すると、内容をより理解しやすくなります。

3. 質問および学習サポート

  • 実習中にエラーが発生した場合は、エラーメッセージと実行したコマンドを併せて整理し、講義の質問・回答機能を通じて問い合わせることができます。

  • 質問する際は、オペレーティングシステム、Dockerのバージョン、実行したコマンドとエラー内容を具体的に記載すると、問題の把握に役立ちます。

  • 講義の更新および追加資料の提供状況については、講義のお知らせをご確認ください。

4. 受講時の注意事項

  • Docker Desktopのインストールおよび実行には、システム要件を満たすPCが必要です。

  • 一部の実習では、インターネット接続を通じてDocker Hubからイメージをダウンロードする必要があります。

  • コンテナを削除する前に、データが保存されている場所を確認してください。ボリュームを使用していないデータは、コンテナの削除時に一緒に失われる可能性があります。

  • Docker Desktopの企業向けライセンスポリシーは、会社の規模や売上などの条件によって異なる場合があるため、業務で使用する場合は公式のライセンスポリシーをご確認ください。

こんな方に
おすすめです

学習対象は
誰でしょう?

  • Dockerを聞いたことはあるものの、インストールの段階でつまずいていた開発初心者

  • ローカルにMySQLやRedisを直接インストールせず、コンテナで起動したいバックエンド開発者

  • FastAPIやFlaskで作成したサーバーをイメージにパッケージ化して提供する必要があるPython開発者

  • 「私のPCでは動くんですが」という環境差異の問題をなくしたいチーム単位の開発者

  • デプロイ担当者から求められたDockerfileを自分で作成しなければならないジュニア開発者

  • docker compose up の一行で開発環境を再現したいデータ分析・DevOps初心者

前提知識、
必要でしょうか?

  • Docker DesktopをインストールできるPC(教材はWindows 11+PowerShellを基準としており、macOSとLinuxでもコマンドは同じです)

  • Windowsの場合はWSL2の有効化が必要で、インストール過程では管理者権限のPowerShellを使用します(WSLのインストール・アップデート方法は第1講で案内します)

  • ターミナルでmkdir、cd程度のコマンドを入力した経験

  • Pythonの基本文法 - 実習コードは10行前後ですが、FastAPIの例を読めるとよりスムーズです

  • Docker Desktopは個人の学習・教育目的では無料ですが、従業員250人以上または年商1,000万ドル以上の企業による業務利用は有料サブスクリプションの対象です。

こんにちは
it learnerです。

IT分野ごとの実務専門家と専門講師が担当するIT教育課程で、プログラミング、ソフトウェア開発、データ分析、人工知能、ネットワークおよび情報技術など、さまざまな分野の実務中心の講義を提供します。最新のIT技術と業界動向を反映した教育コンテンツを通じて、学習者が理論的知識と実務能力を同時に身につけ、急速に変化するIT環境に適応できるよう支援します。

もっと見る

カリキュラム

全体

7件 ∙ (3時間 55分)

講座資料:

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

まだ十分な評価が集まっていない講座です。
ぜひ最初のレビューをお寄せください。

it learnerの他の講座

知識共有者の他の講座はこちら

似ている講座

同じ分野の他の講座を見てみましょう!

期間限定セール

¥15

6%

¥2,693