File: Dockerfile

package info (click to toggle)
openstack-trove 1%3A24.0.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 6,976 kB
  • sloc: python: 50,665; sh: 2,866; makefile: 71
file content (33 lines) | stat: -rw-r--r-- 1,354 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
ARG BASE_OS_VERSION=24.04
FROM quay.io/openstack.trove/ubuntu:$BASE_OS_VERSION
LABEL maintainer="Trove Project (https://storyboard.openstack.org/#!/project/openstack/trove)"

ARG DATASTORE="mysql"
ARG DATASTORE_VERSION="8.0"
ARG APTOPTS="-y -qq --no-install-recommends --allow-unauthenticated"

RUN export DEBIAN_FRONTEND="noninteractive" \
    && export APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1

RUN apt-get update \
    && apt-get install $APTOPTS gnupg2 lsb-release apt-utils apt-transport-https ca-certificates software-properties-common curl \
    && apt-get -o Dpkg::Options::="--force-confmiss" install --reinstall netbase \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*

COPY . /opt/trove/backup
WORKDIR /opt/trove/backup
RUN ./install.sh --datastore $DATASTORE --datastore-version $DATASTORE_VERSION

RUN apt-get update \
    && apt-get install $APTOPTS python3 python3-venv \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/* \
    && python3 -m venv /opt/trove-backup-venv \
    && /opt/trove-backup-venv/bin/pip3  --no-cache-dir install -U -r requirements.txt \
    && curl -sSL https://github.com/Yelp/dumb-init/releases/download/v1.2.2/dumb-init_1.2.2_amd64 -o /usr/local/bin/dumb-init \
    && chmod +x /usr/local/bin/dumb-init

ENV PATH=/opt/trove-backup-venv/bin:$PATH

ENTRYPOINT ["dumb-init", "--single-child", "--"]