From ae50b4d346cd5bfad21fc2a8305ff14189be02d1 Mon Sep 17 00:00:00 2001 From: xadocker <1793360097@qq.com> Date: Wed, 16 Nov 2022 18:49:02 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Dubuntu=E9=95=9C?= =?UTF-8?q?=E5=83=8F=E6=97=A0zoneinfo=E5=AF=BC=E8=87=B4=E5=90=AF=E5=8A=A8?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mysql-5.7.38/dockerfile.2image | 31 +++++++++++++++++++------------ mysql-5.7.38/install-db.sh | 3 ++- 2 files changed, 21 insertions(+), 13 deletions(-) diff --git a/mysql-5.7.38/dockerfile.2image b/mysql-5.7.38/dockerfile.2image index 3a4b625..8ac230c 100644 --- a/mysql-5.7.38/dockerfile.2image +++ b/mysql-5.7.38/dockerfile.2image @@ -1,12 +1,10 @@ -FROM ubuntu:20.10 as builder +FROM gitea.xadocker.cn/container-image/ubuntu-arm64:20.10 as builder MAINTAINER 1793360097@qq.com # add our user and group first to make sure their IDs get assigned consistently, regardless of whatever dependencies get added RUN groupadd -r mysql && useradd -r -g mysql mysql && echo > /etc/apt/sources.list COPY install-db.sh /usr/local/bin/ RUN bash /usr/local/bin/install-db.sh Modify_Source DB_Dependent -RUN bash /usr/local/bin/install-db.sh Install_Only_Database pwd \ - && rm -rf /usr/local/src/* \ - && rm -rf /usr/local/mysql/bin/{mysqltest_embedded,mysql_embedded,mysql_client_test_embedded} /usr/local/mysql/mysql-test +RUN bash /usr/local/bin/install-db.sh Install_Only_Database RUN mkdir -p /etc/mysql/conf.d/ && echo '[mysqld]\nskip-host-cache\nskip-name-resolve' > /etc/mysql/conf.d/docker.cnf \ && rm -rf /var/lib/mysql && mkdir -p /var/lib/mysql/share /var/run/mysqld \ @@ -14,13 +12,16 @@ RUN mkdir -p /etc/mysql/conf.d/ && echo '[mysqld]\nskip-host-cache\nskip-name-re # ensure that /var/run/mysqld (used for socket and lock files) is writable regardless of the UID our mysqld instance ends up having at runtime && chmod 1777 /var/run/mysqld /var/lib/mysql -FROM ubuntu:20.10 -COPY --from=builder /usr/local/mysql/* /usr/local/mysql +FROM gitea.xadocker.cn/container-image/ubuntu-arm64:20.10 +COPY --from=builder /usr/local/mysql/ /usr/local/mysql/ RUN groupadd -r mysql && useradd -r -g mysql mysql && mkdir -p /var/lib/mysql/share /var/run/mysqld /docker-entrypoint-initdb.d && chown mysql:mysql -R /usr/local/mysql /var/lib/mysql /var/run/mysqld /docker-entrypoint-initdb.d ENV MYSQL_MAJOR 5.7 ENV MYSQL_VERSION 5.7.38-ubuntu20.10 ENV GOSU_VERSION 1.14 +COPY install-db.sh /usr/local/bin/ +RUN bash /usr/local/bin/install-db.sh Modify_Source && ls -l /usr/local/mysql && ln -sf /usr/local/mysql/bin/* /usr/local/bin/ && ls -l /usr/local/bin \ + && apt-get update && apt-get install -y --no-install-recommends gnupg dirmngr wget curl tzdata libaio-dev numactl perl bzip2 openssl zstd xz-utils && rm -rf /var/lib/apt/lists/* RUN set -eux; \ # TODO find a better userspace architecture detection method than querying the kernel arch="$(uname -m)"; \ @@ -29,17 +30,23 @@ RUN set -eux; \ x86_64) gosuArch='amd64' ;; \ *) echo >&2 "error: unsupported architecture: '$arch'"; exit 1 ;; \ esac; \ - curl -fL -o /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$gosuArch.asc"; \ +# curl -fL -o /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$gosuArch.asc"; \ curl -fL -o /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$gosuArch"; \ - export GNUPGHOME="$(mktemp -d)"; \ - gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; \ - gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \ - rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc; \ +# export GNUPGHOME="$(mktemp -d)"; \ +# gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; \ +# gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \ +# rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc; \ chmod +x /usr/local/bin/gosu; \ gosu --version; \ gosu nobody true -VOLUME /var/lib/mysql +RUN mkdir -p /etc/mysql/conf.d/ && echo '[mysqld]\nskip-host-cache\nskip-name-resolve' > /etc/mysql/conf.d/docker.cnf \ + && rm -rf /var/lib/mysql && mkdir -p /var/lib/mysql /var/run/mysqld \ + && chown -R mysql:mysql /var/lib/mysql /var/run/mysqld \ +# ensure that /var/run/mysqld (used for socket and lock files) is writable regardless of the UID our mysqld instance ends up having at runtime + && chmod 1777 /var/run/mysqld /var/lib/mysql + +#VOLUME /var/lib/mysql COPY docker-entrypoint.sh /usr/local/bin/ RUN ln -s usr/local/bin/docker-entrypoint.sh /entrypoint.sh # backwards compat ENTRYPOINT ["docker-entrypoint.sh"] diff --git a/mysql-5.7.38/install-db.sh b/mysql-5.7.38/install-db.sh index 555160e..6161f00 100644 --- a/mysql-5.7.38/install-db.sh +++ b/mysql-5.7.38/install-db.sh @@ -429,7 +429,7 @@ DB_Dependent() { apt-get --no-install-recommends install -y debian-keyring debian-archive-keyring build-essential gcc g++ make cmake apt-get --no-install-recommends install -y autoconf automake wget openssl libssl-dev zlib1g zlib1g-dev libncurses5 apt-get --no-install-recommends install -y libncurses5-dev bison libaio-dev libtirpc-dev libsasl2-dev pkg-config - apt-get --no-install-recommends install -y libpcre2-dev libxml2-dev libtinfo-dev libnuma-dev gnutls-dev + apt-get --no-install-recommends install -y libpcre2-dev libxml2-dev libtinfo-dev libnuma-dev gnutls-dev tzdata fi } @@ -663,6 +663,7 @@ TempMycnf_Clean() { if [ -s /tmp/.mysql.tmp ]; then rm -f /tmp/.mysql.tmp fi + rm -rf /usr/local/src/* /usr/local/mysql/bin/mysqltest_embedded /usr/local/mysql/bin/mysql_embedded /usr/local/mysql/bin/mysql_client_test_embedded /usr/local/mysql/mysql-test } Modify_Source()