Remove docker link
Do not add container id as default name
Create an auto generated container name if not
specified at runtime.
Upstream-commit: 0d2924408bad7aa797bfaf0610e836d82928296f
Component: engine
* Implement a new package: engine. It exposes a useful but minimalist job API.
* Refactor main() to instanciate an Engine instead of a Server directly.
* Refactor server.go to register an engine job.
This is the smallest possible refactor which can include the new Engine design
into master. More gradual refactoring will follow.
Upstream-commit: 0d1a825137448e2f41e5aaa5ecae8094c8ab6817
Component: engine
Add close method to Runtime and Server to make sure
that any underlying connections are cleaned up
Upstream-commit: 7c08aeeba4ab94f77e221bfc01741cce0866d224
Component: engine
Minor refactor of Graph; replace uses of Graph.All (slice) with Graph.Map (map)
Upstream-commit: ad152efbed6ddb74a352c39147bae9b0e8c87435
Component: engine
*Remote API: Bumped API version to 1.5
*Registry: Implement login with private registry
*Remote API: Improve port mapping information
Upstream-commit: 2801624462a4b3842930d38b09a5039629d1a5d3
Component: engine
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.
Upstream-commit: fcee6056dc50de7698772a3049cdfa1eb0f2416f
Component: engine
During parallel pull of a repostiory it can happen that the same layer
is pulled more than once.
To fix this I have extended the locking code to
- avoid multiple pulls of the same image
- avoid multiple pulls of the same layer
If an error occurs the other layers are awaited before returning as leaving
the scope before the go routines leave causes crashes of the server sometimes
if the download status is updated while the http stream is already closed
Beside this I have extended status display.
Upstream-commit: 3f802f4a13cc9d35118420f7c769a8b3531476c8
Component: engine
This establishes a strict alphabetical order for tags with the same creation date.
Upstream-commit: e6affb1b1ac0a172ce345d14162f6944ec68da4e
Component: engine