お問い合わせはこちら

【入門】DockerでPostgreSQLを運用するメリットと手順

公開
dockerでPostgreSQL

手軽にPostgreSQL環境を利用したいときに、有効な選択肢となるのがDockerです。この記事では、そもそもDockerやPostgreSQLとは何かや、DockerでPostgreSQLを運用するメリットを解説します。

その上で、Docker上でPostgreSQLを実行する手順についても紹介しているので、PostgreSQLの環境を用意したい方は是非参考にして下さい。

なお、使い方については、Docker環境を構築済の方を対象としておりますので注意して下さい。Docker環境の構築方法については、以下記事が参考になります。興味があれば、あわせてご覧ください。

Docker を使って コンテナ仮想化を体験する

Docker を使って コンテナ仮想化を体験する

カゴヤのVPSでは CentOS や Ubuntu、Windows などのOSに加え、必要なパッケージがインストール済みのテンプレートも用意されています。テンプレートを使うことで、面倒で複雑な環境構築作業を大幅に削減することが可能です。利用目的に合わせた環境を簡単に素早く構築できるため、学習や開発・テストなど、やりたいことをすぐに始められます。また日額料金で使い始めることができるので、少しだけ環境…

Windows+WSL2でDocker環境を用意しよう

Windows+WSL2でDocker環境を用意しよう

Web開発の現場をはじめとして、Dockerが使われる機会が増えています。手軽に使えるDockerのテスト環境・開発環境を調達したい、と考えている方は多いでしょう。 Windowsでは「WSL2」の登場により、Docker環境を簡単に確保できるようになりました。この記事では、WSL2とは何かといった概要と、Windows+WSL2でDocker環境を用意する方法について紹介します。 WSLとは W…

【前提】そもそもDockerとは?PostgreSQLとは?

Dockerとはコンテナ型仮想化と呼ばれる、アプリケーションの実行環境を運用するための軽量かつ高速なプラットフォームです。コンテナ型仮想化では、ホストOSのカーネルを共有することで、従来の仮想マシンより軽快な処理能力を実現しています。

一方、PostgreSQLとは、オープンソースのリレーショナルデータベース管理システムです。PostgreSQLは無償で利用できるものの、商用としても十分に利用可能な機能性・堅牢性を誇ることから幅広く利用されています。

DockerでPostgreSQLを運用するメリット

Dockerは軽快かつ高速な仮想環境なので、PostgreSQLを効率的に運用することができます。またコンテナと呼ばれる仮想環境の作成や削除を、非常に簡単な操作で実行できることから手軽にPostgreSQLを運用できるのもメリットです。DockerではDockerイメージを作成することで、1つの環境を簡単に複製したり配布したりすることもできます。

DockerでPostgreSQLの環境構築をする方法

まずは必要なdockerイメージを、Docker Hubからダウンロードします。

docker image pull postgres:15-alpine

viコマンドを使い、以下のようにDockerfileを作成します。ファイル名は「Dockerfile」として下さい。

FROM postgres:11-alpine

# Time Zone
ENV TZ Asia/Tokyo

# Language
ENV LANG ja_JP.UTF-8
ENV LANGUAGE ja_JP:ja
ENV LC_ALL ja_JP.UTF-8

※vi エディタの使い方
まず「vi ファイル名」というコマンドでファイルの作成が可能です。その後、キーボードの「i」キーで編集できる入力モードになります。矢印キーで編集したい箇所にカーソルを移動して編集していきます。編集が完了したら「Esc」キーで入力モードを終了し、「:wq」入力し「Enter」キーで編集内容を保存できます。

DockerfileからDockerイメージを作成します。

docker image build -t mypostgres

作成したイメージをもとにDockerコンテナを起動します。

docker container run --name postgres -e POSTGRES_PASSWORD=postgres -p 5432:5432 -d mypostgres

※オプションでListenポートとパスワード(「POSTGRES_PASSWORD=postgres」の部分)を指定しています。パスワードの文字列は任意です。(上記例では「postgres」)

これで、PostgreSQLのDockerコンテナが起動し使えるようになりました。

【参考】PostgreSQLにログインしてデータベースを操作する

次に、PostgreSQLにログインしてデータベースを操作してみましょう。

PostgreSQL にアクセスするためのクライアントをインストールします。

<インストール先がUbuntuの場合>

apt install postgresql-client -y

<インストール先がCent OSの場合>

yum install postgresql

以下コマンドでPostgreSQLにアクセスします。

psql -U postgres -d postgres -h localhost

※パスワードを聞かれますので、前項で指定したパスワードを入力してください。

これでPostgreSQLログインが完了です。データベースを操作できる状態になっています。

試しに以下コマンドで「test_db」に入ってみましょう。

bash-5.1# psql -p 5432  -U admin -d test_db

以下コマンドでtest_dbの内容を表示します。

test_db=#¥l

これでtest_dbの内容が表示されたら成功です。

PostgreSQLからは「\q」コマンドで抜けることができます。

まとめ

Dockerを使えば、PostgreSQLの環境をすぐに用意することができます。Dockerなら、構築したPostgreSQL環境を削除することも可能です。

PostgreSQLはもちろん、Dockerもオープンソースなので費用はかかりません。PostgreSQLのDocker用テンプレートファイル(Dockerイメージ)は、公式のDocker Hubから取得が可能です。開発環境や学習環境用にPostgreSQLを利用したい場合も、Dockerは適しています。

KAGOYA CLOUD VPSでは初期費用無料、月額 550円(日額 20円)~の低価格で手軽にDockerを利用可能です。

KAGOYA CLOUD VPSにはDocker CEのアプリケーションセットアップも用意されています。そのためDocker環境を、非常に簡単な手順で手間なく作成可能です。

KAGOYA CLOUD VPSについて詳しくは、以下公式サイトで確認下さい。

日額 20円 で使えるVPS

開発・検証・プログラミング学習に。無駄なコストもかけたくないあなたにおすすめのVPS

カゴヤのVPSは初期費用無料でアカウント登録さえしておけば、必要なときだけ日額課金でサーバーを立ち上げ可能!料金は使った分だけ。