はじめに
近年、Docker(ドッカー) はWeb開発・インフラ構築・クラウド運用の現場で欠かせない技術となっています。
「Dockerってよく聞くけど何ができるの?」「仮想マシンと何が違うの?」と感じている方も多いのではないでしょうか。
本記事では、
- Dockerの基本概念
- 仮想マシンとの違い
- Dockerのメリット
- 実際に手を動かすハンズオン(Dockerfile作成〜起動)
までを 初心者向けに丁寧に解説します。
対象読者
- Docker初心者
- 開発環境構築を楽にしたいエンジニア
- 技術ブログを読みながら実践したい人
Dockerとは何か?
Docker とは、アプリケーションとその実行環境をまとめて扱える コンテナ型仮想化技術 です。
従来の課題
これまでの開発では、以下のような問題が頻繁に起きていました。
- 「自分のPCでは動くのに本番では動かない」
- 開発者ごとに環境差分がある
- サーバー構築が属人化する
Dockerは、これらの問題を 「環境をコードとして管理する」 ことで解決します。
Dockerと仮想マシン(VM)の違い
Dockerを理解するうえで、仮想マシンとの違いは重要です。
| 項目 | Docker | 仮想マシン |
|---|---|---|
| 起動速度 | 数秒 | 数分 |
| 容量 | 軽量 | 重い |
| OS | ホストOSを共有 | OSごと仮想化 |
| 運用コスト | 低い | 高い |
Dockerは軽量で高速な点が最大の特徴です。
Dockerの基本用語
Dockerを使う前に、最低限押さえておきたい用語を整理します。
イメージ(Image)
- アプリと実行環境をまとめた設計図
Dockerfileから作成される
コンテナ(Container)
- イメージを実行したもの
- 実際に動作するプロセス
Dockerfile
- イメージを作成するための設定ファイル
- 環境構築手順をコードで記述する
Dockerを使うメリット
Docker導入による主なメリットは以下です。
- 環境構築が一瞬で終わる
- チームで同一環境を共有できる
- 本番環境との差異を減らせる
- CI/CDやKubernetesとの相性が良い
特に 技術ブログや学習用途 では、「環境構築に時間を取られない」点が大きな強みです。
【ハンズオン】DockerでWebサーバーを起動してみよう
ここからは実際にDockerを使ってみます。
Nginxを使った簡単なWebサーバーを立ち上げてみましょう。
事前準備
以下がインストールされていることを確認してください。
- Docker Desktop (Windows / Mac)
docker --version
バージョンが表示されればOKです。
① プロジェクト用ディレクトリを作成
mkdir docker-sample
cd docker-sample
② HTMLファイルを作成
index.html を作成します。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Docker 入門</title>
</head>
<body>
<h1>Hello Docker!</h1>
<p>Dockerハンズオン成功 🎉</p>
</body>
</html>
③ Dockerfileを作成
次に Dockerfile を作成します。
FROM nginx:latest
COPY index.html /usr/share/nginx/html/index.html
Dockerfileの解説
FROM nginx:latest
→ Nginx公式イメージを利用COPY
→ ローカルのHTMLをコンテナ内に配置
④ Dockerイメージをビルド
docker build -t docker-sample .
⑤ コンテナを起動
docker run -d -p 8080:80 docker-sample
⑥ ブラウザで確認
ブラウザで以下にアクセスします。
http://localhost:8080
「Hello Docker!」と表示されれば成功です 🎉
よくあるエラーと対処法
ポートが使われている場合
docker ps
不要なコンテナを停止します。
docker stop コンテナID
まとめ
本記事では、以下の内容を解説しました。
- Dockerの基本概念
- 仮想マシンとの違い
- Dockerのメリット
- Dockerfileを使ったハンズオン
Dockerは 学習コスト以上のリターンがある技術 です。
この入門記事をきっかけに、ぜひ次のステップへ進んでみてください。
コメントを残す