mirror of
https://github.com/outbackdingo/patroni.git
synced 2026-08-25 14:53:37 +00:00
* Use ConfigMaps or Endpoins for leader elections and to keep cluster state * Label pods with a postgres role * change behavior of pip install. From now on it will not install all dependencies, you have to specify explicitly DCS you want to use Patroni with: `pip install patroni[etcd,zookeeper,kubernetes]`
33 lines
1.2 KiB
Docker
33 lines
1.2 KiB
Docker
FROM postgres:9.6
|
|
MAINTAINER Alexander Kukushkin <[email protected]>
|
|
|
|
RUN export DEBIAN_FRONTEND=noninteractive \
|
|
&& echo 'APT::Install-Recommends "0";\nAPT::Install-Suggests "0";' > /etc/apt/apt.conf.d/01norecommend \
|
|
&& apt-get update -y \
|
|
&& apt-get upgrade -y \
|
|
&& apt-get install -y git curl jq python-psycopg2 python-yaml python-requests python-six python-pysocks \
|
|
python-dateutil python-pip python-prettytable python-wheel python-psutil python locales \
|
|
|
|
## Make sure we have a en_US.UTF-8 locale available
|
|
&& localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8 \
|
|
|
|
&& pip install setuptools pip --upgrade \
|
|
&& pip install 'git+https://github.com/zalando/patroni.git@feature/k8s#egg=patroni[kubernetes]' \
|
|
|
|
&& mkdir -p /home/postgres \
|
|
&& chown postgres:postgres /home/postgres \
|
|
|
|
# Clean up
|
|
&& apt-get remove -y git python-pip python-setuptools \
|
|
&& apt-get autoremove -y \
|
|
&& apt-get clean -y \
|
|
&& rm -rf /var/lib/apt/lists/* /root/.cache
|
|
|
|
ADD entrypoint.sh callback.py /
|
|
|
|
EXPOSE 5432 8008
|
|
ENV LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
|
|
USER postgres
|
|
WORKDIR /home/postgres
|
|
CMD ["/bin/bash", "/entrypoint.sh"]
|