|
| 1 | +FROM alpine:3.15 |
| 2 | + |
| 3 | +ARG VERSION=0.0.0 |
| 4 | +ENV VERSION=${VERSION} |
| 5 | + |
| 6 | +LABEL version="${VERSION}" \ |
| 7 | + description="MySQL client for easy export and import databases using Docker." \ |
| 8 | + maintainer="Jose Quintana <joseluisq.net>" |
| 9 | + |
| 10 | +# Dependencies |
| 11 | +ENV BUILD_DEPS="gettext" |
| 12 | +ENV RUNTIME_DEPS="libintl" |
| 13 | +ARG ENVE_VERSION=1.4.0 |
| 14 | + |
| 15 | +# Custom user |
| 16 | +ARG USER_NAME |
| 17 | +ARG USER_HOME_DIR |
| 18 | + |
| 19 | +ENV USER_NAME=${USER_NAME:-mysql} |
| 20 | +ENV USER_HOME_DIR=${USER_HOME_DIR:-/home/${USER_NAME}} |
| 21 | + |
| 22 | +RUN set -eux \ |
| 23 | + && adduser -h ${USER_HOME_DIR} -s /sbin/nologin -u 1000 -D ${USER_NAME} \ |
| 24 | + && apk --no-cache add ca-certificates tzdata mysql-client nano dumb-init \ |
| 25 | + && apk add --update $RUNTIME_DEPS \ |
| 26 | + && apk add --virtual build_deps $BUILD_DEPS \ |
| 27 | + && cp /usr/bin/envsubst /usr/local/bin/envsubst \ |
| 28 | + && apk del build_deps \ |
| 29 | + && wget --quiet -O /tmp/enve.tar.gz \ |
| 30 | + "https://github.com/joseluisq/enve/releases/download/v${ENVE_VERSION}/enve_v${ENVE_VERSION}_linux_amd64.tar.gz" \ |
| 31 | + && tar xzvf /tmp/enve.tar.gz -C /usr/local/bin enve \ |
| 32 | + && enve -v \ |
| 33 | + && rm -rf /tmp/enve.tar.gz \ |
| 34 | + && chmod +x /usr/local/bin/enve \ |
| 35 | + && true |
| 36 | + |
| 37 | +COPY ./__mysqldump.sh /usr/local/bin/__mysqldump.sh |
| 38 | +COPY ./mysql_exporter /usr/local/bin/mysql_exporter |
| 39 | +COPY ./__mysqlimport.sh /usr/local/bin/__mysqlimport.sh |
| 40 | +COPY ./mysql_importer /usr/local/bin/mysql_importer |
| 41 | + |
| 42 | +RUN set -eux \ |
| 43 | + && chmod +x /usr/local/bin/__mysqldump.sh \ |
| 44 | + && chmod +x /usr/local/bin/__mysqlimport.sh \ |
| 45 | + && chmod +x /usr/local/bin/mysql_exporter \ |
| 46 | + && chmod +x /usr/local/bin/mysql_importer \ |
| 47 | + && true |
| 48 | + |
| 49 | +USER ${USER_NAME} |
| 50 | + |
| 51 | +WORKDIR ${USER_HOME_DIR} |
| 52 | + |
| 53 | +VOLUME ${USER_HOME_DIR} |
| 54 | + |
| 55 | +ENTRYPOINT [ "/usr/bin/dumb-init" ] |
| 56 | + |
| 57 | +CMD [ "mysql" ] |
| 58 | + |
| 59 | +# Metadata |
| 60 | +LABEL org.opencontainers.image.vendor="Jose Quintana" \ |
| 61 | + org.opencontainers.image.url="https://github.com/joseluisq/alpine-mysql-client" \ |
| 62 | + org.opencontainers.image.title="Alpine / MySQL Client" \ |
| 63 | + org.opencontainers.image.description="MySQL client for easy export and import databases using Docker." \ |
| 64 | + org.opencontainers.image.version="v${VERSION}" \ |
| 65 | + org.opencontainers.image.documentation="https://github.com/joseluisq/alpine-mysql-client/blob/master/README.md" |
0 commit comments