This repository has been archived by the owner on Sep 21, 2022. It is now read-only.
forked from vitessio/vitess
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request vitessio#4706 from planetscale/dk-docker-file-refa…
…ctor Docker File Refactor
- Loading branch information
Showing
19 changed files
with
469 additions
and
101 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
FROM vitess/bootstrap:mariadb103 | ||
|
||
# Re-copy sources from working tree | ||
USER root | ||
COPY . /vt/src/vitess.io/vitess | ||
|
||
# Build Vitess | ||
RUN make build | ||
|
||
# Fix permissions | ||
RUN chown -R vitess:vitess /vt | ||
USER vitess | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
FROM vitess/bootstrap:mysql80 | ||
|
||
# Re-copy sources from working tree | ||
USER root | ||
COPY . /vt/src/vitess.io/vitess | ||
|
||
# Build Vitess | ||
RUN make build | ||
|
||
# Fix permissions | ||
RUN chown -R vitess:vitess /vt | ||
USER vitess | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
FROM vitess/bootstrap:percona80 | ||
|
||
# Re-copy sources from working tree | ||
USER root | ||
COPY . /vt/src/vitess.io/vitess | ||
|
||
# Fix permissions | ||
RUN chown -R vitess:vitess /vt | ||
USER vitess | ||
|
||
# Build Vitess | ||
RUN make build |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
FROM vitess/bootstrap:common | ||
|
||
# Install MariaDB 10. | ||
RUN apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8 &&\ | ||
add-apt-repository 'deb [arch=amd64] http://ftp.osuosl.org/pub/mariadb/repo/10.3/debian stretch main' | ||
apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ | ||
mariadb-server \ | ||
libmariadbclient-dev \ | ||
&& rm -rf /var/lib/apt/lists/* | ||
|
||
# Bootstrap Vitess | ||
WORKDIR /vt/src/vitess.io/vitess | ||
|
||
ENV MYSQL_FLAVOR MariaDB103 | ||
USER vitess | ||
RUN ./bootstrap.sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
FROM vitess/bootstrap:common | ||
|
||
# Install MySQL 5.7 | ||
RUN for i in $(seq 1 10); do apt-key adv --no-tty --recv-keys --keyserver ha.pool.sks-keyservers.net 8C718D3B5072E1F5 && break; done && \ | ||
add-apt-repository 'deb http://repo.mysql.com/apt/debian/ stretch mysql-8.0' && \ | ||
apt-get update && \ | ||
DEBIAN_FRONTEND=noninteractive apt-get install -y mysql-server libmysqlclient-dev && \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
# Bootstrap Vitess | ||
WORKDIR /vt/src/vitess.io/vitess | ||
|
||
|
||
ENV MYSQL_FLAVOR MySQL56 | ||
USER vitess | ||
RUN ./bootstrap.sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
FROM vitess/bootstrap:common | ||
|
||
# Install Percona 8.0 | ||
RUN for i in $(seq 1 10); do apt-key adv --no-tty --keyserver keys.gnupg.net --recv-keys 9334A25F8507EFA5 && break; done && | ||
&& echo 'deb http://repo.percona.com/ps-80/apt stretch main' > /etc/apt/sources.list.d/percona.list && \ | ||
{ \ | ||
echo debconf debconf/frontend select Noninteractive; \ | ||
echo percona-server-server-8.0 percona-server-server/root_password password 'unused'; \ | ||
echo percona-server-server-8.0 percona-server-server/root_password_again password 'unused'; \ | ||
} | debconf-set-selections \ | ||
&& apt-get update \ | ||
&& apt-get install -y --no-install-recommends \ | ||
percona-server-server \ | ||
libperconaserverclient21 \ | ||
percona-server-tokudb \ | ||
percona-server-rocksdb \ | ||
bzip2 | ||
|
||
# Bootstrap Vitess | ||
WORKDIR /vt/src/vitess.io/vitess | ||
|
||
ENV MYSQL_FLAVOR MySQL56 | ||
USER vitess | ||
RUN ./bootstrap.sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
FROM vitess/base AS builder | ||
FROM debian:stretch-slim AS staging | ||
|
||
RUN mkdir -p /vt/vtdataroot/ \ | ||
&& mkdir -p /vt/bin \ | ||
&& mkdir -p /vt/src/vitess.io/vitess/web/vtctld2 \ | ||
&& groupadd -r vitess && useradd -r -g vitess vitess | ||
|
||
COPY --from=builder /vt/src/vitess.io/vitess/web/vtctld /vt/src/vitess.io/vitess/web/vtctld | ||
COPY --from=builder /vt/src/vitess.io/vitess/web/vtctld2/app /vt/src/vitess.io/vitess/web/vtctld2/app | ||
COPY --from=builder /vt/src/vitess.io/vitess/config /vt/config | ||
COPY --from=builder /vt/bin/mysqlctld /vt/bin/ | ||
COPY --from=builder /vt/bin/vtctld /vt/bin/ | ||
COPY --from=builder /vt/bin/vtctlclient /vt/bin/ | ||
COPY --from=builder /vt/bin/vtgate /vt/bin/ | ||
COPY --from=builder /vt/bin/vttablet /vt/bin/ | ||
COPY --from=builder /vt/bin/vtworker /vt/bin/ | ||
RUN chown -R vitess:vitess /vt | ||
|
||
FROM debian:stretch-slim | ||
|
||
# Install dependencies | ||
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gnupg dirmngr ca-certificates \ | ||
&& apt-key adv --no-tty --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8 \ | ||
&& echo 'deb http://sfo1.mirrors.digitalocean.com/mariadb/repo/10.3/debian stretch main' > /etc/apt/sources.list.d/mariadb.list \ | ||
&& apt-get update \ | ||
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ | ||
bzip2 \ | ||
mariadb-server \ | ||
&& rm -rf /var/lib/apt/lists/* \ | ||
&& groupadd -r vitess && useradd -r -g vitess vitess | ||
|
||
# Set up Vitess environment (just enough to run pre-built Go binaries) | ||
ENV VTTOP /vt/src/vitess.io/vitess | ||
ENV VTROOT /vt | ||
ENV GOTOP $VTTOP/go | ||
ENV VTDATAROOT $VTROOT/vtdataroot | ||
ENV GOBIN $VTROOT/bin | ||
ENV GOPATH $VTROOT | ||
ENV PATH $VTROOT/bin:$PATH | ||
ENV VT_MYSQL_ROOT /usr | ||
ENV PKG_CONFIG_PATH $VTROOT/lib | ||
ENV MYSQL_FLAVOR MariaDB103 | ||
|
||
# Copy binaries (placed by build.sh) | ||
COPY --from=staging /vt/ /vt/ | ||
|
||
# Create mount point for actual data (e.g. MySQL data dir) | ||
VOLUME /vt/vtdataroot | ||
USER vitess |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.