こんにちは、インフラエンジニアのryuです。
今回の記事では、これからDockerを勉強したい方向けに、Dockerをどの順番で学べばよいのかを解説します。Dockerを調べると、イメージ、コンテナ、Dockerfile、Docker Composeなど、いきなり知らない言葉がたくさん出てきますよね。
私もDockerを勉強し始めたころは、何から手をつければよいのか分かりませんでした。公式ドキュメントを読んでも用語が多く、Dockerfileを書けばよいのか、まずコマンドを覚えればよいのか迷った記憶があります。
ただ、Dockerは順番に手を動かしていけば、そこまで難しいものではありません。
この記事では、Docker初心者が迷いにくい学習ロードマップを紹介します。
Docker初心者は何から勉強すればいい?¶
Dockerを勉強するときに、最初からすべてのコマンドを覚える必要はありません。
まずはDockerの役割をざっくり理解して、実際にコンテナを1つ動かしてみるのがおすすめです。
学習の流れをまとめると、次のようになります。
| ステップ | 学ぶこと | できるようになること |
|---|---|---|
| 1 | Dockerの概要 | イメージとコンテナの違いが分かる |
| 2 | Dockerの環境構築 | 自分のPCでDockerを使える |
| 3 | 基本コマンド | コンテナを起動・確認・停止できる |
| 4 | Dockerfile | 自分でDockerイメージを作れる |
| 5 | Docker Compose | 複数コンテナをまとめて扱える |
| 6 | 小さな環境構築 | WebサーバーやアプリをDockerで動かせる |
この順番で進めれば、途中で用語だけが増えて分からなくなるのを防ぎやすくなります。
では、1つずつ見ていきましょう。
ステップ1:まずDockerとは何かを理解する¶
最初に、Dockerが何をするためのものなのかを理解します。
Dockerは、アプリケーションを実行するための環境をコンテナという単位で扱える仕組みです。
たとえば、自分のパソコンでは正常に動いたのに、別のパソコンでは動かないことがあります。
OSやライブラリ、設定などの違いによって実行環境に差があるからです。
Dockerを使うと、アプリケーションを動かすための環境をまとめて扱いやすくなります。そのため、開発環境をそろえたり、サーバーで同じ環境を再現したりするときに便利です。
Dockerを学ぶうえで、最初に覚えたいのがイメージとコンテナの違いです。
イメージはコンテナを作るための元データで、コンテナはそのイメージから実際に起動した環境と考えると分かりやすいです。

Dockerそのものの仕組みをもう少し詳しく知りたい方は、こちらの記事から読むと理解しやすいです。
【関連記事】Dockerとは?初心者向けにわかりやすく解説
ステップ2:Dockerを自分のPCで使えるようにする¶
概要が分かったら、次はDockerを実際に使える状態にします。
WindowsやMacで学習する場合は、Docker Desktopを利用すると始めやすいです。Docker DesktopにはDocker EngineやDocker CLI、Docker Composeなど、Dockerを利用するために必要な機能がまとめられています。
LinuxではDocker Engineを直接インストールして利用することもできます。

インストールが終わったら、ターミナルで次のコマンドを実行してみてください。
docker --version
Dockerのバージョンが表示されれば準備はできています。
環境構築から詳しく確認したい方は、こちらの記事も参考にしてください。
【関連記事】Dockerの環境をセットアップする方法
ステップ3:Dockerの基本コマンドを触ってみる¶
Dockerを使えるようになったら、すぐにコンテナを動かしてみましょう。
最初はhello-worldを実行するだけでも十分です。
docker run hello-world
このコマンドを実行すると、必要なイメージがローカルに存在しない場合は取得され、そのイメージを使ってコンテナが起動します。
文字で説明を読むだけよりも、一度動かしてみた方がDockerのイメージをつかみやすいと思います。
次は、NginxというWebサーバーを動かしてみます。
docker run -d --name web -p 8080:80 nginx
実行後にブラウザからhttp://localhost:8080へアクセスして、Nginxの画面が表示されれば成功です。
起動中のコンテナは、次のコマンドで確認できます。
docker ps
ログを確認したい場合は、次のようにします。
docker logs web
停止するときはdocker stopです。
docker stop web
最後にコンテナを削除してみましょう。
docker rm web
最初の段階では、run、ps、logs、stop、rmあたりを使えれば十分です。
コマンドを暗記するよりも、起動する → 確認する → 停止する → 削除するという流れを何度か繰り返してみてください。
ステップ4:Dockerfileを使ってイメージを作る¶
既存のDockerイメージを使えるようになったら、次はDockerfileを学びます。
Dockerfileは、どのようなDockerイメージを作るのかを記述するファイルです。
たとえば、Nginxを使って自分のHTMLファイルを表示したい場合は、次のようなDockerfileを作れます。
FROM nginx:latest
COPY ./html /usr/share/nginx/html
FROMではベースとなるDockerイメージを指定しています。
COPYでは、自分のPCにあるhtmlディレクトリをDockerイメージの中へコピーしています。
Dockerfileを作成したら、次のコマンドでイメージをビルドします。
docker build -t my-nginx .
作成したイメージは、先ほどと同じようにdocker runで起動できます。
docker run -d -p 8080:80 my-nginx
ここまでできると、用意されたイメージを使うだけではなく、自分で実行環境を作れるようになります。
【関連記事】Dockerfileとは?書き方とイメージの作成方法を解説
ステップ5:Docker Composeを学ぶ¶
Dockerfileまで理解できたら、次はDocker Composeです。
実際のWebアプリケーションでは、Webサーバーだけでなく、データベースやキャッシュなど複数のコンテナを使うことがあります。
コンテナごとに毎回長いdocker runコマンドを書くのは大変ですよね。
Docker Composeを使うと、複数のコンテナ構成をYAMLファイルにまとめて管理できます。

