Comments (7)
Hi @Soulou,
Can you show me how you were trying? I am looking at the docker-cli source code and it looks like all they do is decode the registry url part of image name (repository) and set that as the ServerAddress of the AuthConfig object.
https://github.com/dotcloud/docker/blob/master/registry/registry.go#L81
If you set the Docker.creds to:
{
'username' => '',
'password' => '',
'email' => '',
'serveraddress' => ''
}
where the data matches up with the private registry, it should work. I will load up a local docker-registry and try it out though.
from docker-api.
Thank for your answer. A private repo may not have any authentication, this is why I didn't really know how to handle that.
I've onlly tried myimage.push
(because I was thinking that the part which identify the registry `registry.example.org/myimage) was managed by the docker daemon.
But I've just seen that we can do docker push registry.example.com/myimage -r otherregistry.example2.com
So this part has changed.
from docker-api.
Config['registry] = "http://myregistry.example.org"
Docker.authenticate! username: "", password: "", email: "", serveraddress: Config['registry']
Exception:
`rescue in authenticate!': Docker::Error::AuthenticationError (Docker::Error::AuthenticationError)
remote: from /home/dev/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/docker-api-1.7.0/lib/docker.rb:60:in `authenticate!'
Server logs:
2013/11/09 19:29:15 POST /v1.6/auth
[error] api.go:1025 Error: Server Error: Post http://myregistry.example.orgusers/: dial tcp: lookup myregistry.example.orgusers on [10.0.2.3]:53: server misbehaving
[error] api.go:79 HTTP Error: statusCode=500 Server Error: Post http://myregistry.example.orgusers/: dial tcp: lookup myregistry.example.orgusers on [10.0.2.3]:53: server misbehaving
The suffix "users" is added, I'm going to have a look to docker code.
from docker-api.
Ok, the '/' looks mandatory in my
Config['registry] = "http://myregistry.example.org"
→ Config['registry] = "http://myregistry.example.org/"
In this case, the docker daemon contact the registry and ask for the user
Docker daemon output:
[error] api.go:1025 Error: Unexpected status code [404] : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>404 Not Found</title>
<h1>Not Found</h1>
<p>The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.</p>
[error] api.go:79 HTTP Error: statusCode=500 Unexpected status code [404] : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>404 Not Found</title>
<h1>Not Found</h1>
<p>The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.</p>
Registry output:
172.17.42.1 - - [09/Nov/2013:19:37:48] "POST /users/ HTTP/1.1" 404 233 "-" "Go 1.1 package http"
2013-11-09 19:37:48,442 INFO: 172.17.42.1 - - [09/Nov/2013:19:37:48] "POST /users/ HTTP/1.1" 404 233 "-" "Go 1.1 package http"
from docker-api.
When I'm directly using docker push
their is no /auth
request (so no request /users/ on the registry) and it works well.
from docker-api.
Why not just set Docker.creds instead of trying to use Docker.authenticate!
?
Try:
Docker.config = { username: "", password: "", email: "", serveraddress: Config['registry'] }
and then with your image do image.push
.
from docker-api.
Thank you, it works well =)
from docker-api.
Related Issues (20)
- Docker::Image.create raises 404 when there is not enough disk space
- Feature request: support docker system calls.
- Warning: URI.escape is obsolete (Ruby 2.7.0) HOT 4
- warning: URI.escape is obsolete HOT 1
- undefined method `copy' on 2.0.0 HOT 2
- validate_version! doesn't exist HOT 2
- Please tag v2 releases in github
- Docker version in README
- Docker::Container.get throws `no implicit conversion of nil into String (TypeError)` Error
- The default connection type should be application/x-tar HOT 1
- The connection content_type should be modified based on the type of operation occuring
- Question: is BuildKit supported, for SSH credentials specifically? HOT 2
- Cannot use Docker API gem with Docker Desktop on Windows HOT 2
- Parameters that accept (string) Paths should also accept Pathname objects
- Ability to read a file from the container by chunks
- .dockerignore support seems broken
- class Docker::Plugin object that maps to the Plugins section of the API
- How to pass env variables when starting a container? HOT 1
- The `:host` parameter should not be set for `unix://` connections. HOT 1
- Docker::Event.stream documentation should mention how to waive the read_timeout HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from docker-api.