Public Repository

Last pushed: 4 months ago
Short Description
[WORK IN PROGRESS]
Full Description

Docker Cloud Federation

Docker Repositories

Repo Description
dockercloud/client Provides an interactive shell to talk to a remote docker cluster using Docker ID credentials
dockercloud/client-proxy Forwards local docker API calls to a remote swarm cluster injecting Docker ID authorization information on each request
dockercloud/server-proxy Authenticates and authorizes incoming docker API calls and forwards them to the local docker engine
dockercloud/registration Registers the swarm cluster to Docker Cloud, and launches server-proxy

Usage

Remote swarm side

Bring Your Own Cluster:

docker run -ti --rm -v /var/run/docker.sock:/var/run/docker.sock dockercloud/registration

Launch Docker For AWS with Docker Cloud registration (nightly build):

Launch Docker For Azure with Docker Cloud registration:

Client side

Client container:

docker run --rm -ti -v /var/run/docker.sock:/var/run/docker.sock -e DOCKER_HOST dockercloud/client

This will interactively ask for Docker ID credentials and for a remote swarm to connect to.

After logging in with a Docker ID account, an export command will be shown:

# You can now start using the swarm namespace/swarmname by executing:
export DOCKER_HOST=tcp://0.0.0.0:32781

This new DOCKER_HOST environment variable will point to the port published by the client proxy to make the local CLI talk to the remote cluster directly. The client proxy will inject appropriate credentials automatically.

How to update

Remote swarm side

Please run the following command:

docker service update --image dockercloud/server-proxy:latest dockercloud-server-proxy

Client side

  1. Remove the client proxy container by docker rm -f client_proxy_<namespace>_<swarmname>
  2. Pull the latest client image by docker pull dockercloud/client
  3. Create a new client proxy by docker run --rm -ti -v /var/run/docker.sock:/var/run/docker.sock -e DOCKER_HOST dockercloud/client <namespace>/<swarmname>

Known issues

  • If you are using docker machine, please run unset DOCKER_TLS_VERIFY to make sure that DOCKER_TLS_VERIFY=1 is not in your environment variable. Otherwise, you will receive the following TLS error message:
    $ docker ps
    An error occurred trying to connect: Get https://192.168.99.100:32769/v1.23/containers/json: tls: oversized record received with length 20527
    
Docker Pull Command
Owner
dockercloud