たとえば、次のようなcompose.yamlを作ります。
services:
web:
image: nginx:latest
ports:
- "8080:80"
起動するときは次のコマンドです。
docker compose up -d
停止するときは、次のようにします。
docker compose down
以前の記事や教材ではdocker-composeというコマンドを見かけることがありますが、現在はdocker composeというCLIプラグイン形式が基本です。
【関連記事】Docker Composeとは?dockerコマンドとの違いを解説
ステップ6:小さな環境を自分で作ってみる¶
ここまで学んだら、最後は自分で小さな環境を作ってみましょう。
Dockerは、読むだけではなかなか身につきません。
たとえば、NginxでHTMLを表示する、PythonやFlaskのアプリを動かす、WebサーバーとデータベースをDocker Composeで同時に起動する、といった小さな課題がおすすめです。
最初から大きなWebサービスをDocker化する必要はありません。
1つずつ動かしながら、エラーが出たらログを確認して修正する。この繰り返しが一番勉強になります。
Docker学習で初心者がつまずきやすいポイント¶
Dockerを勉強していると、コマンドは合っているはずなのに動かないことがあります。
これはDockerだけの知識で解決できないケースも多いです。
たとえば、-p 8080:80の意味を理解するにはポート番号やネットワークの知識が必要です。コンテナ内でファイルを確認したり、ログを調べたりするときにはLinuxコマンドも使います。
そのため、Dockerだけを切り離して覚えるよりも、Linuxやネットワークの基礎を一緒に勉強するのがおすすめです。
もう1つ注意したいのが、コマンドの丸暗記です。
今は分からないコマンドがあれば生成AIや公式ドキュメントですぐに確認できます。大切なのはコマンドをすべて覚えることではなく、Dockerで何を確認したいのか、どのような仕組みで動いているのかを理解することです。
Dockerを実践しながら学ぶならInfraAcademy¶
Dockerを勉強してみたものの、自分で環境を準備するところで止まってしまった方もいると思います。
InfraAcademyでは、Linuxやネットワーク、Docker、DevOpsなどを、教材を読むだけではなく実際に手を動かしながら学習できます。
Docker講座では、Dockerの概念や環境準備、コンテナの起動、Dockerfileの作成、イメージのビルドまで順番に学べます。
さらにDocker Compose講座では、複数コンテナの管理やYAMLファイルの書き方、起動・停止などもハンズオンで確認できます。
DockerでつまずきやすいLinuxやネットワークも同じサービス内で学べるので、Dockerだけ勉強していて分からない部分が増えてきた方にもおすすめです。
Docker入門は順番に手を動かせば難しくない¶
今回は、Docker初心者向けに学習ロードマップを紹介しました。
最初は難しそうに見えますが、Dockerの概要を理解して、コンテナを起動し、Dockerfile、Docker Composeへと順番に進めれば少しずつ理解できます。
特に大切なのは、読むだけで終わらせないことです。
まずはdocker run hello-worldを実行してみてください。コンテナが1つ動けば、Docker学習の最初の一歩は完了です。
そこから少しずつ、自分でWebサーバーを起動したり、Dockerfileを書いたりしてみましょう。



