Windows マシンで適切にビルドされる dockerfile があります。ビルドとテストを Linux Debian 11 に切り替えようとしています。docker と必要なパーツをサーバーにインストールし、動作する hello world コンテナーをテストしました。docker ファイルでいくつかのツールをダウンロードしようとすると、「E: リポジトリ 'https://packages.microsoft.com/ubuntu/18.04/prod bionic Release' にはリリース ファイルがありません」という奇妙なメッセージが表示されます。docker ベース イメージは Ubuntu であると記載されています。このエラーを修正する方法がわかりません。
FROM mcr.microsoft.com/mssql/server:2019-CU3-ubuntu-18.04
# Elevate to root to install required packages
USER root
RUN apt-get update \
&& apt-get install unzip libunwind8 libicu60 -y
# Install SQLPackage for Linux and make it executable
RUN wget -progress=bar:force -q -O sqlpackage.zip https://go.microsoft.com/fwlink/?linkid=2113331 \
&& unzip -qq sqlpackage.zip -d /opt/sqlpackage \
&& chmod +x /opt/sqlpackage/sqlpackage \
&& chown -R mssql /opt/sqlpackage \
&& mkdir /tmp/db \
&& chown -R mssql /tmp/db
答え1
問題はネットワークプロキシでした。実際のエラーは
エラー:3ubuntu18.04 の最新バージョンをダウンロードbionic リリース証明書の検証に失敗しました: 証明書は信頼されていません。証明書の発行者は不明です。ハンドシェイクできませんでした: 証明書の検証でエラーが発生しました。[IP: 13.90.56.68 443] この問題を修正するには、docker スクリプトに次の行を追加しました。
COPY "ca-bundle.crt" ../usr/local/share/ca-certificates/ca-bundle.crt
RUN update-ca-certificates
ca-bundle.crtは、企業の自己署名証明書の公開鍵を含むファイルでした。