oracle/serverjre 的拉取访问被拒绝

pull access denied for oracle/serverjre

我一直在尝试为 oracle/weblogic 12.2.1.

构建一个 docker 图像

我仔细按照官方回购中的所有说明进行操作。

https://github.com/oracle/docker-images/tree/master/OracleWebLogic/dockerfiles/12.2.1.1

但是当我 运行:

docker build -t oracle/weblogic:12.2.1.1-developer .

它给我一个权限被拒绝的错误。


sudo docker build -t oracle/weblogic:12.2.1.1-developer .

Sending build context to Docker daemon  54.79MB

Step 1/13 : FROM oracle/serverjre:8

pull access denied for oracle/serverjre, repository does not exist or may require 'docker login'

谁能帮帮我??

谢谢

如果您使用带有 Dockerfile 的自定义图像,请删除 oracle/ 它不是您的本地存储库。 尝试 docker build -t weblogic:12.2.1.1-developer . 或者只是做一个 docker run [image]

我通过在我的机器中为 oracle/serverjre:8 构建的 docker 图像解决了这个问题。

我下载了 oracle/Serverjre8 二进制文件并构建了一个 docker 映像,然后构建了 weblogic.And 它有效!!

或者,您可以先登录,直接从 Oracle 容器注册表或 Docker 存储中提取 Oracle/ServerJre8 的映像。

docker login container-registry.oracle.com
Username: <oracle sso="" username="">
Password: <oracle sso="" password="">
Login successful.
docker pull container-registry.oracle.com/java/serverjre:8

我遵循了 git 中心项目中使用的模式 https://github.com/oracle/docker-images/tree/master/

如果您签出项目并进入 OracleJava 目录并查看 *.download 文件(在本例中为 JRE 8:https://github.com/oracle/docker-images/blob/master/OracleJava/java-8/server-jre-8u151-linux-x64.tar.gz.download

有一个 link 下载 tarball(在您接受许可协议并登录后)。

然后您可以将 tarball 放在与 build.sh (OracleJava/java-8) 相同的目录中。

运行: sh build.sh

这应该会创建 oracle/serverjre:8

的 docker 图像

然后您应该能够进行构建,并且图像的实例将在本地找到。

考虑到 WebLogic 版本 12.2.1.3,如果出现 PULL 错误并将注册表更改为 oracle 注册表,应检查以下条件-

在执行脚本 buildDockerImage.sh 时,确保 Dockerfile.developer (/docker-images/OracleWebLogic/dockerfiles/12.2.1.3/Dockerfile.developer) 有条目要更改-

#FROM oracle/serverjre:8
FROM container-registry.oracle.com/java/serverjre:8

用户可能需要在 oracle 容器注册表中登录才能进行拉取操作,因此最好在执行脚本之前先登录。

docker login container-registry.oracle.com
username:<SSO USERNAME>
password:<SSO PASSWORD>

同时 /docker-images/OracleWebLogic/dockerfiles/12.2.1.3/ 包含 fmw_12.2.1.3.0_wls_Disk1_1of1.zip.download 文件,表示需要物理下载fmw_12.2.1.3.0_wls_Disk1_1of1.ziphttp://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-for-dev-1703574.html 开始,同样的事情应该在 /docker-images/OracleWebLogic/dockerfiles/12.2.1.3 可用/

一段时间以来,不仅需要使用Oracle账户登录,还需要接受许可和用户协议。所以你不能只从命令行来做。您必须转到 Oracle 容器注册表:

https://container-registry.oracle.com/

然后 select Java 仓库,然后 select serverjre,然后登录:

并接受许可:

完成后,您将能够拉取 docker 图像,但正如其他人所说,您需要更改在 Dockerfile 中设置的注册表:

#FROM oracle/serverjre:8
FROM container-registry.oracle.com/java/serverjre:8

之后,在 运行 构建之前,您必须执行 docker login

docker login container-registry.oracle.com
username:<SSO USERNAME>
password:<SSO PASSWORD>

此时,您就可以拉取镜像了。

也许当您从 OracleJava/8 创建 Java 图像时,您使用参数版本:8-slim 并尝试使用该图像创建 weblogic 图像。

您应该使用默认版本:Oracle Linux 7 slim 上的 Oracle Server JRE 8 创建 OraclaJava 映像 build.sh for Oracle Java images

使用 Java 的图像,您可以毫无问题地创建 weblogic 图像,因为 java 图像具有标签:oracle/serverjre:8

echo "Building Oracle Server JRE 8 on Oracle Linux 7 slim"
docker build --tag oracle/serverjre:8 --tag oracle/serverjre:8-oraclelinux7 .