我正在使用docker-java
在 Ubuntu 16.04 VM 上运行的 docker 主机上创建映像。图像创建工作得很好,我可以列出通过创建的图像docker-java
。但是当我尝试将图像推送到私有注册表(Harbor)时,我得到了
com.github.dockerjava.api.exception.DockerClientException: Could not push image: denied: requested access to the resource is denied
我已将当前用户添加到usergroup docker
并且可以使用终端中的以下命令手动推送图像(注意没有 sudo)。
docker login
docker push some_ip/app/test:test
但是当我从我的 java 代码中进行以下调用时,我得到了上述错误。
dockerClient.pushImageCmd("10.107.173.190/container-apps/test:testapp")
.exec(pushImageResultCallback).awaitSuccess();
可能的线索:
- docker daemon 在被 API 调用时使用哪个配置文件?如何确保它有足够的访问权限?