繁体   English   中英

docker 注册表推送错误

[英]docker registry push error

我尝试在本地使用 AWS S3 配置启动 docker 注册表。

环境

  • 操作系统:ubuntu trusty64
  • 码头工人:1.7.1 ~ 1.8.3
  • Docker 注册表版本:0.9.1 ~ 2.1.1

码头工人信息

Containers: 10
Images: 30
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 50
 Dirperm1 Supported: false
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.13.0-66-generic
Operating System: Ubuntu 14.04.3 LTS
CPUs: 1
Total Memory: 1.955 GiB
Name: vagrant-ubuntu-trusty-64

我使用以下命令启动了 docker 注册表。

$ docker run \
     -e SETTINGS_FLAVOR=s3 \
     -e AWS_BUCKET=<my AWS_BUCKET>
     -e STORAGE_PATH=/registry \
     -e AWS_KEY=<my AWS_KEY> \
     -e AWS_SECRET=<my AWS_SECRET> \
     -e SEARCH_BACKEND=sqlalchemy \
     -p 5000:5000 \
     registry

我推送了我自己的 ubuntu 镜像。

$ docker push 127.0.0.1:5000/ubuntu

然后我得到了下面的结果。

3fd0c2ae8ed2: Pushing [==================================================>] 

196.8 MB/196.8 MB

Received HTTP code 500 while uploading layer: "<!DOCTYPE HTML PUBLIC \"-  
`//W3C//DTD HTML 3.2 Final//EN\">\n<title>500 Internal Server 
Error</title>\n<h1>Internal Server Error</h1>\n<p>The server encountered an 
internal error and was unable to complete your request.  Either the server
is overloaded or there is an error in the application.</p>\n"`

那你能不能检查一下我的配置是否错误?

我建议你改用docker register v2。

像这样:

docker run \
     -e SETTINGS_FLAVOR=s3 \
     -e AWS_BUCKET=<my AWS_BUCKET>
     -e STORAGE_PATH=/registry \
     -e AWS_KEY=<my AWS_KEY> \
     -e AWS_SECRET=<my AWS_SECRET> \
     -e SEARCH_BACKEND=sqlalchemy \
     -p 5000:5000 \
     registry:2

另外,尝试使用config.yml方法, config.ymls3 的示例

可以在此处找到完整的配置列表。 检查存储部分是否有s3相关选项。

我假设您正在使用docker s3存储驱动程序。 首先要检查您是否有权上传到该存储桶。 安装aws-cli并尝试使用这些凭据上传测试文件,看看是否有效

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM