To improve the use of docker with a private registry the login
command is extended with a parameter for the server address.
While implementing i noticed that two problems hindered authentication to a
private registry:
1. the resolve of the authentication did not match during push
because the looked up key was for example localhost:8080 but
the stored one would have been https://localhost:8080
Besides The lookup needs to still work if the https->http fallback
is used
2. During pull of an image no authentication is sent, which
means all repositories are expected to be private.
These points are fixed now. The changes are implemented in
a way to be compatible to existing behavior both in the
API as also with the private registry.
Update:
- login does not require the full url any more, you can login
to the repository prefix:
example:
docker logon localhost:8080
Fixed corner corner cases:
- When login is done during pull and push the registry endpoint is used and
not the central index
- When Remote sends a 401 during pull, it is now correctly delegating to
CmdLogin
- After a Login is done pull and push are using the newly entered login data,
and not the previous ones. This one seems to be also broken in master, too.
- Auth config is now transfered in a parameter instead of the body when
/images/create is called.
* master: (23 commits)
Made calling changelog before run return empty. Fixes#1705.
fix error in docker build when param is not a directory
Document FROM <image>:<tag> Dockerfile instruction.
Install Ubuntu raring backported kernel from official archives directly.
Updated "Use -> The Basics" to use ubuntu:12.10.
hide version when not available
added a Dockerfile which installs all deps and builds the docs.
Unable to find image error should print to stderr
remove message during tests
use init function
add TEST env var during tests and silenced parserun during tests
Update python_web_app.rst
Update remaining upstart scripts to wait for lxc-net
Fixed a minor syntax error.
Add privileged flag in documentation for container creation
Fix#1685: Notes on production use. General installation cleanup.
Fix bash completion, remove have
added apt-key finger tip and fingerprint in ubuntu installation page
Improve formatting with 'go fmt' as stated in CONTRIBUTING.md
Start docker after lxc-net to prevent ip forwarding race
...
It only disables echo asking for the password and lets the terminal to handle everything else.
It fixes#1392 since blank spaces are not discarded as they did before.
It also cleans the login code a little bit to improve readability.
As 'go fmt' doesn't support verifying files in multiple directories,
it's probably a good idea to run it on all '*.go' files from time to
time with something like this:
find . -name "*.go" | xargs dirname | sort -u | xargs -n 1 echo go fmt