fix: 修复ubuntu仓库源error,指定仓库源http://old-releases.ubuntu.com/ubuntu/

main
root 2 years ago
parent f4853e54ff
commit ae4cd5276e
  1. 62
      mysql-5.7.38/dockerfile.2image
  2. 12
      mysql-5.7.38/dockerfile.bin2image.ubuntu
  3. 6
      mysql-5.7.38/install-db.sh

@ -1,46 +1,44 @@
FROM mysql-bin:5.7.38-ubuntu
FROM ubuntu: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
COPY install-db.sh /usr/local/bin/
RUN bash /usr/local/bin/install-db.sh && 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 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 \
&& 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
FROM ubuntu: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
# add gosu for easy step-down from root
# https://github.com/tianon/gosu/releases
ENV MYSQL_MAJOR 5.7
ENV MYSQL_VERSION 5.7.38-ubuntu20.10
ENV GOSU_VERSION 1.14
RUN set -eux; \
# TODO find a better userspace architecture detection method than querying the kernel
arch="$(uname -m)"; \
case "$arch" in \
aarch64) gosuArch='arm64' ;; \
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 "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; \
chmod +x /usr/local/bin/gosu; \
gosu --version; \
gosu nobody true
RUN yum install -y wget && mkdir /docker-entrypoint-initdb.d
COPY install-db.sh /usr/local/bin/
RUN bash /usr/local/bin/install-db.sh
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
arch="$(uname -m)"; \
case "$arch" in \
aarch64) gosuArch='arm64' ;; \
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 "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; \
chmod +x /usr/local/bin/gosu; \
gosu --version; \
gosu nobody true
VOLUME /var/lib/mysql
ENV MYSQL_MAJOR 5.7
ENV MYSQL_VERSION 5.7.40-1debian10
COPY docker-entrypoint.sh /usr/local/bin/
RUN ln -s usr/local/bin/docker-entrypoint.sh /entrypoint.sh # backwards compat
ENTRYPOINT ["docker-entrypoint.sh"]
#CMD ["/bin/bash","-c","sleep 3600"]
EXPOSE 3306 33060
CMD ["mysqld"]

@ -1,13 +1,11 @@
FROM ubuntu:20.04
FROM ubuntu:20.10
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 && apt-get update && apt-get install -y --no-install-recommends gnupg dirmngr wget curl && rm -rf /var/lib/apt/lists/* && mkdir /docker-entrypoint-initdb.d
RUN groupadd -r mysql && useradd -r -g mysql mysql
COPY install-db.sh /usr/local/bin/
RUN bash /usr/local/bin/install-db.sh
RUN bash /usr/local/bin/install-db.sh && 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 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 \
&& rm -rf /var/lib/mysql && mkdir -p /var/lib/mysql/share /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 \
&& rm -rf /usr/local/src/*
&& chmod 1777 /var/run/mysqld /var/lib/mysql

@ -668,6 +668,8 @@ Modify_Source()
RHEL_Modify_Source
elif [ "${DISTRO}" = "Ubuntu" ]; then
Ubuntu_Modify_Source
apt update -y
apt install -y wget
elif [ "${DISTRO}" = "CentOS" ]; then
CentOS6_Modify_Source
CentOS8_Modify_Source
@ -703,6 +705,7 @@ RHEL_Modify_Source()
Ubuntu_Modify_Source()
{
country=''
if [ "${country}" = "CN" ]; then
OldReleasesURL='http://mirrors.aliyun.com/oldubuntu-releases/ubuntu/'
else
@ -759,6 +762,8 @@ Ubuntu_Modify_Source()
CodeName='disco'
elif grep -Eqi "19.10" /etc/*-release || echo "${Ubuntu_Version}" | grep -Eqi '^19.10'; then
CodeName='eoan'
elif grep -Eqi "20.04" /etc/*-release || echo "${Ubuntu_Version}" | grep -Eqi '^20.04'; then
CodeName='focal'
elif grep -Eqi "20.10" /etc/*-release || echo "${Ubuntu_Version}" | grep -Eqi '^20.10'; then
CodeName='groovy'
elif grep -Eqi "21.04" /etc/*-release || echo "${Ubuntu_Version}" | grep -Eqi '^21.04'; then
@ -945,6 +950,7 @@ Install_Only_Database() {
echo "+-----------------------------------------------------------------------+"
Get_Dist_Name
Modify_Source
Check_DB
if [ "${DB_Name}" != "None" ]; then
echo "You have install ${DB_Name}!"

Loading…
Cancel
Save