読者です 読者をやめる 読者になる 読者になる

痛風とシステム障害を恐れるエンジニアのブログ

趣味のことだったり仕事に関することだったりを徒然なるままに。webとかオープン系の会社で働いてます。お仕事の依頼お待ちしておりまーす。

DockerでPostgreSQL環境を作る その1

今回Djangoを利用して作るサービスはDBにPostgreSQLを利用しようと思っています。
DjangoのORMを勉強する上でもDBがないと始まらないだろうと思って、先にPostgreSQLの準備をば。

1.DockerFileの作成

FROM ubuntu
MAINTAINER nyorokesseki<tsufu@example.com>
RUN apt-get update && apt-get -y install  vim postgresql-9.3 sysv-rc-conf && sysv-rc-conf postgres on

今回あらたに「sysv-rc-conf」というのを入れてみた。
ubuntuではchkconfigが使えないみたいなのでその代わりのもの。らしい。
でも、自動起動してないきがするんだよなぁw
(追記:たぶん、「sysv-rc-conf postgresql on」こうしてないから動いてないのだと思う。)


2.とりあえずビルド

docker build -t postgresql/ubuntu:1.0 .

ここまでは特に問題なくさっくり。

3.コンテナの作成

docker run -i -t  --name postgresql -v /tmp/postgresql:/app/conf -v /tmp/data/postgresql:/app/data -p 127.0.0.1:5432:5432 postgresql/ubuntu:1.0 /bin/bash

ホスト側との共有ディレクトリはの設定は少しぼやかしてます。あとポートの設定も行ってます。

4.コンテナに入って色々と設定する

# posgresqlの起動 sysv-rc-confをちゃんと使えてないから手動で起動・・・・
su - postgres
service postgresql start
# リンクの設定
ln -s /etc/postgresql/9.3/main /app/conf
ln -s /var/lib/postgresql/9.3/main /app/data 

psコマンドでもポスグレがちゃんと動いてたので、とりあえずは出来たかな?

まだパスワードの設定と疎通確認ができてないので、続きはまた今度。

Dockerのコンテナを作ってから色々と作業してるけど、最初からDokcerFileに記述しとけよというツッコミはなしの方向でオナシャス。