開発用Dockerコマンド集|PostgreSQL・MySQL・Redis・メールを1行起動
「ちょっとPostgreSQLで動作確認したい」「メール送信のテストがしたい」そんな時、環境構築に時間をかけるのはもったいないですよね。
僕は普段の業務開発やブログ記事を書く際の動作確認で、Dockerで一時的にサービスを立ち上げて、使い終わったらサクッと削除という方法を多用しています。インストールの手間もなく、ローカル環境を汚すこともありません。
そこで今回は、実際に僕がよく使っているコピペですぐ使えるDockerコマンドを、サービス別にまとめて紹介します。
動作確認環境:Docker version 28.0.4, build b8034c0
ほとんどのコマンドはDocker 20.10以降で動作します。
コマンドの選び方
この記事のコマンドでは、バージョンを指定せずlatest
タグを使用しています。これにより常に最新版が利用できます。用途に応じて3つのパターンを用意しています:
一時使用版(--rm)
- ちょっとした検証やテスト用
- 停止と同時に自動削除
- 後片付け不要
基本版(--name -d)
- 数日間の開発プロジェクト用
- 停止してもコンテナが残り、再起動可能
データ永続化版(-v ボリューム)
- データを確実に保持したい場合
- コンテナを削除してもデータが残る
自分の用途に合ったバージョンを選んでご利用ください。
停止・削除方法については「コンテナの停止・削除」をご覧ください。
データベース系サービス
▶PostgreSQL
最も使用頻度が高いリレーショナルデータベースの一つです。僕も日々の開発で一番使っています。
"Docker Hub: https://hub.docker.com/_/postgres (2025年9月15日時点: 17.6, 16.10, 15.14)
一時使用版
docker run --rm \
-e POSTGRES_PASSWORD=password \
-e POSTGRES_DB=mydb \
-p 5432:5432 \
postgres
基本版
docker run --name postgres-dev \
-e POSTGRES_PASSWORD=password \
-e POSTGRES_DB=mydb \
-p 5432:5432 \
-d postgres
データ永続化版
docker run --name postgres-dev \
-e POSTGRES_PASSWORD=password \
-e POSTGRES_DB=mydb \
-p 5432:5432 \
-v postgres-data:/var/lib/postgresql/data \
-d postgres:15
接続情報:
- ホスト:
localhost
- ポート:
5432
- ユーザー:
postgres
- パスワード:
password
- データベース:
mydb
データ永続化版ではpostgres-data
という名前のボリュームが自動作成され、コンテナを削除してもデータが保持されます。
▶MySQL
もう一つの主要なリレーショナルデータベースです。
"Docker Hub: https://hub.docker.com/_/mysql (2025年9月15日時点: 9.4.0, 8.4.6, 5.7.44)
一時使用版
docker run --rm \
-e MYSQL_ROOT_PASSWORD=password \
-e MYSQL_DATABASE=mydb \
-p 3306:3306 \
mysql
基本版
docker run --name mysql-dev \
-e MYSQL_ROOT_PASSWORD=password \
-e MYSQL_DATABASE=mydb \
-p 3306:3306 \
-d mysql
データ永続化版
docker run --name mysql-dev \
-e MYSQL_ROOT_PASSWORD=password \
-e MYSQL_DATABASE=mydb \
-p 3306:3306 \
-v mysql-data:/var/lib/mysql \
-d mysql
接続情報:
- ホスト:
localhost
- ポート:
3306
- ユーザー:
root
- パスワード:
password
- データベース:
mydb
▶MongoDB
NoSQLデータベースの代表格です。
"Docker Hub: https://hub.docker.com/_/mongo (2025年9月15日時点: 8.0.13, 7.0.24, 6.0.26)
一時使用版
docker run --rm -p 27017:27017 mongo
一時使用版(認証付き)
docker run --rm \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=password \
-p 27017:27017 \
mongo
基本版
docker run --name mongo-dev \
-p 27017:27017 \
-d mongo:7.0
データ永続化版
docker run --name mongo-dev \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=password \
-p 27017:27017 \
-v mongo-data:/data/db \
-d mongo:7.0
接続情報:
- ホスト:
localhost
- ポート:
27017
- 接続URL:
mongodb://admin:password@localhost:27017/
キャッシュ・セッションストレージ
▶Redis
高速なインメモリデータストアです。パフォーマンスが命のアプリケーションでは必須です。
"Docker Hub: https://hub.docker.com/_/redis (2025年9月15日時点: 8.2.1, 7.4.5, 6.2.19)
一時使用版
docker run --rm -p 6379:6379 redis
基本版
docker run --name redis-dev \
-p 6379:6379 \
-d redis
データ永続化版
docker run --name redis-dev \
-p 6379:6379 \
-v redis-data:/data \
-d redis \
redis-server --save 60 1 --loglevel warning
接続情報:
- ホスト:
localhost
- ポート:
6379
▶Memcached
シンプルなメモリキャッシュシステムです。
"Docker Hub: https://hub.docker.com/_/memcached (2025年9月15日時点: 1.6.39)
一時使用版
docker run --rm -p 11211:11211 memcached
基本版
docker run --name memcached-dev \
-p 11211:11211 \
-d memcached
メモリサイズ指定版(512MB)
docker run --name memcached-dev \
-p 11211:11211 \
-d memcached \
memcached --memory-limit=64
メッセージキューシステム
▶RabbitMQ
信頼性の高いメッセージキューシステムです。
"Docker Hub: https://hub.docker.com/_/rabbitmq (2025年9月15日時点: 4.1.4, 3.13.7)
一時使用版
docker run --rm \
-p 5672:5672 \
--hostname my-rabbit \
rabbitmq:3
基本版(管理画面付き)
docker run --name rabbitmq-dev \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=password \
-p 5672:5672 \
-p 15672:15672 \
--hostname my-rabbit \
-d rabbitmq:3-management
データ永続化版
docker run --name rabbitmq-dev \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=password \
-p 5672:5672 \
-p 15672:15672 \
--hostname my-rabbit \
-v rabbitmq-data:/var/lib/rabbitmq \
-d rabbitmq:3-management
接続情報:
- AMQP接続:
localhost:5672
- 管理画面:
http://localhost:15672
- ユーザー:
admin
- パスワード:
password
管理画面がとても便利で、メッセージの流れを視覚的に確認できます。
開発ツール・ユーティリティ
▶MailHog
開発時のメール送信をテストできるSMTPサーバーです。
"Docker Hub: https://hub.docker.com/r/mailhog/mailhog (2025年9月15日時点: v1.0.1)
一時使用版
docker run --rm \
-p 1025:1025 \
-p 8025:8025 \
mailhog/mailhog
基本版
docker run --name mailhog-dev \
-p 1025:1025 \
-p 8025:8025 \
-d mailhog/mailhog
接続情報:
- SMTP:
localhost:1025
- Web UI:
http://localhost:8025
▶MinIO
AWS S3互換のローカルオブジェクトストレージです。
"Docker Hub: https://hub.docker.com/r/minio/minio (2025年9月15日時点: RELEASE.2025-09-07T16-13-09Z-cpuv1)
一時使用版
docker run --rm \
-p 9000:9000 \
-p 9001:9001 \
minio/minio \
server /data --console-address ":9001"
基本版
docker run --name minio-dev \
-p 9000:9000 \
-p 9001:9001 \
-d minio/minio \
server /data --console-address ":9001"
データ永続化版
docker run --name minio-dev \
-p 9000:9000 \
-p 9001:9001 \
-v minio-data:/data \
-d minio/minio \
server /data --console-address ":9001"
接続情報:
- API:
http://localhost:9000
- 管理画面:
http://localhost:9001
- ユーザー:
minioadmin
- パスワード:
minioadmin
コンテナの停止・削除
▶一時使用版(--rm)の場合
一時使用版はCtrl+C
で停止すると自動的に削除されます。手動での削除作業は不要です。
▶基本版・データ永続化版の場合
個別に停止・削除
# 停止
docker stop postgres-dev
# 削除
docker rm postgres-dev
# 停止と削除を同時に
docker rm -f postgres-dev
開発用コンテナを一括停止・削除
# 一括停止
docker stop $(docker ps -q --filter "name=-dev")
# 一括削除
docker rm $(docker ps -aq --filter "name=-dev")
# 停止と削除を同時に
docker rm -f $(docker ps -aq --filter "name=-dev")
トラブルシューティング
▶ポートが既に使用されている場合
プロセスを確認
lsof -i :5432
別のポートを使用
docker run --name postgres-dev \
-e POSTGRES_PASSWORD=password \
-p 5433:5432 \
-d postgres:15
▶コンテナが起動しない場合
ログを確認
docker logs <コンテナ名>
リアルタイムログ監視
docker logs -f <コンテナ名>
まとめ
今回は、開発でよく使うサービスをコピペですぐに起動できるDockerコマンド集を紹介しました。
「ちょっと何かで動作確認したい」という時に、このコマンド集をブックマークしておけば、すぐに必要な環境が手に入ります。開発作業の効率化にぜひ活用してください。
参考リンク:
- Docker公式サイト - Dockerのダウンロードとドキュメント
- Docker Hub - 各種Dockerイメージの検索と最新バージョン確認
- Docker Hub API - イメージのバージョンやタグ情報を取得するAPIドキュメント
この記事はいかがでしたか?
もしこの記事が参考になりましたら、
高評価をいただけると大変嬉しいです!
皆様からの応援が励みになります。ありがとうございます! ✨