vitess.io/vitess@v0.16.2/docker/k8s/mysqlctld/Dockerfile (about)

     1  # Copyright 2019 The Vitess Authors.
     2  #
     3  # Licensed under the Apache License, Version 2.0 (the "License");
     4  # you may not use this file except in compliance with the License.
     5  # You may obtain a copy of the License at
     6  #
     7  #     http://www.apache.org/licenses/LICENSE-2.0
     8  #
     9  # Unless required by applicable law or agreed to in writing, software
    10  # distributed under the License is distributed on an "AS IS" BASIS,
    11  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  # See the License for the specific language governing permissions and
    13  # limitations under the License.
    14  
    15  ARG VT_BASE_VER=latest
    16  ARG DEBIAN_VER=stable-slim
    17  
    18  FROM vitess/k8s:${VT_BASE_VER} AS k8s
    19  
    20  FROM debian:${DEBIAN_VER}
    21  
    22  RUN apt-get update && \
    23     apt-get upgrade -qq && \
    24     apt-get install busybox -qq --no-install-recommends && \
    25     apt-get autoremove && \
    26     apt-get clean && \
    27     rm -rf /var/lib/apt/lists/*
    28  
    29  # Set up Vitess environment (just enough to run pre-built Go binaries)
    30  ENV VTROOT /vt
    31  ENV VTDATAROOT /vtdataroot
    32  
    33  # Prepare directory structure.
    34  RUN mkdir -p /vt/bin && \
    35     mkdir -p /vt/config && mkdir -p /vtdataroot
    36  
    37  # Copy binaries
    38  COPY --from=k8s /vt/bin/mysqlctld /vt/bin/
    39  
    40  # Copy certs to allow https calls
    41  COPY --from=k8s /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
    42  
    43  # copy vitess config
    44  COPY --from=k8s /vt/config /vt/config
    45  
    46  # add vitess user/group and add permissions
    47  RUN groupadd -r --gid 2000 vitess && \
    48     useradd -r -g vitess --uid 1000 vitess && \
    49     chown -R vitess:vitess /vt && \
    50     chown -R vitess:vitess /vtdataroot