1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

DockerのCentOS7コンテナにMySQLをインストールできなかった

Posted at

概要

DockerでCentOS7のコンテナを作成。
コンテナ内でMySQLをインストール・・・したいけどできん!?

Dockerfileにインストールのコマンドを書いたけどインストールされていないようだったので、コンテナ内のシェルでインストールコマンドを実行することにした。

しかし、そこに現れたのは・・・

エラーでござんす。

エラー内容

# yum -y install mysql-community-server
(略)
The GPG keys listed for the "MySQL 5.7 Community Server" repository are already installed but they are not correct for this package.
Check that the correct key URLs are configured for this repository.


 Failing package is: mysql-community-libs-5.7.37-1.el7.x86_64
 GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

この記事に感謝!
https://blog.katsubemakito.net/mysql/mysql-update-error-gpg

GPGキーなるものが原因らしい。

GPGキーの有効期限切れ

RPMやyumではパッケージが改ざんされているか検証するためにGPGキーを利用していることがあるのですが、このGPGキーには有効期限が設定されている関係で一定期間が経つと検証が行えなくなりインストールが停止してしまいます。パッケージを作成する際にGPGキーを別の物に変更した場合も同様の現象になります。

解決策

  1. 新しいGPGキーをインストール
  2. MySQLをインストール
新しいGPGキーをインストール
# 実行後何も表示されないが、インストールされてるみたい
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

# 改めてMySQLをインストール
yum -y install mysql-community-server
(略)
Completed!

# インストールできたかの確認
sh-4.2# mysql --version
mysql  Ver 14.14 Distrib 5.7.37, for Linux (x86_64) using  EditLine wrapper
sh-4.2# mysqld --version
mysqld  Ver 5.7.37 for Linux on x86_64 (MySQL Community Server (GPL))

インストールできたぜ!!

環境

ディレクトリ構成

以下のような構成で作成しました。

.
├── Dockerfile
└── hello.html

Dockerfile

FROM centos:centos7
# システムのパッケージを更新する
RUN yum update -y && \
    yum install -y epel-release && \
    yum upgrade -y && \
    yum install -y nginx

RUN yum remove mariadb-libs && \
    rm -rf /var/lib/mysql/

RUN yum -y localinstall http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm && \
    yum -y install mysql-community-server

ADD hello.html /usr/share/nginx/html/

EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

RUNを分けているのは、ビルド時にどこのスクリプトで落ちるかをわかりやすくするために。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?