🪐

【備忘録】サポート終了したCentOS6.7のDockerイメージの作成

2023/04/09に公開

はじめに

CentOS6系はサポートが2020年11月に終わりました。ただ、CentOS6系で動かしているサービスなどを、Dockerに移したい要望がある際にはこのような方法を取るしかない場合もあります。

本記事では以下の2つの記事を参考にベースとなるDockerイメージを作成します。

https://blog.odaryo.com/2020/12/docker-settings-for-centos6-and-php5-6/

https://teratail.com/questions/538ut77715pp8j

Dockerfileと動作確認

ベースとなるDockerfileは以下の通りです。

FROM centos:centos6.7

RUN sed -i "s|#baseurl=|baseurl=|g" /etc/yum.repos.d/CentOS-Base.repo \
  && sed -i "s|mirrorlist=|#mirrorlist=|g" /etc/yum.repos.d/CentOS-Base.repo \
  && sed -i "s|http://mirror\.centos\.org/centos/\$releasever|http://ftp\.riken\.jp/Linux/centos-vault/6.7|g" /etc/yum.repos.d/CentOS-Base.repo

RUN yum -y install httpd
RUN echo "hello, world!" > /var/www/html/index.html
CMD ["/usr/sbin/httpd", "-D", "FOREGROUND"]

変更点

1つ目の記事で、yumリポジトリの書き換えをしています。

yumリポジトリがアーカイブされているので、参照先を書き換えます。

ただ2つ目の記事の、以下の要因が重なってしまったことによって、リポジトリを書き換えてもうまくいかないようになってしまっています。

http://vault.centos.org/https://vault.centos.org/ にリダイレクトされますが、TLS v1.2 以上じゃないと接続できないようです。
CentOS 6のopensslはTLS v1.2に対応していないので、エラーになります。

そのため、元記事の書き換え内容を以下のように書き換えています。

RUN sed -i "s|#baseurl=|baseurl=|g" /etc/yum.repos.d/CentOS-Base.repo \
  && sed -i "s|mirrorlist=|#mirrorlist=|g" /etc/yum.repos.d/CentOS-Base.repo \
-  && sed -i "s|http://mirror\.centos\.org/centos/\$releasever|http://vault\.centos\.org/centos/6.9|g" /etc/yum.repos.d/CentOS-Base.repo
+  && sed -i "s|http://mirror\.centos\.org/centos/\$releasever|http://ftp\.riken\.jp/Linux/centos-vault/6.7|g" /etc/yum.repos.d/CentOS-Base.repo

起動

以下のコマンドでビルドと実行をします。

$ docker buildx build --platform linux/x86_64 -t centos6.7:latest -f ./Dockerfile .
$ docker run --rm -d -p 80:80 centos6.7

そして、ブラウザからアクセスして、hello, world!が表示されればOKです。

おわりに

あまり使われないことを望みますが、それでも誰かの参考になれば嬉しいです。

参考

GitHubで編集を提案

Discussion