はじめに
N予備校のPostgreSQL環境をdocker-composeで作ったので記事にしてみました。
私 (@taxin_tt) はSIerでインフラエンジニアとして働いていて、普段コードを書く機会があまりありません。
無料受講キャンペーンをやっていたこともあり、N予備校(入門webアプリコース)でアプリ開発の基本を学び直しています。
自分が受講している入門webアプリコースの中では、サンプルアプリのデータを保存するためにPostgreSQLの環境を用意する必要がありました。
本来はVagrantを使って環境を用意するのですが、めんどくさかったのでDockerの勉強にもなると思い、PostgreSQLの環境をdocker-composeで用意しました。
この記事の執筆時点(5月前半)でもコースは無料で受講でき、利用される方も多いと考え、GitHubで公開することにしました。
5/31 N高のオンライン授業の無料開放を終了いたします。
— N高等学校(学校法人角川ドワンゴ学園) (@nhigh_info) 2020年5月8日
引き続き勉強をしたい方への応援企画として
① @nhigh_info をフォロー
②このツイートをRT
③ https://t.co/YC5BGmbBf5 に必要事項を入力
して申し込んで頂いた方、全員のN予備校の学費を1年間無料にいたします。
作成したもの
README.md
は英語で記載してありますが、日本語の簡単な説明も下部に記載しています。
使い方
基本的には、git clone
で上記のrepositoryをcloneして、docker-compose up
でPostgreSQLのコンテナを起動するだけです。
事前にDockerをinstallしておく必要があります。
また、docker exec -it <container_name> /bin/bash
でPostgreSQLのコンテナの中に入ってpsqlでDBの中身などを確認できます。
ユーザー側でDBの作成などの準備を行う必要はありません。
$ docker container ls -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 88d645d50d44 postgres:10-alpine "docker-entrypoint.s…" 26 seconds ago Up 25 seconds 0.0.0.0:5432->5432/tcp postgres-container $ docker exec -it 88d645d50d44 /bin/bash bash-5.0# su - postgres 88d645d50d44:~$ 88d645d50d44:~$ psql psql (10.12) Type "help" for help. // 作成したいDB(secret_board)が事前に作成されていることがわかる postgres=# \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges --------------+----------+----------+------------+------------+----------------------- postgres | postgres | UTF8 | en_US.utf8 | en_US.utf8 | secret_board | postgres | UTF8 | en_US.utf8 | en_US.utf8 | template0 | postgres | UTF8 | en_US.utf8 | en_US.utf8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | en_US.utf8 | en_US.utf8 | =c/postgres + | | | | | postgres=CTc/postgres testdb | postgres | UTF8 | en_US.utf8 | en_US.utf8 | (5 rows)
終わりに
簡単に作成した環境ですが、お役に立てば幸いです。
こんな感じの小さめのアウトプットもこまめにブログに載せていこうと思います。
PostgreSQLのインスタンスのセットアップが簡単にできるようになったので、これを期にSQLの勉強も始めてみようと思います。 www.postgresql.org