trove/backup/Dockerfile
Hirotaka Wakabayashi 553c578923 Fixes permission problem when restoring backup
This PR changes the owner of the file used by the docker container that
resets the mysql root password.

Original problem is the failure to restore mysql:5.7.x backup. The error
occurs because the container process tries to update the file that owned
by the others.

Story: 2010467
Task: 47017
Change-Id: I3d8ebaac4ee5e13af83c305ce28b51e4442d8c8b
2023-01-27 15:06:37 +09:00

29 lines
1.1 KiB
Docker

FROM ubuntu:20.04
LABEL maintainer="anlin.kong@gmail.com"
ARG DATASTORE="mysql5.7"
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
RUN apt-get update \
&& apt-get install $APTOPTS build-essential python3-setuptools python3-all python3-all-dev python3-pip libffi-dev libssl-dev libxml2-dev libxslt1-dev libyaml-dev libpq-dev \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* \
&& 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
ENTRYPOINT ["dumb-init", "--single-child", "--"]