はじめに
近年の開発現場では、環境構築の手間を減らすために「コンテナ技術」が広く利用されています。その代表格が Docker です。 Dockerを使えば、「動く環境」をそのまま共有できるため、「自分の環境では動いたのに…」という問題を解決できます。 本記事では、Dockerの基本概念を学び、実際にコンテナを動かすハンズオンまで行います。
1. Dockerとは?
Dockerはアプリケーションをコンテナという単位で実行・管理するためのプラットフォームです。 コンテナは、OS上でアプリケーションとその依存関係をまとめて動かす軽量な仮想環境のようなものです。
仮想マシンとの違い
| 項目 | 仮想マシン | Dockerコンテナ |
|---|---|---|
| 起動速度 | 数十秒〜数分 | 数秒 |
| サイズ | 数GB〜数十GB | 数百MB程度 |
| 隔離方法 | 仮想ハードウェア | OSレベル |
| 利用リソース | 多い | 軽量 |
DockerはOSカーネルを共有するため、軽量かつ高速です。
2. Dockerの基本用語
| 用語 | 説明 |
|---|---|
| イメージ (Image) | コンテナの設計図。アプリや設定が含まれる。 |
| コンテナ (Container) | イメージを実行した実体。 |
| Dockerfile | イメージを自動生成するためのレシピ。 |
| Docker Hub | イメージの共有・配布サービス。 |
3. Dockerのインストール
Docker公式サイトから「Docker Desktop」をインストールします。 https://www.docker.com/products/docker-desktop/
sudo apt update sudo apt install docker.io -y sudo systemctl start docker sudo systemctl enable docker
インストール確認:
docker --version
4.ハンズオン:Nginxコンテナを動かしてみよう
ここでは、最も簡単な「Nginx(Webサーバ)」をDockerで起動してみましょう。
ステップ1:Nginxイメージを取得
docker pull nginx
公式イメージをDocker Hubからダウンロードします。
ステップ2:コンテナを起動
docker run -d -p 8080:80 --name my-nginx nginx
- -d:バックグラウンドで実行
- -p 8080:80:ホストの8080番ポートをコンテナの80番ポートに接続
- –name my-nginx:コンテナに名前をつける
ステップ3:ブラウザで確認
ブラウザで以下にアクセスします: http://localhost:8080
「Welcome to nginx!」と表示されれば成功です。
ステップ4:ログ確認と停止
docker logs my-nginx docker stop my-nginx
5.ハンズオン:Dockerfileで独自コンテナを作る
ステップ1:作業ディレクトリ
mkdir myapp cd myapp
ステップ2:index.htmlを作成
<!DOCTYPE html>
<html>
<head><title>Hello Docker</title></head>
<body><h1>Hello, Docker World!</h1></body>
</html>
ステップ3:Dockerfileを作成
FROM nginx:latest COPY index.html /usr/share/nginx/html/index.html
ステップ4:イメージをビルド
docker build -t my-nginx-app .
ステップ5:コンテナを起動
docker run -d -p 8081:80 --name my-app my-nginx-app
ステップ6:ブラウザで起動
「Hello, Docker World!」が表示されれば成功です。
6.まとめ
本記事ではDockerの基本概念と、Nginxを使った簡単なハンズオンを行いました。 次のステップとしては以下のテーマを学ぶとさらに理解が深まります。
- Docker Composeによる複数コンテナの管理
- Docker Volumeでデータ永続化
- Dockerfileのベストプラクティス
- CI/CDパイプラインへの統合

コメントを残す