開発用Dockerコマンド集|PostgreSQL・MySQL・Redis・メールを1行起動

2025/09/15に公開

「ちょっとPostgreSQLで動作確認したい」「メール送信のテストがしたい」そんな時、環境構築に時間をかけるのはもったいないですよね。

僕は普段の業務開発やブログ記事を書く際の動作確認で、Dockerで一時的にサービスを立ち上げて、使い終わったらサクッと削除という方法を多用しています。インストールの手間もなく、ローカル環境を汚すこともありません。

そこで今回は、実際に僕がよく使っているコピペですぐ使えるDockerコマンドを、サービス別にまとめて紹介します。

Note

動作確認環境:Docker version 28.0.4, build b8034c0
ほとんどのコマンドはDocker 20.10以降で動作します。

コマンドの選び方

この記事のコマンドでは、バージョンを指定せずlatestタグを使用しています。これにより常に最新版が利用できます。用途に応じて3つのパターンを用意しています:

一時使用版(--rm)

  • ちょっとした検証やテスト用
  • 停止と同時に自動削除
  • 後片付け不要

基本版(--name -d)

  • 数日間の開発プロジェクト用
  • 停止してもコンテナが残り、再起動可能

データ永続化版(-v ボリューム)

  • データを確実に保持したい場合
  • コンテナを削除してもデータが残る

自分の用途に合ったバージョンを選んでご利用ください。

Tip

停止・削除方法については「コンテナの停止・削除」をご覧ください。

データベース系サービス

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
Note

データ永続化版では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
Tip

管理画面がとても便利で、メッセージの流れを視覚的に確認できます。

開発ツール・ユーティリティ

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ドキュメント

この記事はいかがでしたか?

もしこの記事が参考になりましたら、
高評価をいただけると大変嬉しいです!

--

皆様からの応援が励みになります。ありがとうございます! ✨