【发布时间】:2021-09-07 13:58:04
【问题描述】:
问题:
- 我想构建一个 docker 容器
FROM:ubuntu:20.04但我无法访问外部互联网 - 我在内部网络上有一个可以使用的 apt 镜像
- apt 镜像位于带有自定义证书的 https 后面
- 我有自定义证书的 CA
- 基本的
ubuntu:20.04容器没有ca-certificates包,所以我没有可用的update-ca-certificates命令
到目前为止我做了什么:
-
运行容器 (
docker run -it --entrypoint /bin/bash ubuntu:20.04) -
在容器中,擦除 apt 列表并将其替换为我的自定义 apt 存储库
echo > /etc/apt/sources.list echo 'deb https://mycompany.internal.network/ubuntu-remote focal main restricted' >> /etc/apt/sources.list echo 'deb https://mycompany.internal.network/ubuntu-remote focal multiverse' >> /etc/apt/sources.list echo 'deb https://mycompany.internal.network/ubuntu-remote focal universe' >> /etc/apt/sources.list [.....] -
将 https 的根 CA 放置在
/usr/local/share/ca-certificates/mycompany/
如果可以的话,我会从这里运行update-ca-certificates,一切都会正常运行。我通过预先安装 ca-certificates 包进行了测试,但是在将创建此容器的正确 CI 工作流程中,无法访问 ubuntu 上游 apt,所以我不能这样做,这将定期重建以保持图像是最新的。
如何在不使用update-ca-certificates 的情况下使其信任内部回购?我发现的所有文章都指向这样做,但我不能。
【问题讨论】:
标签: ubuntu openssl ssl-certificate apt self-signed