Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docker CLI is trying to use Docker Registry API V1 instead of V2 #133

Closed
Vespira opened this issue May 26, 2017 · 4 comments
Closed

Docker CLI is trying to use Docker Registry API V1 instead of V2 #133

Vespira opened this issue May 26, 2017 · 4 comments

Comments

@Vespira
Copy link

Vespira commented May 26, 2017

Hi,

I'm aware that my issue is probably not a big deal, but still, I can't find any documentation or people who seems to encounter this problem. So I'm posting here, after few hours of testing and research.

Note: ATM I'm trying this without TLS at all to simplify the process.
Note 2 : My private registry is added to the insecure registries and I disabled TLS verification, on my client-side Docker instance.

Description of my issue :
I have a private Docker Registry v2 on my local network, and I want to push an image from my local computer to this registry.

I do:
> docker tag my-image 172.19.x.x:5000/myimage-repo
And then:
> docker push 172.19.x.x:5000/myimage-repo

I got this output:
Put http://172.19.x.x:5000/v1/repositories/myimage-repo/: dial tcp 172.19.x.x:5000: getsockopt: no route to host

I tried to play a bit with url, but my Docker client-side, is trying to connect to reach something behind V1/repositories.

Versions & Specs :
I'm on Windows 10 and using Docker v17.03. The registry (v2.6.0) is a Docker container running on a VM.

How can I tell to Docker to reach registry v2 ? Thanks a lot,

@Vespira
Copy link
Author

Vespira commented May 26, 2017

Tried with latest version on a Linux distribution, I could correctly push or pull images from my insecure registry, with addind the hostname and port in insecure-registries section of Docker Daemon. The issue seems to occur on Docker for Windows.

Ok also on a co-worker computer ,the push succeed. I added a cert & key to the registry Docker Image but it won't change anything on my computer.

@Vespira
Copy link
Author

Vespira commented May 29, 2017

Ok, I just reinstalled Docker and it worked. I lost almost 2 days trying to understand, trying to change settings on my Docker, to modify the running registry image or it's conf... I should have tried that first, but I had to configure it again, and i'll have to build all images again but it's ok.

This state is really weird that said :(

@dnephin
Copy link
Contributor

dnephin commented Jul 19, 2017

I believe that if there is a network error it will fall back to trying V1.

Are you still experiencing this problem?

@thaJeztah
Copy link
Member

The daemon logs (in debug mode) should show which URLs are tried, and why it fell back. For docker 17.03, there's also a daemon configuration option to disable contacting legacy (V1) registries - this is the default in Docker 17.06.

Given that the issue was resolved, let's close this, but feel free to comment if you run into this again, and have more information

thaJeztah added a commit to thaJeztah/cli that referenced this issue Jun 30, 2020
full diff: mitchellh/mapstructure@v1.0.0...v1.3.2

v1.3.2
- Decode into interface type with a struct value is supported [dockerGH-187]

v1.3.1
- Squash should only squash embedded structs. [dockerGH-194]

v1.3.0
- Added `",omitempty"` support. This will ignore zero values in the source
  structure when encoding. [dockerGH-145]

v1.2.3
- Fix duplicate entries in Keys list with pointer values. [dockerGH-185]

v1.2.2
- Do not add unsettable (unexported) values to the unused metadata key
  or "remain" value. [dockerGH-150]

v1.2.1
- Go modules checksum mismatch fix

v1.2.0
- Added support to capture unused values in a field using the `",remain"` value
  in the mapstructure tag. There is an example to showcase usage.
- Added `DecoderConfig` option to always squash embedded structs
- `json.Number` can decode into `uint` types
- Empty slices are preserved and not replaced with nil slices
- Fix panic that can occur in when decoding a map into a nil slice of structs
- Improved package documentation for godoc

v1.1.2
- Fix error when decode hook decodes interface implementation into interface
  type. [dockerGH-140]

v1.1.1
- Fix panic that can happen in `decodePtr`

v1.1.0

- Added `StringToIPHookFunc` to convert `string` to `net.IP` and `net.IPNet` [dockerGH-133]
- Support struct to struct decoding [dockerGH-137]
- If source map value is nil, then destination map value is nil (instead of empty)
- If source slice value is nil, then destination slice value is nil (instead of empty)
- If source pointer is nil, then destination pointer is set to nil (instead of
  allocated zero value of type)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
thaJeztah added a commit to thaJeztah/cli that referenced this issue Jun 30, 2020
full diff: mitchellh/mapstructure@v1.0.0...v1.3.2

v1.3.2
- Decode into interface type with a struct value is supported dockerGH-187

v1.3.1
- Squash should only squash embedded structs. dockerGH-194

v1.3.0
- Added `",omitempty"` support. This will ignore zero values in the source
  structure when encoding. dockerGH-145

v1.2.3
- Fix duplicate entries in Keys list with pointer values. dockerGH-185

v1.2.2
- Do not add unsettable (unexported) values to the unused metadata key
  or "remain" value. dockerGH-150

v1.2.1
- Go modules checksum mismatch fix

v1.2.0
- Added support to capture unused values in a field using the `",remain"` value
  in the mapstructure tag. There is an example to showcase usage.
- Added `DecoderConfig` option to always squash embedded structs
- `json.Number` can decode into `uint` types
- Empty slices are preserved and not replaced with nil slices
- Fix panic that can occur in when decoding a map into a nil slice of structs
- Improved package documentation for godoc

v1.1.2
- Fix error when decode hook decodes interface implementation into interface
  type. dockerGH-140

v1.1.1
- Fix panic that can happen in `decodePtr`

v1.1.0

- Added `StringToIPHookFunc` to convert `string` to `net.IP` and `net.IPNet` dockerGH-133
- Support struct to struct decoding dockerGH-137
- If source map value is nil, then destination map value is nil (instead of empty)
- If source slice value is nil, then destination slice value is nil (instead of empty)
- If source pointer is nil, then destination pointer is set to nil (instead of
  allocated zero value of type)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants