docker - 在 windows10 上推送到本地 docker 注册表时权限被拒绝
问题描述
我正在使用Windows 10,这是我的守护进程配置:
{
"registry-mirrors": [],
"insecure-registries": [
"blah.hub:5000"
],
"debug": true,
"experimental": true,
"allow-nondistributable-artifacts": [
"blah.hub:5000"
]
}
我也使用Docker Desktop并在Windows 模式(不是 Linux)下工作。
blah.hub是在我的 etc/hosts 文件中定义并映射到我的注册机的名称。
我通过运行此命令拉取的注册表映像创建了私有注册表:
docker run -d -p 5000:5000 -v F:/docker-hub/registry:/var/lib/registry --restart=always --name blah.hub registry
通过这些步骤,我可以成功访问路径http://blah.hub:5000/v2/_catalog。
但是当我想推送我的标记图像blah.hub:5000/myImg
时:
docker push blah.hub:5000/myImg
The push refers to repository [blah.hub:5000/myImg]
af0b15c8625b: Retrying in 6 seconds
当我探索与注册表机器共享的注册表容器卷时,会在其中创建文件夹,v2/repositories/myImg/_uploads
其中包含一个名为staredat
.
这是我推送时注册表容器的日志:
11.5.2.117 - - [05/Jul/2019:06:42:36 +0000] "POST /v2/myImg/blobs/uploads/ HTTP/1.1" 500 255 "" "docker/18.09.1 go/go1.10.6 git-commit/4c52b90 os/windows arch/amd64 UpstreamClient(Docker-Client/18.09.1 \\(windows\\))"
time="2019-07-05T06:42:36.4979957Z" level=error msg="response completed with error" err.code=unknown err.detail="filesystem: truncate /var/lib/registry/docker/registry/v2/repositories/myImg/_uploads/5c131802-afcc-484b-841b-4eb08a07d7a5/startedat: permission denied" err.message="unknown error" go.version=go1.11.2 http.request.host="blah.hub:5000" http.request.id=ba0c22c5-4c3d-4426-abe9-3fb609532a9a http.request.method=POST http.request.remoteaddr="10.1.2.117:32186" http.request.uri="/v2/myImg/blobs/uploads/" http.request.useragent="docker/18.09.1 go/go1.10.6 git-commit/4c52b90 os/windows arch/amd64 UpstreamClient(Docker-Client/18.09.1 \(windows\))" http.response.contenttype="application/json; charset=utf-8" http.response.duration=34.1269ms http.response.status=500 http.response.written=255 vars.name=myImg
有什么意见吗?我错过了一个配置??
解决方案
检查"F:/docker-hub/registry"
主机中的文件夹是否具有用户的写入权限。
推荐阅读
- python - Django 模板和 Json 数据的问题
- objective-c - 在两个应用程序之间共享 iCloud 或文件应用程序公开的文档以进行编辑
- maskedtextbox - 日期的 MaskedTextBox?
- sql - SQL relaX 错误 il18n 未定义。试图查找学生(ID 和姓名)以及他们学习超过 1 次的课程信息(course_ids)
- javascript - 使用通配符从查询返回的 mongodb 项目映射字段
- angular - 延迟加载的 Angular 模块不会使用 @nguniversal 渲染服务器端,而客户端路由和渲染工作
- python - 加载和保存张量流对象的参数
- sql - 使用 json 路径对 jsonb 对象执行分组
- r - 如何使用 html_clean rmdformat 调整 R Markdown 文件中分页表上的行宽?
- javascript - 在 Vue X 上提交对象(通过操作)......可能吗?