Dockerコマンドメモ - 初心者向け基本操作
概要
Dockerを初めて使う方向けに、基本的なコマンドとその使い方をまとめました。実際の開発現場でよく使われるコマンドを中心に、具体例とともに解説します。
はじめに
Dockerは、アプリケーションをコンテナという軽量な仮想環境で実行できるプラットフォームです。開発環境の統一や、アプリケーションの配布・デプロイが簡単になります。
この記事では、Dockerの基本的な操作に必要なコマンドを、実際の使用例とともに紹介します。
前提条件
- Dockerがインストールされている
- 基本的なコマンドライン操作ができる
- Dockerの基本的な概念(イメージ、コンテナ)を理解している
基本的なDockerコマンド
1. イメージの操作
イメージの検索
# DockerHubからイメージを検索
docker search nginx
# 特定のイメージの詳細を確認
docker search --limit 5 nginx
イメージの取得
# 最新版のイメージを取得
docker pull nginx
# 特定のバージョンを取得
docker pull nginx:1.21
# イメージ一覧を表示
docker images
イメージの削除
# 特定のイメージを削除
docker rmi nginx
# 使用されていないイメージを一括削除
docker image prune
# 全てのイメージを削除(注意して使用)
docker rmi $(docker images -q)
2. コンテナの操作
コンテナの起動
# 基本的な起動
docker run nginx
# バックグラウンドで起動
docker run -d nginx
# ポートマッピング付きで起動
docker run -d -p 8080:80 nginx
# 名前を付けて起動
docker run -d --name my-nginx nginx
コンテナの管理
# 実行中のコンテナ一覧
docker ps
# 全てのコンテナ一覧(停止中も含む)
docker ps -a
# コンテナの停止
docker stop container_id
# コンテナの再開
docker start container_id
# コンテナの削除
docker rm container_id
コンテナ内での操作
# 実行中のコンテナに接続
docker exec -it container_id /bin/bash
# コンテナのログを確認
docker logs container_id
# コンテナの詳細情報を確認
docker inspect container_id
3. よく使うオプション
-d オプション
# バックグラウンドで実行
docker run -d nginx
-p オプション
# ポートマッピング(ホスト:コンテナ)
docker run -d -p 8080:80 nginx
-v オプション
# ボリュームマウント
docker run -d -v /host/path:/container/path nginx
-e オプション
# 環境変数を設定
docker run -d -e MYSQL_ROOT_PASSWORD=password mysql
--name オプション
# コンテナに名前を付ける
docker run -d --name my-app nginx
実践的な使用例
Webサーバーの起動
# Nginxを起動してWebサーバーを構築
docker run -d -p 80:80 --name web-server nginx
# ブラウザで http://localhost にアクセス
データベースの起動
# MySQLを起動
docker run -d \
--name mysql-db \
-e MYSQL_ROOT_PASSWORD=password \
-e MYSQL_DATABASE=myapp \
-p 3306:3306 \
mysql:8.0
アプリケーションの開発環境構築
# Node.jsアプリケーションの開発環境
docker run -it \
--name dev-container \
-v $(pwd):/app \
-p 3000:3000 \
node:18 \
/bin/bash
便利なコマンド
一括操作
# 全てのコンテナを停止
docker stop $(docker ps -q)
# 全てのコンテナを削除
docker rm $(docker ps -aq)
# 全てのイメージを削除
docker rmi $(docker images -q)
システム情報
# Dockerのバージョン情報
docker version
# Dockerのシステム情報
docker info
# ディスク使用量を確認
docker system df
クリーンアップ
# 未使用のリソースを一括削除
docker system prune
# 全ての未使用リソースを削除(注意して使用)
docker system prune -a
トラブルシューティング
よくあるエラーと解決方法
エラー例: Cannot connect to the Docker daemon
# Dockerサービスを起動
sudo systemctl start docker
# または
sudo service docker start
エラー例: Port is already allocated
# 使用中のポートを確認
sudo netstat -tulpn | grep :8080
# プロセスを終了
sudo kill -9 PID
エラー例: Permission denied
# ユーザーをdockerグループに追加
sudo usermod -aG docker $USER
# ログアウトして再ログイン
まとめ
Dockerの基本的なコマンドを覚えることで、以下のことができるようになります:
- 環境の統一: 開発・本番環境を同じように構築
- 簡単なデプロイ: アプリケーションをコンテナとして配布
- リソースの効率化: 軽量なコンテナで複数のアプリケーションを実行
まずは基本的なdocker run、docker ps、docker stopから始めて、徐々に他のコマンドも覚えていきましょう。