# python-docker-cloud Python library for Docker Cloud ## Installation In order to install the Docker Cloud Python library, you can use pip install: pip install python-dockercloud It will install a Python module called dockercloud which you can use to interface with the API. ## Authorization The authentication can be configured in the following ways: * Manually set it in your Python initialization code: import dockercloud dockercloud.user = "username" dockercloud.apikey = "apikey" * Login with docker cli, and the library will read the configfile automatically: $ docker login * Set the environment variables DOCKERCLOUD_USER and DOCKERCLOUD_APIKEY: export DOCKERCLOUD_USER=username export DOCKERCLOUD_APIKEY=apikey ## Namespace To support teams and orgs, you can specify the namespace in the following ways: * Set it in the Python code: import dockercloud dockercloud.namespace = "yourteam" * Set it in the environment variable: export DOCKERCLOUD_NAMESPACE=yourteam ## Errors Errors in the HTTP API will be returned with status codes in the 4xx and 5xx ranges. The Python library will detect this status codes and raise ApiError exceptions with the error message, which should be handled by the calling application accordingly. ## Quick examples ### Services >>> import dockercloud >>> dockercloud.Service.list() [, ] >>> service = dockercloud.Service.fetch("fee900c6-97da-46b3-a21c-e2b50ed07015") >>> service.name "my-python-app" >>> service = dockercloud.Service.create(image="dockercloud/hello-world", name="my-new- app", target_num_containers=2) >>> service.save() True >>> service.target_num_containers = 3 >>> service.save() True >>> service.stop() True >>> service.start() True >>> service.delete() True ### Containers >>> import dockercloud >>> dockercloud.Container.list() [, ] >>> container = dockercloud.Container.fetch("7d6696b7-fbaf-471d-8e6b-ce7052586c24") >>> container.public_dns = "my-web-app.example.com" >>> container.save() True >>> container.stop() True >>> container.start() True >>> container.logs() "2014-03-24 23:58:08,973 CRIT Supervisor running as root (no user in config file) [...]" >>> container.delete() True