如何使用docker v1版本库

我正在使用Artifactory存储docker图像。 Artifactory设置使用v1版本库来存储图像。 当从他的一台linux机器上工作时,我能够从Artifactory中拉出和推送图像。 但是,当我在Windows笔记本电脑上工作,如果我试图从Artifactory拉图像,它给了我下面的错误

akash@AKASH-WS01 MINGW64 ~ $ docker pull mydocker.abc.com:5903/ubuntu Using default tag: latest Error response from daemon: unknown: Unsupported docker v2 repository request for 'demo-docker' 

我正在使用.dockercfg文件进行身份validation并将信息存储到它。 “demo-docker”是一个用户

为什么docker pull命令使用v2存储库时,mydocker.abc.com:5903/ubuntu是在v1.Is有任何方式使docker拉使用v1

我有同样的问题,我调整了我的nginx来解决这个问题:

Artifactory版本:4.15.0 Docker版本:1.12.0

  1. 停止Nginx服务( service nginx stop
  2. 在nginx( /etc/nginx/sites-enabled/default.conf )中打开你的conf文件,并在其中改变下面一行:

重写^ /(v1 | v2)/(。*)/ api / docker / build-images / $ 1 / $ 2;

重写^ /(v2)/(。*)/ api / docker / build-images / $ 1 / $ 2;

示例如下:

 server { listen 8000 ssl;server_name artifactory.corpintra.net; if ($http_x_forwarded_proto = '') { set $http_x_forwarded_proto $scheme; } ## Application specific logs access_log /var/log/nginx/build-docker-access.log; error_log /var/log/nginx/build-docker-error.log; rewrite ^/(v2)/(.*) /api/docker/build-images/$1/$2; client_max_body_size 0; chunked_transfer_encoding on; location / { proxy_read_timeout 900; proxy_pass_header Server; proxy_cookie_path ~*^/.* /; proxy_pass http://localhost:8081/artifactory/; proxy_set_header X-Artifactory-Override-Base-Url $http_x_forwarded_proto://$host:$server_port; proxy_set_header X-Forwarded-Port $server_port; proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }} 
  1. 重新启动Nginx( service nginx restart