docker private registry change from v1 to v2 while pulling an image - docker

There is a docker is registry v2.
An image is pushed to docker private registry. Able to see it using curl command:
$ curl -s -X GET http://<registry>:<port>/v2/<image>/tags/list
{"name":"<image>","tags":["latest"]}
However, not able to pull the image from other machines. It appears that it is trying to pull from v1 instead of v2
Pulling the above image on a windows 10 machine.
docker pull <registry>:<port>/<image>:latest
Getting the following error:
Pulling repository <registry>:<port>/<image>
Network timed out while trying to connect to
http://<registry>:<port>/v1/repositories/<image>/images.
You may want to check your internet connection or if you are behind a proxy.
Not using any proxy settings.
Here is version details
Client:
Version: 17.03.1-ce
API version: 1.27
Go version: go1.7.5
Git commit: c6d412e
Built: Tue Mar 28 00:40:02 2017
OS/Arch: windows/amd64
Server:
Version: 17.03.1-ce
API version: 1.27 (minimum version 1.12)
Go version: go1.7.5
Git commit: c6d412e
Built: Fri Mar 24 00:00:50 2017
OS/Arch: linux/amd64
Experimental: true
Could not found any docker settings for changing from v1 to v2.
How do I make it to pull from v2 / resolve the above error?
EDIT: log shows
ICMP Destination Unreachable: Destination port unreachable

Related

EOF error while pulling images from docker

I am getting following error for
docker pull openjdk
Using default tag: latest
Pulling repository docker.io/library/openjdk
Error while pulling image: Get https://index.docker.io/v1/repositories/library/openjdk/images: EOF
I have set HTTP_PROXY and HTTPS_PROXY in /etc/systemd/system/docker.service.d/http-proxy.conf and /etc/systemd/system/docker.service.d/https-proxy.conf respectively.
Still I am not able to pull any images from docker hub.
Following is the docker version output
Client:
Version: 1.12.6
API version: 1.24
Go version: go1.6.4
Git commit: 78d1802
Built: Tue Jan 10 20:20:01 2017
OS/Arch: linux/amd64
Server:
Version: 1.12.6
API version: 1.24
Go version: go1.6.4
Git commit: 78d1802
Built: Tue Jan 10 20:20:01 2017
OS/Arch: linux/amd64
Here is my setting:
etc/systemd/system/docker.service.d
more http-proxy.conf
[Service]
Environment="HTTP_PROXY=http://user:password#proxy.mycompany.com:8080/" "HTTPS_PROXY=http://user:password#proxy.mycompany.com:8080/" "NO_PROXY=localhost,127.0.0.1,.mycompany.com"
Note that HTTP_PROXY like HTTPS_PROXY both are using an http URL for the proxy. And make sure (with NO_PROXY) that any internal URL does not use the proxy.

#IBMCloudPrivate X509:certificate signed by unknow authority

I still have this issue. I have docker version 17.12.0-ce-mac49 (21995). I am running IBM Cloud Private on 4 VMs with docker version on Ubuntu 16. When I run docker version on my master node I get the following:
Client:
Version: 17.12.0-ce
API version: 1.35
Go version: go1.9.2
Git commit: c97c6d6
Built: Wed Dec 27 20:11:19 2017
OS/Arch: linux/amd64
Server:
Engine:
Version: 17.12.0-ce
API version: 1.35 (minimum version 1.12)
Go version: go1.9.2
Git commit: c97c6d6
Built: Wed Dec 27 20:09:53 2017
OS/Arch: linux/amd64
Experimental: false
On my mac if I run the command:
docker login mycluster.icp:8500
I login with my user id and password and get the following response:
Error response from daemon: Get https://mycluster.icp:8500/v2/: x509: certificate signed by unknown authority
I am trying to load a docker image into IBM Cloud Private and I get the same error. Any help would be greatly appreciated.
You need to copy the ICP registry certificate to you host that you want to push image. You can refer below ICP documentation for details.
https://www.ibm.com/support/knowledgecenter/en/SSBS6K_2.1.0/manage_images/configuring_docker_cli.html

Modifying Docker Images Directly

