InfraAcademy

InfraAcademy Blog

Docker入門の学習ロードマップ|初心者は何から勉強すればいい?

| #ネットワーク #Docker #Docker入門講座
Linuxをブラウザで試してみる

Linux・ネットワーク・AWSを、環境構築なしで実践学習できます

こんにちは、インフラエンジニアの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そのものの仕組みをもう少し詳しく知りたい方は、こちらの記事から読むと理解しやすいです。

【関連記事】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

最初の段階では、runpslogsstoprmあたりを使えれば十分です。

コマンドを暗記するよりも、起動する → 確認する → 停止する → 削除するという流れを何度か繰り返してみてください。

ステップ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ファイルにまとめて管理できます。

Docker Composeのイメージ

たとえば、次のような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ファイルの書き方、起動・停止などもハンズオンで確認できます。

InfraAcademyのDocker講座を確認する

DockerでつまずきやすいLinuxやネットワークも同じサービス内で学べるので、Dockerだけ勉強していて分からない部分が増えてきた方にもおすすめです。

Docker入門は順番に手を動かせば難しくない

今回は、Docker初心者向けに学習ロードマップを紹介しました。

最初は難しそうに見えますが、Dockerの概要を理解して、コンテナを起動し、Dockerfile、Docker Composeへと順番に進めれば少しずつ理解できます。

特に大切なのは、読むだけで終わらせないことです。

まずはdocker run hello-worldを実行してみてください。コンテナが1つ動けば、Docker学習の最初の一歩は完了です。

そこから少しずつ、自分でWebサーバーを起動したり、Dockerfileを書いたりしてみましょう。

Next Action

記事で読んだ内容を、講座で実装してみましょう

InfraAcademyでは、ブラウザ上でLinuxやネットワークの実践環境を使いながら学習できます。無料で始められる講座から、学習の流れを試せます。

この記事を書いた人

ryu

InfraAcademy運営 / エンジニア

エンジニア歴10年。Linux、ネットワーク、クラウドを中心に、実務で役立つインフラ技術を初心者にもわかりやすく解説しています。

X: @ryu63614894

Related

関連記事

ブログ一覧へ

Roadmap

まずはこの4講座から

ログインすれば無料で始められる講座です。気になったテーマから手を動かして学べます。

講座一覧を見る