Docker入門ガイド|インストールから実践まで初心者向け完全解説

使い方ガイド

「Dockerって聞くけど、何から始めればいいの?」という方は多いです。筆者もDockerを初めて触ったときは概念が掴めず苦労しました。しかし基本を理解してからは開発環境の構築時間が1/5になり、「もうDocker無しには戻れない」と実感しています。この記事では2026年最新の情報でインストールから実践まで、初心者がつまずきやすいポイントを押さえて完全解説します。

Dockerとは?仮想マシンとの違い

Dockerはアプリケーションとその実行環境をまとめて「コンテナ」というパッケージにする技術です。「軽くて速い仮想環境」と理解すればOKです。

比較項目 Docker(コンテナ) 仮想マシン(VM)
起動時間 数秒 数分
ディスク使用量 数十MB〜 数GB〜
OS ホストOSカーネル共有 ゲストOSが必要
パフォーマンス ほぼネイティブ オーバーヘッドあり
ポータビリティ どこでも同じ環境 イメージが大きく移動困難
主な用途 開発環境・CI/CD・マイクロサービス OSレベルの分離が必要な場面

Dockerの主要コンセプト

Dockerを理解するには3つの概念を押さえましょう。

  • イメージ(Image):コンテナの「設計図」。OS+ミドルウェア+アプリが1つのパッケージになったもの。Docker Hubで公開イメージを入手可能
  • コンテナ(Container):イメージを「実行中」にしたもの。複数のコンテナを同時起動でき、互いに独立
  • Dockerfile:イメージの作り方を記述した「レシピ」ファイル。テキストファイルなのでGitで管理できる

Dockerのインストール手順【OS別】

macOS

Docker Desktop for Macを公式サイトからダウンロード。dmgファイルを開いてApplicationsにドラッグするだけです。Apple Silicon(M1〜M4)にネイティブ対応しています。

Windows

Docker Desktop for Windowsをインストールします。WSL2(Windows Subsystem for Linux 2)が前提で、Windows 10以降なら「wsl –install」コマンドでセットアップ可能です。

Linux(Ubuntu/Debian)

公式リポジトリからapt経由でインストールします。Docker DesktopではなくDocker Engineのみで動作し、軽量です。

確認方法:ターミナルで「docker –version」と入力し、バージョンが表示されればインストール成功です。

まず覚える基本コマンド10選

コマンド 機能 使用例
docker pull イメージをダウンロード docker pull nginx
docker run コンテナを作成・起動 docker run -d -p 80:80 nginx
docker ps 実行中のコンテナ一覧 docker ps
docker ps -a 全コンテナ一覧(停止含む) docker ps -a
docker stop コンテナを停止 docker stop コンテナID
docker rm コンテナを削除 docker rm コンテナID
docker images イメージ一覧 docker images
docker rmi イメージを削除 docker rmi イメージID
docker logs コンテナのログ表示 docker logs コンテナID
docker exec 実行中コンテナ内でコマンド実行 docker exec -it コンテナID bash

覚え方のコツ:最初は「pull → run → ps → stop → rm」の流れだけ覚えれば十分です。イメージをダウンロードして、起動して、確認して、止めて、片付ける。この流れが全ての基本です。

実践:Dockerで開発環境を構築しよう

ステップ1:Nginxで静的サイトを表示

まずは最もシンプルな例から始めましょう。「docker run -d -p 8080:80 nginx」を実行するだけで、ブラウザで localhost:8080 にアクセスするとNginxの初期ページが表示されます。たった1コマンドでWebサーバーが立ち上がる、これがDockerの威力です。

ステップ2:Dockerfileを書いてみよう

次にオリジナルのイメージを作ります。プロジェクトフォルダにDockerfileというファイルを作成し、ベースイメージの指定(FROM)、ファイルのコピー(COPY)、ポートの公開(EXPOSE)、起動コマンド(CMD)を記述します。

Dockerfileの基本構造

  • FROM:ベースとなるイメージを指定(例:node:20-alpine)
  • WORKDIR:作業ディレクトリを設定
  • COPY:ローカルファイルをコンテナ内にコピー
  • RUN:ビルド時に実行するコマンド(例:npm install)
  • EXPOSE:コンテナが使用するポートを宣言
  • CMD:コンテナ起動時に実行するコマンド

ステップ3:Docker Composeで複数コンテナを管理

実際の開発では「Webアプリ+データベース+キャッシュ」のように複数コンテナを連携させます。Docker Composeはそれを1つのYAMLファイルで定義・管理するツールです。

