Docker入門|初心者でもわかるコンテナ技術の基本とハンズオン

はじめに

近年、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 --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は 学習コスト以上のリターンがある技術 です。
この入門記事をきっかけに、ぜひ次のステップへ進んでみてください。


投稿日

カテゴリー:

投稿者:

タグ:

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です