【Docker】 Postgres(9.3)の入ったコンテナを作る
今回は、DockerFileでPostgresをインストールさせようと思います。
で、以下のURLにあるものをそのまま利用したらバージョンが8.3が入りました。
CentOS/CentOS-Dockerfiles · GitHub
できれば9系を入れたかったので、自分で作ってみました。
以前やったSSHのDockerFileをベースにして、Fileを作りました。
できたのがこれ。
FROM centos:centos6 #---------------------------------------------------------- # 基本設定 #---------------------------------------------------------- RUN yum -y install https://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm RUN yum -y install curl sudo unzip wget tar RUN yum -y update # rootのパスワード設定 RUN echo 'root:root' | chpasswd # ホスト名を設定 ENV HOSTNAME postgres # プロンプト変数([root@localhost ~]みたいなやつ)になるように設定 RUN echo "export PS1='[\u@\h \W]# '" >> /etc/profile # タイムゾーンを日本に RUN echo 'ZONE="Asia/Tokyo"' > /etc/sysconfig/clock RUN rm -f /etc/localtime RUN ln -fs /usr/share/zoneinfo/Asia/Tokyo /etc/localtime # 言語を日本語に RUN sed -ri 's/en_US/ja_JP/' /etc/sysconfig/i18n RUN yum -y clean all #---------------------------------------------------------- # SSH #---------------------------------------------------------- # インストール RUN yum -y install openssh-server # 設定 RUN sed -ri 's/^#PermitRootLogin yes/PermitRootLogin yes/' /etc/ssh/sshd_config RUN sed -ri 's/^UsePAM yes/UsePAM no/' /etc/ssh/sshd_config RUN /etc/init.d/sshd start #---------------------------------------------------------- # postgresql #---------------------------------------------------------- RUN rpm -i http://yum.postgresql.org/9.3/redhat/rhel-6-x86_64/pgdg-redhat93-9.3-1.noarch.rpm RUN yum -y install postgresql93-server postgresql93-contrib RUN mv /etc/init.d/postgresql-9.3 /etc/init.d/postgresql RUN /etc/init.d/postgresql initdb RUN echo "host all all 0.0.0.0/0 trust" >> /var/lib/pgsql/9.3/data/pg_hba.conf RUN echo "listen_addresses='*'" >> /var/lib/pgsql/9.3/data/postgresql.conf RUN chkconfig postgresql on #---------------------------------------------------------- # ポート #---------------------------------------------------------- EXPOSE 22 5432 CMD /sbin/init
上記は、インストールとインストール後の必要最低限のことをさせています。
ファイルができたらビルド、起動します。
docker build --rm -t postgres . docker run -p 2222:22 -p 15432:5432 -d postgres
あとはコンテナにSSHで入りDBを作れば普通に使えると思います。