Docker Composeの基本:docker-compose.ymlにサービス(コンテナ)の定義を書き、「docker compose up -d」で全コンテナを一括起動、「docker compose down」で一括停止できます。

Docker学習のロードマップ

段階 学習内容 目安期間 ゴール
Week 1 基本コマンド・コンテナ操作 1週間 コンテナの起動・停止ができる
Week 2 Dockerfile作成・イメージビルド 1週間 自分のアプリをコンテナ化できる
Week 3 Docker Compose・複数コンテナ連携 1週間 Web+DB環境を構築できる
Week 4 ボリューム・ネットワーク・本番運用 1週間 データ永続化と安全な運用ができる
Month 2〜 CI/CD連携・Kubernetes入門 1ヶ月〜 本番デプロイの自動化

Docker運用のベストプラクティス

  • 軽量ベースイメージを使う:node:20よりnode:20-alpineが200MB以上小さい。ビルド時間とストレージを節約
  • .dockerignoreを書く:node_modules、.git、ログファイルなどをCOPYから除外。ビルド高速化とセキュリティ向上
  • レイヤーキャッシュを活用:変更頻度の低いもの(依存関係インストール)を先に、変更頻度の高いもの(ソースコード)を後にCOPYする
  • 1コンテナ1プロセス:Webサーバーとデータベースは別コンテナに分離。スケーリングと管理が容易に
  • 環境変数で設定を管理:DB接続情報やAPIキーはDockerfile内にハードコードせず、環境変数(.envファイル)で管理
  • ヘルスチェックを設定:コンテナの稼働状態を監視し、異常時に自動再起動させる

Docker学習におすすめのリソース

リソース 種類 料金 特徴
Docker公式ドキュメント 公式ドキュメント 無料 最新情報が最も正確。英語だがDeepLで十分読める
Play with Docker オンライン環境 無料 ブラウザ上でDockerを試せる。インストール不要
Udemy Docker講座 動画講座 1,500円〜 日本語のハンズオン講座が充実。セール時がお得
Docker Deep Dive(書籍) 書籍 3,000円前後 体系的に学べる定番書。中級者にもおすすめ

よくある質問(FAQ)

DockerとKubernetesの違いは?

Dockerは「コンテナを作って動かす」ツール、Kubernetesは「大量のコンテナを管理・運用する」ツールです。個人開発や小規模チームならDocker(+Docker Compose)で十分です。コンテナ数が数十〜数百になる大規模運用でKubernetesが必要になります。まずはDockerを完全に理解してからKubernetesに進みましょう。

Docker Desktopは有料化されたのでは?

2022年から大企業(従業員250人以上または年収1000万ドル以上)は有料(月5ドル〜)になりました。個人利用、教育目的、小規模企業は引き続き無料です。Linuxの場合はDocker Engineのみで動作するため、そもそもDocker Desktopは不要です。

Dockerを使うとPCが重くなりませんか?

コンテナ自体は非常に軽量ですが、Docker Desktop(特にmacOS/Windows)はバックグラウンドで一定のメモリを使います。設定でメモリ上限を調整できるので、メモリ8GBのPCなら4GB、16GBなら6〜8GBを割り当てるのがおすすめです。

Windowsでも問題なく使えますか?

WSL2の登場以降、Windows環境でもDockerは快適に動作します。WSL2 + Docker Desktopの組み合わせでLinuxとほぼ同等のパフォーマンスが出ます。ただしWSL2のセットアップが必要なので、初回だけ少し手間がかかります。

開発環境以外にDockerの使い道はありますか?

たくさんあります。CI/CDパイプライン(GitHub Actions等)、本番環境のデプロイ、機械学習の実験環境、データベースのテスト環境など、「環境を素早く用意して壊せる」というDockerの特性はあらゆる場面で活用できます。

まとめ:Dockerは現代の開発者必須スキル

Dockerは2026年現在、エンジニアの必須スキルです。求人票でも「Docker経験あり」が当たり前のように記載されています。基本コマンド10個を覚え、Dockerfileを書けるようになれば、開発効率は劇的に向上します。

今日のアクション:(1) Docker Desktopをインストールする → (2) 「docker run -d -p 8080:80 nginx」でコンテナを起動してみる → (3) ブラウザでlocalhost:8080にアクセスして動作を確認する。この3ステップで、Dockerの世界への第一歩を踏み出せます。

コメント

タイトルとURLをコピーしました