手軽にPostgreSQL環境を利用したいときに、有効な選択肢となるのがDockerです。この記事では、そもそもDockerやPostgreSQLとは何かや、DockerでPostgreSQLを運用するメリットを解説します。
その上で、Docker上でPostgreSQLを実行する手順についても紹介しているので、PostgreSQLの環境を用意したい方は是非参考にして下さい。
なお、使い方については、Docker環境を構築済の方を対象としておりますので注意して下さい。Docker環境の構築方法については、以下記事が参考になります。興味があれば、あわせてご覧ください。
カゴヤのVPSでは CentOS や Ubuntu、Windows などのOSに加え、必要なパッケージがインストール済みのテンプレートも用意されています。テンプレートを使うことで、面倒で複雑な環境構築作業を大幅に削減することが可能です。利用目的に合わせた環境を簡単に素早く構築できるため、学習や開発・テストなど、やりたいことをすぐに始められます。また日額料金で使い始めることができるので、少しだけ環境…
Web開発の現場をはじめとして、Dockerが使われる機会が増えています。手軽に使えるDockerのテスト環境・開発環境を調達したい、と考えている方は多いでしょう。 Windowsでは「WSL2」の登場により、Docker環境を簡単に確保できるようになりました。この記事では、WSL2とは何かといった概要と、Windows+WSL2でDocker環境を用意する方法について紹介します。 ※KAGOYA…
目次
【前提】そもそも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について詳しくは、以下公式サイトで確認下さい。
開発・検証・プログラミング学習に。無駄なコストもかけたくないあなたにおすすめのVPS
カゴヤのVPSは初期費用無料でアカウント登録さえしておけば、必要なときだけ日額課金でサーバーを立ち上げ可能!料金は使った分だけ。