diff --git a/Dockerfile b/Dockerfile index 147cad380..d004e4b2d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -18,8 +18,10 @@ RUN apt-get install python python-psycopg2 python-yaml python-requests python-bo ENV PATH /usr/lib/postgresql/${PGVERSION}/bin:$PATH RUN mkdir -p /patroni/helpers +RUN mkdir -p /patroni/scripts ADD patroni.py /patroni/patroni.py ADD helpers /patroni/helpers +ADD scripts /patroni/scripts ENV ETCDVERSION 2.0.13 RUN curl -L https://github.com/coreos/etcd/releases/download/v${ETCDVERSION}/etcd-v${ETCDVERSION}-linux-amd64.tar.gz | tar xz -C /bin --strip=1 --wildcards --no-anchored etcd etcdctl diff --git a/docker/dev_patroni_cluster.sh b/docker/dev_patroni_cluster.sh index 00a8264a3..c77a8fb3a 100755 --- a/docker/dev_patroni_cluster.sh +++ b/docker/dev_patroni_cluster.sh @@ -69,7 +69,7 @@ done function random_name() { - cat /dev/urandom | env LC_CTYPE=C tr -dc 'a-zA-Z0-9' | head -c 8 + cat /dev/urandom | LC_ALL=C tr -dc 'a-zA-Z0-9' | head -c 8 } if [ -z ${PATRONI_SCOPE} ] @@ -77,14 +77,14 @@ then PATRONI_SCOPE=$(random_name) fi -etcd_container=$(docker run -d --name="${PATRONI_SCOPE}_etcd" "${DOCKER_IMAGE}" --etcd-only) +etcd_container=$(docker run -P -d --name="${PATRONI_SCOPE}_etcd" "${DOCKER_IMAGE}" --etcd-only) etcd_container_ip=$(docker inspect --format '{{ .NetworkSettings.IPAddress }}' ${etcd_container}) echo "The etcd container is ${etcd_container}, ip=${etcd_container_ip}" for i in $(seq 1 "${MEMBERS}") do container_name=$(random_name) - patroni_container=$(docker run -d --name="${PATRONI_SCOPE}_${container_name}" "${DOCKER_IMAGE}" --etcd="${etcd_container_ip}:4001" --name="${PATRONI_SCOPE}") + patroni_container=$(docker run -P -d --name="${PATRONI_SCOPE}_${container_name}" "${DOCKER_IMAGE}" --etcd="${etcd_container_ip}:4001" --name="${PATRONI_SCOPE}") patroni_container_ip=$(docker inspect --format '{{ .NetworkSettings.IPAddress }}' ${patroni_container}) echo "Started Patroni container ${patroni_container}, ip=${patroni_container_ip}" done diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh index f46e7ea55..ce40f6dca 100755 --- a/docker/entrypoint.sh +++ b/docker/entrypoint.sh @@ -108,6 +108,7 @@ postgresql: network: 127.0.0.1/32 superuser: password: zalando + restore: patroni/scripts/restore.py admin: username: admin password: admin @@ -115,7 +116,7 @@ postgresql: archive_mode: "on" wal_level: hot_standby archive_command: mkdir -p ../wal_archive && cp %p ../wal_archive/%f - max_wal_senders: 20 + max_wal_senders: 20 listen_addresses: 0.0.0.0 wal_keep_segments: 8 archive_timeout: 1800s