初めてDockerを使ったとき、「なんで今までこれを使ってなかったんだろう」と思う方は非常に多いです。環境構築の苦労が一瞬で消える体験は、エンジニアとしてのターニングポイントになります。
Dockerの環境構築は、正しい手順で進めれば30分で完了します。「Docker難しそう…」と思っている方、全然大丈夫です。この記事の手順通りに進めれば、初心者でも確実にDockerが動く環境を作れます。
「Dockerって何?」「環境構築が簡単らしいけど、具体的にどうやるの?」こんな疑問を持っていませんか?記事執筆時点で、Dockerはソフトウェア開発の現場でほぼ必須のツールになっています。
この記事では、基本概念からインストール、初めてのコンテナ起動、Docker Composeまで、初心者向けにステップバイステップで解説します。詳細な仕様はDocker公式ドキュメントも参考にしてください。

🤖 ナビ助のおすすめ!
Dockerとは?5分で本質を理解する
Dockerはコンテナ型の仮想化技術です。簡単に言うと、パソコンの中に「アプリの実行環境を丸ごとパッケージ化した軽量な箱」を作る技術です。
具体例で説明しましょう。Node.js 18で開発しているアプリがあるとします。チームメイトのPCにはNode.js 16しか入っていない。通常なら環境構築だけで数時間かかります。
でもDockerなら、「Node.js 18 + 必要なライブラリ」をまるごとパッケージ化して共有できます。チームメイトはdocker runの1コマンドで、全く同じ環境を再現できます。Dockerのおかげで「自分のPCでは動くのに…」問題がほぼゼロになったという声は非常に多く聞かれます。
Dockerの主要メリット
| メリット | 従来の方法 | Dockerの場合 |
|---|---|---|
| 環境構築 | 数時間〜数日 | 数分 |
| 環境の再現性 | 「自分のPCでは動くのに…」問題が頻発 | 全員同じ環境が保証される |
| クリーンアップ | アンインストールしてもゴミが残る | コンテナ削除で完全にきれいになる |
Step 1:事前準備(必要なスペック確認)
必要なハードウェアとOS
- Windows 10/11 Pro以上(HomeエディションでもWSL 2経由で対応可)
- macOS(Intel/Apple Silicon両対応)
- Linux(Ubuntu、CentOS等)
- メモリ:4GB以上(8GB推奨)
- ストレージ:20GB以上の空きスペース
Windowsユーザーへの注意:WSL 2(Windows Subsystem for Linux 2)の有効化が必要です。Docker Desktopのインストーラーが自動でガイドしてくれるので、指示に従ってください。
Step 2:Docker Desktopをインストールする
ダウンロード
Docker公式サイトにアクセスし、「Download」からOS用のインストーラーをダウンロードします。必ず公式サイトから入手してください。
インストール実行
Windows/Mac:ダウンロードしたファイルをダブルクリックし、ウィザードに従うだけです。
Linux(Ubuntu):
sudo apt-get update
sudo apt-get install docker.io
インストール確認
ターミナルで以下を実行:
docker --version
「Docker version 27.x.x」のようなバージョン番号が表示されたら成功です。
Dockerデーモンの起動
Windows/Mac:Docker Desktopアプリケーションを開くだけです。
Linux:
sudo systemctl start docker

Step 3:Hello Worldで動作確認する
ターミナルで以下を実行してください:
docker run hello-world
このコマンドで起きること:
- Dockerが「hello-world」イメージをローカルで探す
- なければDocker Hubからダウンロード
- イメージをもとにコンテナを起動
- 「Hello from Docker!」メッセージが表示される
成功メッセージが表示されたら、Dockerは正常に動いています。この瞬間がDockerとの最初の感動ポイントです。
🤖 ナビ助のおすすめ!
Step 4:実用的なコンテナを起動する(Nginx)
次は実用的な例として、Nginxウェブサーバーを起動してみましょう。
docker run -d -p 8080:80 nginx
各オプションの意味:
-d:バックグラウンドで実行-p 8080:80:ホストの8080ポートをコンテナの80ポートに接続nginx:使用するイメージ名
実行後、ブラウザでhttp://localhost:8080にアクセスすると、Nginxのデフォルトページが表示されます。たった1行のコマンドでWebサーバーが起動できたということです。
よく使うDockerコマンド
| コマンド | 役割 |
|---|---|
docker ps |
稼働中のコンテナ一覧 |
docker stop [ID] |
コンテナを停止 |
docker rm [ID] |
コンテナを削除 |
docker images |
ローカルのイメージ一覧 |
docker logs [ID] |
コンテナのログを表示 |

