2025年1月吉日時点、以下のosixia/openldapコンテナで認証環境を作った人は大変だ。このコンテナは高機能で中々代替は効かないのに、メンテが行わらず小手先の技では正常動作しなくなってしまったから。
https://github.com/osixia/docker-openldap
しかし調査と試行錯誤の結果延命措置が出来たので、その方法を説明する。ただし、サポート切れのOSイメージを使うことになるので、特に『自己責任』である点に注意すべきである。
1.アップデート元リポジトリの更新
OSイメージのリポジトリがなくなっているから新しいリポジトリに置き換える必要がある。
具体的対策としては /etc/apt/sources.list を置き換えれば良い。
sources.list
deb http://cdn-aws.deb.debian.org/debian bullseye main
deb-src http://cdn-aws.deb.debian.org/debian bullseye main
#deb http://security.debian.org/debian-security bullseye/updates main
#deb-src http://security.debian.org/debian-security bullseye/updates main
deb http://cdn-aws.deb.debian.org/debian bullseye-updates main
deb-src http://cdn-aws.deb.debian.org/debian bullseye-updates main
deb http://cdn-aws.deb.debian.org/debian bullseye-backports main
deb-src http://cdn-aws.deb.debian.org/debian bullseye-backports mai
2.リポジトリの公開鍵取り込み
「1」のリポジトリは安心して使っても良いですよと示すため、公開鍵取り込みが要る。
具体的にはビルド処理を実行すればログにリポジトリの公開鍵情報が載る。このリポジトリの公開鍵を以下のコマンドのように対象公開鍵件数分取り込めば良い。
apt-key adv –keyserver keyserver.ubuntu.com –recv-keys 0E98404D386FA1D9
※0E98404D386FA1D9の部分が公開鍵
ログは以下のように出力される。このエラー行では『6ED0E7B82643E131』と『605C66F00D6C9793』を取り込めば良いと判断できる。
0.478 The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 0E98404D386FA1D9 NO_PUBKEY 6ED0E7B82643E131 NO_PUBKEY 605C66F00D6C9793
build例
以下のようにDockerfileを作り docker build すれば処理が通った。
[user@hostname openldap]$ cat Dockerfile
FROM osixia/openldap
ADD sources.list /etc/apt/sources.list
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0E98404D386FA1D9 \
&& apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6ED0E7B82643E131 \
&& apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 605C66F00D6C9793 \
&& apt-get update \
&& apt-get install -y locales \
&& locale-gen ja_JP.UTF-8