Bladeren bron

MySQL: Update the base image to Ubuntu 22.04 (#7880)

Also, do a minor cleanup of the toolset Dockerfiles.
Anton Kirilov 2 jaren geleden
bovenliggende
commit
8058c1d1c6

+ 16 - 16
Dockerfile

@@ -1,26 +1,26 @@
 FROM buildpack-deps:bionic
 
+ARG DEBIAN_FRONTEND=noninteractive
+# WARNING: DON'T PUT A SPACE AFTER ANY BACKSLASH OR APT WILL BREAK
 # One -q produces output suitable for logging (mostly hides
 # progress indicators)
-RUN apt-get -yqq update
+RUN apt-get -yqq update && apt-get -yqq install \
+      -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" \
+      cloc \
+      dstat                       `# Collect resource usage statistics` \
+      git-core \
+      libmysqlclient-dev          `# Needed for MySQL-python` \
+      python-dev \
+      python-pip \
+      siege \
+      software-properties-common
 
-# WARNING: DONT PUT A SPACE AFTER ANY BACKSLASH OR APT WILL BREAK
-RUN apt-get -yqq install -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" \
-  git-core \
-  cloc dstat                    `# Collect resource usage statistics` \
-  python-dev \
-  python-pip \
-  software-properties-common \
-  libmysqlclient-dev            `# Needed for MySQL-python`
-
-RUN pip install colorama==0.3.1 requests MySQL-python psycopg2-binary pymongo docker==4.0.2 psutil
-
-RUN apt-get install -yqq siege
+RUN pip install colorama==0.3.1 docker==4.0.2 MySQL-python psutil psycopg2-binary pymongo requests
 
 # Fix for docker-py trying to import one package from the wrong location
-RUN cp -r /usr/local/lib/python2.7/dist-packages/backports/ssl_match_hostname/ /usr/lib/python2.7/dist-packages/backports
+RUN cp -r /usr/local/lib/python2.7/dist-packages/backports/ssl_match_hostname /usr/lib/python2.7/dist-packages/backports
 
-ENV PYTHONPATH /FrameworkBenchmarks
-ENV FWROOT /FrameworkBenchmarks
+ENV PYTHONPATH=/FrameworkBenchmarks
+ENV FWROOT=/FrameworkBenchmarks
 
 ENTRYPOINT ["python", "/FrameworkBenchmarks/toolset/run-tests.py"]

+ 1 - 1
toolset/databases/mongodb/mongodb.dockerfile

@@ -6,7 +6,7 @@ COPY ./ ./
 
 ARG DEBIAN_FRONTEND=noninteractive
 RUN wget -qO - https://www.mongodb.org/static/pgp/server-${MONGODB_VERSION}.asc > /etc/apt/keyrings/mongodb-org.asc
-RUN echo "deb [ signed-by=/etc/apt/keyrings/mongodb-org.asc ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/$MONGODB_VERSION multiverse" > \
+RUN echo "deb [ signed-by=/etc/apt/keyrings/mongodb-org.asc ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/${MONGODB_VERSION} multiverse" > \
       /etc/apt/sources.list.d/mongodb-org.list
 # Complete and utter hax if works
 RUN ln -s /bin/echo /bin/systemctl

+ 13 - 12
toolset/databases/mysql/mysql.dockerfile

@@ -1,27 +1,28 @@
-FROM buildpack-deps:bionic
+FROM buildpack-deps:jammy
+
+ARG MYSQL_VERSION=8.0
 
 ADD create.sql create.sql
 ADD my.cnf my.cnf
-ADD mysql.list mysql.list
-
-RUN cp mysql.list /etc/apt/sources.list.d/
-RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 467B942D3A79BD29
 
-RUN apt-get update > /dev/null
-RUN apt-get install -yqq locales > /dev/null
+ARG DEBIAN_FRONTEND=noninteractive
+RUN wget -qO - "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x859be8d7c586f538430b19c2467b942d3a79bd29" > \
+      /etc/apt/keyrings/mysql.asc
+RUN echo "deb [ signed-by=/etc/apt/keyrings/mysql.asc ] http://repo.mysql.com/apt/ubuntu jammy mysql-${MYSQL_VERSION}" > \
+      /etc/apt/sources.list.d/mysql.list
+RUN apt-get -yqq update && apt-get -yqq install apt-utils locales
 
 RUN locale-gen en_US.UTF-8
-ENV LANG en_US.UTF-8
-ENV LANGUAGE en_US:en
-ENV LC_ALL en_US.UTF-8
+ENV LANG=en_US.UTF-8
+ENV LANGUAGE=en_US:en
+ENV LC_ALL=en_US.UTF-8
 
 # https://bugs.mysql.com/bug.php?id=90695
 RUN ["/bin/bash", "-c", "debconf-set-selections <<< \"mysql-server mysql-server/lowercase-table-names select Enabled\""]
 RUN ["/bin/bash", "-c", "debconf-set-selections <<< \"mysql-community-server mysql-community-server/data-dir select 'Y'\""]
 RUN ["/bin/bash", "-c", "debconf-set-selections <<< \"mysql-community-server mysql-community-server/root-pass password secret\""]
 RUN ["/bin/bash", "-c", "debconf-set-selections <<< \"mysql-community-server mysql-community-server/re-root-pass password secret\""]
-RUN echo "Installing mysql-server version: $(apt-cache policy mysql-server | grep -oP "(?<=Candidate: )(.*)$")"
-RUN DEBIAN_FRONTEND=noninteractive apt-get -y install mysql-server > /dev/null
+RUN apt-get -yqq install mysql-server
 
 RUN mv /etc/mysql/my.cnf /etc/mysql/my.cnf.orig
 RUN cp my.cnf /etc/mysql/my.cnf

+ 0 - 7
toolset/databases/mysql/mysql.list

@@ -1,7 +0,0 @@
-# You may comment out entries below, but any other modifications may be lost.
-# Use command 'dpkg-reconfigure mysql-apt-config' as root for modifications.
-deb http://repo.mysql.com/apt/ubuntu/ bionic mysql-apt-config
-deb http://repo.mysql.com/apt/ubuntu/ bionic mysql-8.0
-deb http://repo.mysql.com/apt/ubuntu/ bionic mysql-tools
-#deb http://repo.mysql.com/apt/ubuntu/ bionic mysql-tools-preview
-deb-src http://repo.mysql.com/apt/ubuntu/ bionic mysql-8.0

+ 1 - 1
toolset/databases/postgres/postgres.dockerfile

@@ -52,6 +52,6 @@ RUN service postgresql start && \
     psql -a hello_world < create-postgres.sql && \
     service postgresql stop
 
-ENV PATH=$PATH:/usr/lib/postgresql/$PG_VERSION/bin
+ENV PATH=${PATH}:/usr/lib/postgresql/${PG_VERSION}/bin
 
 CMD ["postgres"]

+ 1 - 1
toolset/wrk/wrk.dockerfile

@@ -6,7 +6,7 @@ RUN apt-get -yqq update && apt-get -yqq install libluajit-5.1-dev libssl-dev lua
 WORKDIR /wrk
 RUN curl -sL https://github.com/wg/wrk/archive/4.2.0.tar.gz | tar xz --strip-components=1
 ARG LDFLAGS="-O3 -march=native -mtune=native -flto"
-ARG CFLAGS="-I /usr/include/luajit-2.1 $LDFLAGS"
+ARG CFLAGS="-I /usr/include/luajit-2.1 ${LDFLAGS}"
 RUN make WITH_LUAJIT=/usr WITH_OPENSSL=/usr -j "$(nproc)"
 RUN cp wrk /usr/local/bin