i'm new to docker. I run docker "natively" from a Windows server 2016 with a Windows container, there is no intermediate VM (no docker machine) in between and no docker toolbox, so the "host" is the actual Windows Server that I run docker on.
Docker version:
PS C:> docker version
Client:
Version: 17.03.1-ee-3
API version: 1.27
Go version: go1.7.5
Git commit: 3fcee33
Built: Thu Mar 30 19:31:22 2017
OS/Arch: windows/amd64
Server:
Version: 17.03.1-ee-3
API version: 1.27 (minimum version 1.24)
Go version: go1.7.5
Git commit: 3fcee33
Built: Thu Mar 30 19:31:22 2017
OS/Arch: windows/amd64
Experimental: false
PS C:\>
i pulled the image from docker hub. I need to replace the files inside the docker image while running and commit changes to the image.
Lets say i have Sample.java and datafile.properties inside the docker image which i pulled from docker hub.
i want to replace that with Hello.java and data.properties[ i pulled these files from github]
how would i do that in an automated way? Any advise and some examples on this would he helpful. Thanks in advance.

Can't get Docker image after windows installation

I just installed docker on my windows 10 server,
Installation went fine but I can't seem to get images from central docker repo.
those are my specs:
c:\>docker version
Client:
Version: 1.13.0
API version: 1.25
Go version: go1.7.3
Git commit: 49bf474
Built: Wed Jan 18 16:20:26 2017
OS/Arch: windows/amd64
Server:
Version: 1.13.0
API version: 1.25 (minimum version 1.12)
Go version: go1.7.3
Git commit: 49bf474
Built: Wed Jan 18 16:20:26 2017
OS/Arch: linux/amd64
Experimental: true
This is my test command:
c:\>docker run hello-world
Unable to find image 'hello-world:latest' locally
docker: Error response from daemon: Get https://registry-1.docker.io/v2/: remote error: tls: access denied.
See 'docker run --help'.
This is what I get when running curl on that repo:
c:\>curl -k https://registry-1.docker.io/v2/
{"errors":[{"code":"UNAUTHORIZED","message":"authentication required","detail":null}]}
I guess that there is something to do with my company DNS/Network,
did anyone encounter this issue on windows?
You need to set your proxy env variables.
[Environment]::SetEnvironmentVariable("HTTP_PROXY", "http://username:password#proxy:port/", [EnvironmentVariableTarget]::Machine)
Restart-Service docker
Check this for reference: https://learn.microsoft.com/en-us/virtualization/windowscontainers/manage-docker/configure-docker-daemon
And more common:
https://docs.docker.com/engine/admin/systemd/#http-proxy
As I replied to #Falco Alexander I got some PowerShell errors, But The proxy was already set in my env. variables.
What finally did the trick was to set the proxy inside the docker GUI:
And then restart the service.

Not able to push docker images to docker private registry

I have created docker private register in my local "10.234.1.254"
If i tag an image as 10.234.1.254:5000/hello-world and try to push it from another vm to the vm where registry is running - IT FAILS with below error
The push refers to a repository [10.234.1.254:5000/hello-world]
unable to ping registry endpoint https://10.234.1.254:5000/v0/
v2 ping attempt failed with error: Get https://10.234.1.254:5000/v2/: EOF
v1 ping attempt failed with error: Get https://10.234.1.254:5000/v1/_ping: EOF
I even tried putting DOCKER_OPTS="--insecure-registry 10.234.1.254:5000" in /etc/default/docker and restart docker service. But still i get the same error.
How do i tag an image using IP address and port of the private docker registry and push it?
met the same issue at macOSX, the docker version is:
➜ registry docker version
Client:
Version: 17.11.0-ce-rc4
API version: 1.34
Go version: go1.8.4
Git commit: 587f1f0
Built: Thu Nov 16 01:17:06 2017
OS/Arch: darwin/amd64
Server:
Version: 17.11.0-ce-rc4
API version: 1.34 (minimum version 1.12)
Go version: go1.8.5
Git commit: 587f1f0
Built: Thu Nov 16 01:43:23 2017
OS/Arch: linux/amd64
Experimental: true
➜ registry docker push 10.168.32.26:5000/metric-collector:dev
The push refers to repository [10.168.32.26:5000/metric-collector]
Get http://10.168.32.26:5000/v2/: EOF
➜ registry curl http://10.168.32.26:5000/v2/
curl: (52) Empty reply from server
➜ registry docker login 10.168.32.26:5000
Username: 1
Password:
Error response from daemon: Get http://10.168.32.26:5000/v2/: EOF

Resources