我有一个可以在 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
问题是我们的网络代理。真正的错误是
错误:3https://packages.microsoft.com/ubuntu/18.04/prod仿生发布证书验证失败:该证书不受信任。证书颁发者未知。无法握手:证书验证出错。 [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 是包含公司自签名证书公钥的文件