vitess.io/vitess@v0.16.2/docker/k8s/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/base:${VT_BASE_VER} AS base 19 20 FROM debian:${DEBIAN_VER} 21 22 # TODO: remove when https://github.com/vitessio/vitess/issues/3553 is fixed 23 RUN apt-get update && \ 24 apt-get upgrade -qq && \ 25 apt-get install default-mysql-client -qq --no-install-recommends && \ 26 apt-get autoremove && \ 27 apt-get clean && \ 28 rm -rf /var/lib/apt/lists/* 29 30 # Set up Vitess environment (just enough to run pre-built Go binaries) 31 ENV VTROOT /vt/src/vitess.io/vitess 32 ENV VTDATAROOT /vtdataroot 33 34 # Prepare directory structure. 35 RUN mkdir -p /vt && \ 36 mkdir -p /vt/bin && \ 37 mkdir -p /vt/config && \ 38 mkdir -p /vt/web && \ 39 mkdir -p /vtdataroot/tabletdata 40 41 # Copy CA certs for https calls 42 COPY --from=base /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt 43 44 # Copy binaries 45 COPY --from=base /vt/bin/mysqlctld /vt/bin/ 46 COPY --from=base /vt/bin/mysqlctl /vt/bin/ 47 COPY --from=base /vt/bin/vtctld /vt/bin/ 48 COPY --from=base /vt/bin/vtctl /vt/bin/ 49 COPY --from=base /vt/bin/vtctlclient /vt/bin/ 50 COPY --from=base /vt/bin/vtgate /vt/bin/ 51 COPY --from=base /vt/bin/vttablet /vt/bin/ 52 COPY --from=base /vt/bin/vtbackup /vt/bin/ 53 COPY --from=base /vt/bin/vtadmin /vt/bin/ 54 55 # copy web admin files 56 COPY --from=base $VTROOT/web /vt/web/ 57 58 # copy vitess config 59 COPY --from=base $VTROOT/config/init_db.sql /vt/config/ 60 61 # my.cnf include files 62 COPY --from=base $VTROOT/config/mycnf /vt/config/mycnf 63 64 # add vitess user and add permissions 65 RUN groupadd -r --gid 2000 vitess && useradd -r -g vitess --uid 1000 vitess && \ 66 chown -R vitess:vitess /vt;