PHPイメージを8.0からPHPイメージ8.1にアップグレードした後に問題が発生し、stackoverflowで問題が発生しました。
これは私のドッカーファイルです。
FROM php:8.1-apache AS apache
RUN a2enmod rewrite
WORKDIR /bin
WORKDIR ../
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0E98404D386FA1D9 6ED0E7B82643E131 F8D2585B8783D481 BDE6D2B9216EC7A8
RUN apt update \
&& apt install \
curl \
git \
unzip \
cron \
libzip-dev \
libcurl4-openssl-dev \
pkg-config \
libssl-dev \
libpng-dev \
libjpeg62-turbo-dev \
libicu-dev \
wget \
libcap2-bin \
procps \
-y \
&& setcap 'cap_net_bind_service=+ep' /usr/sbin/apache2 \
&& chown www-data:www-data /var/log/apache2 \
&& wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-3/wkhtmltox_0.12.6.1-3.bookworm_amd64.deb \
&& apt install -y ./wkhtmltox_0.12.6.1-3.bookworm_amd64.deb \
&& rm wkhtmltox_0.12.6.1-3.bookworm_amd64.deb \
&& apt-get clean autoclean \
&& apt-get autoremove --yes
etc...
イメージ構築中にエラーが発生しました。
[0mGet:1 http://deb.debian.org/debian bookworm InRelease [151 kB]
Get:2 http://deb.debian.org/debian bookworm-updates InRelease [52.1 kB]
Get:3 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
Err:1 http://deb.debian.org/debian bookworm InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 0E98404D386FA1D9 NO_PUBKEY 6ED0E7B82643E131 NO_PUBKEY F8D2585B8783D481
Err:2 http://deb.debian.org/debian bookworm-updates InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 0E98404D386FA1D9 NO_PUBKEY 6ED0E7B82643E131
Err:3 http://deb.debian.org/debian-security bookworm-security InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 54404762BBB6E853 NO_PUBKEY BDE6D2B9216EC7A8
次の行を追加すると:
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0E98404D386FA1D9 6ED0E7B82643E131 F8D2585B8783D481 BDE6D2B9216EC7A8
無効:
[91mE: gnupg, gnupg2 and gnupg1 do not seem to be installed, but one of them is required for this operation
dockerfileにgnupgの適切なインストーラを追加すると、公開鍵と同じエラーが表示され、インストールできません。
どうすればいいですか?
答え1
Dockerfileを試してみると、欠落しているキーエラーは発生しません。糸を取り除き、RUN apt-key ...
残りは大丈夫でした。おそらく、php:8.1-apache
この質問を書くときに間違いがあったかもしれません。
再現できない問題の解決策をテストするのは難しいため、1つの提案しかできません。作業システムからキーファイルをインポートして、画像(必要な場所/etc/apt/trusted.gpg.d/
)にコピーできます。これにより動作状態に戻ります。
動作する必要がある他のオプション:
利用可能なパッケージの動作中のローカルキャッシュがすでに存在する場合は、
debian-archive-keyring
ファイルを含むパッケージを(再)インストールするだけです。しかし、新しいDockerイメージではこれは不可能です。ダウンロードするだけです。
debian-archive-keyring
.debイメージからファイルをインポートし、手動でインストールします。