Step 5:Docker Composeで複数コンテナを管理する
実務では、Webアプリ+データベース+キャッシュのように複数のコンテナを組み合わせることがほとんどです。それを簡単に管理するのがDocker Composeです。
docker-compose.ymlの作成例
version: '3.8'
services:
web:
image: nginx:latest
ports:
- "8080:80"
depends_on:
- db
db:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: myapp
ports:
- "3306:3306"
起動と停止
docker-compose up -d # バックグラウンドで全コンテナ起動
docker-compose down # 全コンテナ停止・削除
この1つのファイルで、チーム全体が同じ環境を共有できるのがDocker Composeの強みです。現場でもDocker Composeは毎日使われているツールです。
Dockerfileの基本(自分のイメージを作る)
既存イメージだけでなく、自分のアプリ用のイメージも作れます:
FROM python:3.11
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["python", "app.py"]
各行の意味:FROM(ベースイメージ指定)、WORKDIR(作業ディレクトリ)、COPY(ファイルコピー)、RUN(コマンド実行)、CMD(起動時のコマンド)。最初はテンプレートを真似していけば問題ありません。
Dockerfileを書く際の基本ルール:
- FROMで軽量なベースイメージを選ぶ(alpineタグなど)
- COPYは必要なファイルだけを選択的に行う
- RUNは可能な限りまとめてレイヤー数を減らす
- .dockerignoreファイルで不要なファイルを除外する
よくある質問(FAQ)
Q1: Dockerはどのくらいのディスク容量を使いますか?
イメージにより異なります。小さなイメージなら数MB、複雑なアプリなら数GB。docker system dfで使用量を確認し、不要なイメージはdocker image pruneで削除できます。
Q2: Windows/Mac/Linux間でdocker-compose.ymlは互換ですか?
はい、完全互換です。これがDockerの最大のメリットの1つです。OSが違っても同じ設定ファイルで同じ環境が再現されます。
Q3: 既存プロジェクトにDockerを導入する際の注意点は?
使用ライブラリのバージョン、依存関係、環境変数を正確に把握してDockerfileに記述することが重要です。まずは開発環境だけDocker化して、本番環境は段階的に移行するのがおすすめです。
Q4: Docker Hubのイメージは安全ですか?
公式イメージ(Official Imageバッジ付き)は安全です。個人作成のイメージは評価・ダウンロード数・最終更新日を確認して選びましょう。
Q5: コンテナが起動しない時はどうする?
docker logs [コンテナID]でログを確認してください。エラーメッセージから原因が特定できることがほとんどです。docker inspect [コンテナID]で詳細情報も確認できます。
Q6: Dockerの学習にどのくらい時間がかかる?
基本的な使い方(コンテナの起動・停止・Docker Compose)は1〜2日で習得可能です。Dockerfileの作成やマルチステージビルドなどの応用は2〜4週間。実務レベルのオーケストレーション(Kubernetes等)は3〜6ヶ月が目安です。
まとめ:Dockerは5ステップで始められる
Docker環境構築の手順をおさらいします:
- 事前準備:OS・メモリ・ストレージを確認
- Docker Desktopインストール:公式サイトからダウンロード&実行
- Hello Worldで動作確認:
docker run hello-world - 実用的なコンテナ起動:Nginxで体験
- Docker Composeで複数コンテナ管理:docker-compose.ymlを作成
Dockerは記事執筆時点のソフトウェア開発において必須のスキルです。思っているほど難しくはありません。まずはこの記事の手順でHello Worldを動かすところから始めてみてください。最初の成功体験が、Dockerへの一歩目になります。

※記事執筆時点での情報です。最新の情報は各公式サイトでご確認ください。
🤖 ナビ助のおすすめ!


