我有一个带有以下基本映像的 Dockerfile:
FROM frolvlad/alpine-oraclejdk8:slim
在同一个 Dockerfile 中,我还运行:activator compile
当我$ docker build -t some_name .
在 MacBook 上运行时,SBT 步骤按预期工作。
当我在远程 Ubuntu 主机(AWS 上的 EC2 实例)上通过相同的 Dockerfile 运行相同的命令时,我收到许多证书错误,如下所示:
[info] Resolving org.webjars#strip-json-comments;1.0.2-1 ...
[error] Server access Error: java.security.cert.CertificateException: No name matching repo.typesafe.com found url=https://repo.typesafe.com/typesafe/ivy-releases/org.webjars/strip-json-comments/1.0.2-1/ivys/ivy.xml
[error] Server access Error: java.security.cert.CertificateException: No name matching repo.scala-sbt.org found url=https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/org.webjars/strip-json-comments/1.0.2-1/ivys/ivy.xml
[error] Server access Error: java.security.cert.CertificateException: No name matching repo1.maven.org found url=https://repo1.maven.org/maven2/org/webjars/strip-json-comments/1.0.2-1/strip-json-comments-1.0.2-1.pom
[info] Resolving com.typesafe.sbt#sbt-rjs;1.0.7 ...
[error] Server access Error: java.security.cert.CertificateException: No name matching repo.typesafe.com found url=https://repo.typesafe.com/typesafe/ivy-releases/com.typesafe.sbt/sbt-rjs/scala_2.10/sbt_0.13/1.0.7/ivys/ivy.xml
[error] Server access Error: java.security.cert.CertificateException: No name matching repo.scala-sbt.org found url=https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.typesafe.sbt/sbt-rjs/scala_2.10/sbt_0.13/1.0.7/ivys/ivy.xml
[error] Server access Error: java.security.cert.CertificateException: No name matching repo1.maven.org found url=https://repo1.maven.org/maven2/com/typesafe/sbt/sbt-rjs_2.10_0.13/1.0.7/sbt-rjs-1.0.7.pom
似乎 SBT 正在联系存储库以下载依赖项,并且无法验证其 SSL 证书。docker build
但是,在我的 MacBook 上运行时,同样的过程可以正常工作并下载大量依赖项而没有任何问题。因此,我的 MacBook 和那个 Ubuntu 主机之间的环境看起来有些不同。但是,无论在何处运行,都希望 Docker 提供完全隔离和一致的行为。
有人知道会发生什么吗?