Docker

Dockerコンテナでpostgresデータベースの環境構築

どうも、とがみんです。
この記事では、Dockerコンテナを用いてpostgresデータベース環境を構築する方法を整理していきます。

Dockerイメージの取得

Dockerコンテナを用いてpostgres環境を構築するにあたって、まずはpostgres環境用のDockerイメージを取得します。

Dockerイメージとは、Dockerコンテナの実行に必要なファイルやメタ情報の集合です。

Docker hubにpostgresのイメージが用意されいるので、以下のコマンドを実行し、イメージを取得します。

docker pull postgres

その後、以下コマンドを実行すると、イメージが取得できたことを確認できます。

docker images

Dockerイメージからコンテナを起動する

以下のコマンドを実行し、取得したDockerイメージから、コンテナのプロセスを実行します。

docker run –name test_postgres -e POSTGRES_PASSWORD=test-pass -d -p 15432:5432 postgres

コマンドの説明

–name test-postgres

–nameオプションでtest_postgresというコンテナ名を指定しています。これを指定することで、コンテナを指定した名前で参照することができます。

-e POSTGRES_PASSWORD=test-pass

-eオプションで環境変数を追加することができます。

ユーザー名とデータベース名は何も指定しなくてもpostgresが初期値として設定されています。

postgresのDockerイメージからコンテナを動かすためには、最低限パスワードPOSTGRES_PASSWORDを指定する必要があります。

-d

「デタッチド・モード」すなわちコンテナをバックグラウンドで起動するオプションです。

-p 15432:5432

-pオプションは外部のポートとコンテナ内部のポートを接続するオプションです。

-p 15432:5432はローカルの15432ポートにアクセスすると、dockerコンテナ内部の5432ポートで動いているアプリケーションに接続できるようになります。

postgres

dockerイメージを指定しています。

プロセスの確認

以下のコマンドを実行することで起動中のプロセスを確認することができます。

docker ps

実行すると、以下のように表示されます。

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fa07e2716e4d postgres “docker-entrypoint.s…” 10 seconds ago Up 9 seconds 0.0.0.0:15432->5432/tcp test_postgres

postgresデータベースへアクセスする

pgAdminからデータベースにアクセスします。ここからPostgreSQLのダウンロードします。

サーバーの追加を選択します。

次にデータベースの名称を指定します。

データベースへの接続情報を入力します。

接続情報を入力後、保存するとデータベースへ接続することができます。

まとめ

Dockerコンテナを用いてpostgresデータベース環境を構築する方法についてまとめました。