mirror of
https://github.com/neondatabase/neon.git
synced 2026-01-08 05:52:55 +00:00
33 lines
1.0 KiB
Docker
33 lines
1.0 KiB
Docker
# Note: this file *mostly* just builds on Dockerfile.compute-node
|
|
|
|
ARG SRC_IMAGE
|
|
ARG VM_INFORMANT_VERSION=v0.1.6
|
|
|
|
# Pull VM informant and set up inittab
|
|
FROM neondatabase/vm-informant:$VM_INFORMANT_VERSION as informant
|
|
|
|
RUN set -e \
|
|
&& rm -f /etc/inittab \
|
|
&& touch /etc/inittab
|
|
|
|
ADD vm-cgconfig.conf /etc/cgconfig.conf
|
|
RUN set -e \
|
|
&& echo "::sysinit:cgconfigparser -l /etc/cgconfig.conf -s 1664" >> /etc/inittab \
|
|
&& echo "::respawn:su vm-informant -c '/usr/local/bin/vm-informant --auto-restart --cgroup=neon-postgres'" >> /etc/inittab
|
|
|
|
# Combine, starting from non-VM compute node image.
|
|
FROM $SRC_IMAGE as base
|
|
|
|
# Temporarily set user back to root so we can run apt update and adduser
|
|
USER root
|
|
RUN apt update && \
|
|
apt install --no-install-recommends -y \
|
|
cgroup-tools
|
|
RUN adduser vm-informant --disabled-password --no-create-home
|
|
USER postgres
|
|
|
|
COPY --from=informant /etc/inittab /etc/inittab
|
|
COPY --from=informant /usr/bin/vm-informant /usr/local/bin/vm-informant
|
|
|
|
ENTRYPOINT ["/usr/sbin/cgexec", "-g", "*:neon-postgres", "/usr/local/bin/compute_ctl"]
|