PROGスクールナビ

Docker入門|コンテナ技術の基礎から実際の使い方まで

Dockerはアプリケーションをコンテナと呼ぶ独立した環境で動かす技術です。「自分のPCでは動くのに本番サーバーで動かない」という問題を解決します。

Dockerとは?コンテナ技術の基礎

コンテナとは、アプリケーションの実行に必要なコード・ライブラリ・設定をひとまとめにしたパッケージです。

  • 環境の再現性:開発・テスト・本番で同じ環境を作れる
  • 軽量:仮想マシン(VM)より起動が速くリソースが少ない
  • 可搬性:どのOS・クラウドでも動かせる
  • 分離性:複数アプリが同一マシンで干渉しない

Dockerのインストール

  1. Docker Desktopをダウンロード
  2. インストーラーを実行(Windows/Mac対応)
  3. ターミナルで確認:docker --version

基本コマンド一覧

コマンド説明
docker pull [image]イメージをダウンロード
docker run [image]コンテナを起動
docker ps起動中のコンテナ一覧
docker ps -a全コンテナ一覧
docker stop [id]コンテナを停止
docker rm [id]コンテナを削除
docker imagesイメージ一覧
docker rmi [image]イメージを削除

よく使うdocker runオプション

  • -d:バックグラウンドで起動
  • -p 8080:80:ポートのマッピング(ホスト:コンテナ)
  • -v /host/path:/container/path:ボリューム(ファイル共有)
  • --name myapp:コンテナに名前をつける
  • -e ENV_VAR=value:環境変数の設定

Dockerfileの書き方

Dockerfileはカスタムイメージを作るための設定ファイルです。

FROM node:20
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["node", "app.js"]
  • FROM:ベースイメージを指定
  • WORKDIR:作業ディレクトリを設定
  • COPY:ファイルをコンテナにコピー
  • RUN:コマンドを実行(ビルド時)
  • EXPOSE:公開ポートを指定
  • CMD:コンテナ起動時に実行するコマンド

Docker Compose(複数コンテナの管理)

WebアプリとDBなど複数のコンテナをまとめて管理するためのdocker-compose.ymlファイル。

version: '3'
services:
  web:
    build: .
    ports:
      - "3000:3000"
    depends_on:
      - db
  db:
    image: postgres:15
    environment:
      POSTGRES_PASSWORD: secret

docker compose up -d で全サービスを起動できます。

エンジニア転職でDockerが重要な理由

現代のWeb開発・インフラ環境ではDockerはほぼ必須スキルです。特にバックエンド・インフラ・DevOps分野での転職にはDockerの知識が評価されます。

まとめ

Dockerを使えば環境構築の悩みがなくなり、チーム開発やデプロイが圧倒的に楽になります。エンジニアとしてのスキルアップにDockerの習得は必須です。

📚 プログラミング初心者におすすめの本

🛒 楽天で人気のプログラミング入門書