mirror of https://github.com/docker/docs.git
1482 lines
95 KiB
HTML
1482 lines
95 KiB
HTML
<!doctype html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
|
<title>API Documentation</title>
|
|
|
|
<link href="../stylesheets/screen.css" rel="stylesheet" type="text/css" media="screen" />
|
|
<link href="../stylesheets/print.css" rel="stylesheet" type="text/css" media="print" />
|
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
|
|
<script src="../javascripts/all_nosearch.js" type="text/javascript"></script>
|
|
|
|
</head>
|
|
|
|
<body class="includes includes_service">
|
|
<a href="#" id="nav-button">
|
|
<span>
|
|
NAV
|
|
<img src="../images/navbar.png" />
|
|
</span>
|
|
</a>
|
|
<div class="tocify-wrapper">
|
|
<img src="../images/logo.png" />
|
|
<div id="toc">
|
|
</div>
|
|
</div>
|
|
<div class="page-wrapper">
|
|
<div class="dark-box"></div>
|
|
<div class="content">
|
|
<h1 id="services">Services</h1>
|
|
|
|
<h2 id="service">Service</h2>
|
|
|
|
<blockquote>
|
|
<p>Example</p>
|
|
</blockquote>
|
|
<pre class="highlight json"><code><span class="p">{</span><span class="w">
|
|
</span><span class="nt">"autodestroy"</span><span class="p">:</span><span class="w"> </span><span class="s2">"OFF"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"autoredeploy"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"autorestart"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ON_FAILURE"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"bindings"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
|
|
</span><span class="p">{</span><span class="w">
|
|
</span><span class="nt">"host_path"</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"container_path"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/tmp"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"rewritable"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"volumes_from"</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="w">
|
|
</span><span class="p">},</span><span class="w">
|
|
</span><span class="p">{</span><span class="w">
|
|
</span><span class="nt">"host_path"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/etc"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"container_path"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/etc"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"rewritable"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"volumes_from"</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="w">
|
|
</span><span class="p">},</span><span class="w">
|
|
</span><span class="p">{</span><span class="w">
|
|
</span><span class="nt">"host_path"</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"container_path"</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"rewritable"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"volumes_from"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/api/app/v1/user_namespace/service/2f4f54e5-9d3b-4ac1-85ad-a2d4ff25a179/"</span><span class="w">
|
|
</span><span class="p">}</span><span class="w">
|
|
</span><span class="p">],</span><span class="w">
|
|
</span><span class="nt">"cap_add"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
|
|
</span><span class="s2">"ALL"</span><span class="w">
|
|
</span><span class="p">],</span><span class="w">
|
|
</span><span class="nt">"cap_drop"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
|
|
</span><span class="s2">"NET_ADMIN"</span><span class="p">,</span><span class="w">
|
|
</span><span class="s2">"SYS_ADMIN"</span><span class="w">
|
|
</span><span class="p">],</span><span class="w">
|
|
</span><span class="nt">"container_envvars"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
|
|
</span><span class="p">{</span><span class="w">
|
|
</span><span class="nt">"key"</span><span class="p">:</span><span class="w"> </span><span class="s2">"DB_PASS"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"value"</span><span class="p">:</span><span class="w"> </span><span class="s2">"test"</span><span class="w">
|
|
</span><span class="p">}</span><span class="w">
|
|
</span><span class="p">],</span><span class="w">
|
|
</span><span class="nt">"container_ports"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
|
|
</span><span class="p">{</span><span class="w">
|
|
</span><span class="nt">"endpoint_uri"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http://wordpress-stackable.admin.srv.dockerapp.io:80/"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"inner_port"</span><span class="p">:</span><span class="w"> </span><span class="mi">80</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"outer_port"</span><span class="p">:</span><span class="w"> </span><span class="mi">80</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"port_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"protocol"</span><span class="p">:</span><span class="w"> </span><span class="s2">"tcp"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"published"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
|
|
</span><span class="p">}</span><span class="w">
|
|
</span><span class="p">],</span><span class="w">
|
|
</span><span class="nt">"containers"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
|
|
</span><span class="s2">"/api/app/v1/user_namespace/container/6f8ee454-9dc3-4387-80c3-57aac1be3cc6/"</span><span class="p">,</span><span class="w">
|
|
</span><span class="s2">"/api/app/v1/user_namespace/container/fdf9c116-7c08-4a60-b0ce-c54ca72c2f25/"</span><span class="w">
|
|
</span><span class="p">],</span><span class="w">
|
|
</span><span class="nt">"cpu_shares"</span><span class="p">:</span><span class="w"> </span><span class="mi">100</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"cpuset"</span><span class="p">:</span><span class="w"> </span><span class="s2">"0,1"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"cgroup_parent"</span><span class="p">:</span><span class="w"> </span><span class="s2">"m-executor-abcd"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"current_num_containers"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"deployed_datetime"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Mon, 13 Oct 2014 11:01:43 +0000"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"deployment_strategy"</span><span class="p">:</span><span class="w"> </span><span class="s2">"EMPTIEST_NODE"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"destroyed_datetime"</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"devices"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
|
|
</span><span class="s2">"/dev/ttyUSB0:/dev/ttyUSB0"</span><span class="w">
|
|
</span><span class="p">],</span><span class="w">
|
|
</span><span class="nt">"dns"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
|
|
</span><span class="s2">"8.8.8.8"</span><span class="w">
|
|
</span><span class="p">],</span><span class="w">
|
|
</span><span class="nt">"dns_search"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
|
|
</span><span class="s2">"example.com"</span><span class="w">
|
|
</span><span class="p">],</span><span class="w">
|
|
</span><span class="nt">"domainname"</span><span class="p">:</span><span class="w"> </span><span class="s2">"domainname"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"entrypoint"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"extra_hosts"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
|
|
</span><span class="s2">"onehost:50.31.209.229"</span><span class="w">
|
|
</span><span class="p">],</span><span class="w">
|
|
</span><span class="nt">"hostname"</span><span class="p">:</span><span class="w"> </span><span class="s2">"hostname"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"image_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"tutum/wordpress-stackable:latest"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"nickname"</span><span class="p">:</span><span class="w"> </span><span class="s2">"wordpress-stackable"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"labels"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
|
|
</span><span class="nt">"com.example.description"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Accounting webapp"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"com.example.department"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Finance"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"com.example.label-with-empty-value"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="w">
|
|
</span><span class="p">},</span><span class="w">
|
|
</span><span class="nt">"link_variables"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
|
|
</span><span class="nt">"WORDPRESS_STACKABLE_1_ENV_DB_HOST"</span><span class="p">:</span><span class="w"> </span><span class="s2">"**LinkMe**"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"WORDPRESS_STACKABLE_1_ENV_DB_NAME"</span><span class="p">:</span><span class="w"> </span><span class="s2">"wordpress"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"WORDPRESS_STACKABLE_1_ENV_DB_PASS"</span><span class="p">:</span><span class="w"> </span><span class="s2">"szVaPz925B7I"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"WORDPRESS_STACKABLE_1_ENV_DB_PORT"</span><span class="p">:</span><span class="w"> </span><span class="s2">"**LinkMe**"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"WORDPRESS_STACKABLE_1_ENV_DB_USER"</span><span class="p">:</span><span class="w"> </span><span class="s2">"admin"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"WORDPRESS_STACKABLE_1_ENV_DEBIAN_FRONTEND"</span><span class="p">:</span><span class="w"> </span><span class="s2">"noninteractive"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"WORDPRESS_STACKABLE_1_ENV_HOME"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"WORDPRESS_STACKABLE_1_ENV_PATH"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"WORDPRESS_STACKABLE_1_PORT"</span><span class="p">:</span><span class="w"> </span><span class="s2">"tcp://wordpress-stackable-1.admin.cont.dockerapp.io:49153"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"WORDPRESS_STACKABLE_1_PORT_80_TCP"</span><span class="p">:</span><span class="w"> </span><span class="s2">"tcp://wordpress-stackable-1.admin.cont.dockerapp.io:49153"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"WORDPRESS_STACKABLE_1_PORT_80_TCP_ADDR"</span><span class="p">:</span><span class="w"> </span><span class="s2">"wordpress-stackable-1.admin.cont.dockerapp.io"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"WORDPRESS_STACKABLE_1_PORT_80_TCP_PORT"</span><span class="p">:</span><span class="w"> </span><span class="s2">"49153"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"WORDPRESS_STACKABLE_1_PORT_80_TCP_PROTO"</span><span class="p">:</span><span class="w"> </span><span class="s2">"tcp"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"WORDPRESS_STACKABLE_2_ENV_DB_HOST"</span><span class="p">:</span><span class="w"> </span><span class="s2">"**LinkMe**"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"WORDPRESS_STACKABLE_2_ENV_DB_NAME"</span><span class="p">:</span><span class="w"> </span><span class="s2">"wordpress"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"WORDPRESS_STACKABLE_2_ENV_DB_PASS"</span><span class="p">:</span><span class="w"> </span><span class="s2">"szVaPz925B7I"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"WORDPRESS_STACKABLE_2_ENV_DB_PORT"</span><span class="p">:</span><span class="w"> </span><span class="s2">"**LinkMe**"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"WORDPRESS_STACKABLE_2_ENV_DB_USER"</span><span class="p">:</span><span class="w"> </span><span class="s2">"admin"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"WORDPRESS_STACKABLE_2_ENV_DEBIAN_FRONTEND"</span><span class="p">:</span><span class="w"> </span><span class="s2">"noninteractive"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"WORDPRESS_STACKABLE_2_ENV_HOME"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"WORDPRESS_STACKABLE_2_ENV_PATH"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"WORDPRESS_STACKABLE_2_PORT"</span><span class="p">:</span><span class="w"> </span><span class="s2">"tcp://wordpress-stackable-2.admin.cont.dockerapp.io:49154"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"WORDPRESS_STACKABLE_2_PORT_80_TCP"</span><span class="p">:</span><span class="w"> </span><span class="s2">"tcp://wordpress-stackable-2.admin.cont.dockerapp.io:49154"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"WORDPRESS_STACKABLE_2_PORT_80_TCP_ADDR"</span><span class="p">:</span><span class="w"> </span><span class="s2">"wordpress-stackable-2.admin.cont.dockerapp.io"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"WORDPRESS_STACKABLE_2_PORT_80_TCP_PORT"</span><span class="p">:</span><span class="w"> </span><span class="s2">"49154"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"WORDPRESS_STACKABLE_2_PORT_80_TCP_PROTO"</span><span class="p">:</span><span class="w"> </span><span class="s2">"tcp"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"WORDPRESS_STACKABLE_ENV_DB_HOST"</span><span class="p">:</span><span class="w"> </span><span class="s2">"**LinkMe**"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"WORDPRESS_STACKABLE_ENV_DB_NAME"</span><span class="p">:</span><span class="w"> </span><span class="s2">"wordpress"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"WORDPRESS_STACKABLE_ENV_DB_PASS"</span><span class="p">:</span><span class="w"> </span><span class="s2">"szVaPz925B7I"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"WORDPRESS_STACKABLE_ENV_DB_PORT"</span><span class="p">:</span><span class="w"> </span><span class="s2">"**LinkMe**"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"WORDPRESS_STACKABLE_ENV_DB_USER"</span><span class="p">:</span><span class="w"> </span><span class="s2">"admin"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"WORDPRESS_STACKABLE_ENV_DEBIAN_FRONTEND"</span><span class="p">:</span><span class="w"> </span><span class="s2">"noninteractive"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"WORDPRESS_STACKABLE_ENV_HOME"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"WORDPRESS_STACKABLE_ENV_PATH"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"WORDPRESS_STACKABLE_PORT"</span><span class="p">:</span><span class="w"> </span><span class="s2">"tcp://wordpress-stackable-1.admin.cont.dockerapp.io:49153"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"WORDPRESS_STACKABLE_PORT_80_TCP"</span><span class="p">:</span><span class="w"> </span><span class="s2">"tcp://wordpress-stackable-1.admin.cont.dockerapp.io:49153"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"WORDPRESS_STACKABLE_PORT_80_TCP_ADDR"</span><span class="p">:</span><span class="w"> </span><span class="s2">"wordpress-stackable-1.admin.cont.dockerapp.io"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"WORDPRESS_STACKABLE_PORT_80_TCP_PORT"</span><span class="p">:</span><span class="w"> </span><span class="s2">"49153"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"WORDPRESS_STACKABLE_PORT_80_TCP_PROTO"</span><span class="p">:</span><span class="w"> </span><span class="s2">"tcp"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"WORDPRESS_STACKABLE_DOCKERCLOUD_API_URL"</span><span class="p">:</span><span class="w"> </span><span class="s2">"https://cloud.docker.com/api/app/v1/user_namespace/service/adeebc1b-1b81-4af0-b8f2-cefffc69d7fb/"</span><span class="w">
|
|
</span><span class="p">},</span><span class="w">
|
|
</span><span class="nt">"linked_from_service"</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span><span class="w">
|
|
</span><span class="nt">"linked_to_service"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
|
|
</span><span class="p">{</span><span class="w">
|
|
</span><span class="nt">"from_service"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/api/app/v1/user_namespace/service/09cbcf8d-a727-40d9-b420-c8e18b7fa55b/"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"DB"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"to_service"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/api/app/v1/user_namespace/service/72f175bd-390b-46e3-9463-830aca32ce3e/"</span><span class="w">
|
|
</span><span class="p">}</span><span class="w">
|
|
</span><span class="p">],</span><span class="w">
|
|
</span><span class="nt">"mac_address"</span><span class="p">:</span><span class="w"> </span><span class="s2">"02:42:ac:11:65:43"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"memory"</span><span class="p">:</span><span class="w"> </span><span class="mi">2048</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"memory_swap"</span><span class="p">:</span><span class="w"> </span><span class="mi">8192</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"wordpress-stackable"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"net"</span><span class="p">:</span><span class="w"> </span><span class="s2">"bridge"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"privileged"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"public_dns"</span><span class="p">:</span><span class="w"> </span><span class="s2">"wordpress-stackable.admin.svc.dockerapp.io"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"read_only"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"resource_uri"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/api/app/v1/user_namespace/service/09cbcf8d-a727-40d9-b420-c8e18b7fa55b/"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"roles"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"global"</span><span class="p">],</span><span class="w">
|
|
</span><span class="nt">"run_command"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/run-wordpress.sh"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"running_num_containers"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"security_opt"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
|
|
</span><span class="p">],</span><span class="w">
|
|
</span><span class="nt">"sequential_deployment"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"started_datetime"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Mon, 13 Oct 2014 11:01:43 +0000"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"state"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Partly running"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"stack"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/api/app/v1/user_namespace/stack/46aca402-2109-4a70-a378-760cfed43816/"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"stdin_open"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"stopped_datetime"</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"stopped_num_containers"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"synchronized"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"tags"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
|
|
</span><span class="p">{</span><span class="nt">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"tag_one"</span><span class="p">},</span><span class="w">
|
|
</span><span class="p">{</span><span class="nt">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"tag-two"</span><span class="p">},</span><span class="w">
|
|
</span><span class="p">{</span><span class="nt">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"tagthree3"</span><span class="p">}</span><span class="w">
|
|
</span><span class="p">],</span><span class="w">
|
|
</span><span class="nt">"target_num_containers"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"tty"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"user"</span><span class="p">:</span><span class="w"> </span><span class="s2">"root"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"uuid"</span><span class="p">:</span><span class="w"> </span><span class="s2">"09cbcf8d-a727-40d9-b420-c8e18b7fa55b"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"working_dir"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/app"</span><span class="w">
|
|
</span><span class="p">}</span><span class="w">
|
|
</span></code></pre>
|
|
|
|
<p>A service is a template used to deploy one or more containers.</p>
|
|
|
|
<p>This is a <a href="#namespaced-endpoints">namespaced endpoint</a>.</p>
|
|
|
|
<h3 id="attributes">Attributes</h3>
|
|
|
|
<table><thead>
|
|
<tr>
|
|
<th>Attribute</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
</thead><tbody>
|
|
<tr>
|
|
<td>uuid</td>
|
|
<td>A unique identifier for the service generated automatically on creation</td>
|
|
</tr>
|
|
<tr>
|
|
<td>resource_uri</td>
|
|
<td>A unique API endpoint that represents the service</td>
|
|
</tr>
|
|
<tr>
|
|
<td>image_name</td>
|
|
<td>The Docker image name and tag used for the service containers</td>
|
|
</tr>
|
|
<tr>
|
|
<td>name</td>
|
|
<td>A user provided name for the service. This name will be inherited by the service containers and will be used in endpoint URLs, environment variable names, etc.</td>
|
|
</tr>
|
|
<tr>
|
|
<td>public_dns</td>
|
|
<td>An external FQDN that resolves to all IPs of the nodes where the service containers are running on (as an <code class="prettyprint">A</code> record with multiple IP entries which will be used by clients in a <a href="http://en.wikipedia.org/wiki/Round-robin_DNS">round-robin fashion</a>). If the service is not publishing any ports, this FQDN will fail to resolve.</td>
|
|
</tr>
|
|
<tr>
|
|
<td>state</td>
|
|
<td>The state of the service (see table <code class="prettyprint">Service states</code> below)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>net</td>
|
|
<td>Network mode to set on the containers (see table <code class="prettyprint">Network Modes</code> below, more information ../../docker-cloud/apps/service-links/)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>pid</td>
|
|
<td>Set the PID (Process) Namespace mode for the containers (more information ../../reference/run/#pid-settings-pid)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>synchronized</td>
|
|
<td>Flag indicating if the current service definition is synchronized with the current containers.</td>
|
|
</tr>
|
|
<tr>
|
|
<td>deployed_datetime</td>
|
|
<td>The date and time of the last deployment of the service (if applicable, <code class="prettyprint">null</code> otherwise)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>started_datetime</td>
|
|
<td>The date and time of the last <code class="prettyprint">start</code> operation on the service (if applicable, <code class="prettyprint">null</code> otherwise)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>stopped_datetime</td>
|
|
<td>The date and time of the last <code class="prettyprint">stop</code> operation on the service (if applicable, <code class="prettyprint">null</code> otherwise)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>destroyed_datetime</td>
|
|
<td>The date and time of the <code class="prettyprint">terminate</code> operation on the service (if applicable, <code class="prettyprint">null</code> otherwise)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>target_num_containers</td>
|
|
<td>The requested number of containers to deploy for the service</td>
|
|
</tr>
|
|
<tr>
|
|
<td>current_num_containers</td>
|
|
<td>The actual number of containers deployed for the service</td>
|
|
</tr>
|
|
<tr>
|
|
<td>running_num_containers</td>
|
|
<td>The actual number of containers deployed for the service in <code class="prettyprint">Running</code> state</td>
|
|
</tr>
|
|
<tr>
|
|
<td>stopped_num_containers</td>
|
|
<td>The actual number of containers deployed for the service in <code class="prettyprint">Stopped</code> state</td>
|
|
</tr>
|
|
<tr>
|
|
<td>stack</td>
|
|
<td>Resource URIs of the stack that the service belongs to</td>
|
|
</tr>
|
|
<tr>
|
|
<td>containers</td>
|
|
<td>List of resource URIs of the containers launched as part of the service</td>
|
|
</tr>
|
|
<tr>
|
|
<td>container_ports</td>
|
|
<td>List of ports to be published on the containers of this service (see table <code class="prettyprint">Service Port attributes</code> below)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>container_envvars</td>
|
|
<td>List of user-defined environment variables to set on the containers of the service, which will override the image environment variables (see table <code class="prettyprint">Service Environment Variable attributes</code> below)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>labels</td>
|
|
<td>Metadata in form of dictionary used for every container of this service</td>
|
|
</tr>
|
|
<tr>
|
|
<td>working_dir</td>
|
|
<td>Working directory for running binaries within a container of this service</td>
|
|
</tr>
|
|
<tr>
|
|
<td>user</td>
|
|
<td>Set the user used on containers of this service (<code class="prettyprint">root</code> by default)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>hostname</td>
|
|
<td>Set the hostname used on containers of this service</td>
|
|
</tr>
|
|
<tr>
|
|
<td>domainname</td>
|
|
<td>Set the domainname used on containers of this service</td>
|
|
</tr>
|
|
<tr>
|
|
<td>mac_address</td>
|
|
<td>Ethernet device’s MAC address used on containers of this service</td>
|
|
</tr>
|
|
<tr>
|
|
<td>cgroup_name</td>
|
|
<td>Optional parent cgroup used on containers of this service.</td>
|
|
</tr>
|
|
<tr>
|
|
<td>tty</td>
|
|
<td>If the containers of this service have the tty enable (<code class="prettyprint">false</code> by default)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>stdin_open</td>
|
|
<td>If the containers of this service have stdin opened (<code class="prettyprint">false</code> by default)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>dns</td>
|
|
<td>Custom DNS servers for containers of this service</td>
|
|
</tr>
|
|
<tr>
|
|
<td>dns_search</td>
|
|
<td>Custom DNS search domain for containers of this service</td>
|
|
</tr>
|
|
<tr>
|
|
<td>cap_add</td>
|
|
<td>Added capabilities for containers of this service</td>
|
|
</tr>
|
|
<tr>
|
|
<td>cap_drop</td>
|
|
<td>Dropped capabilities for containers of this service</td>
|
|
</tr>
|
|
<tr>
|
|
<td>devices</td>
|
|
<td>List of device mappings for containers of this service</td>
|
|
</tr>
|
|
<tr>
|
|
<td>extra_hosts</td>
|
|
<td>List of hostname mappings for containers of this service</td>
|
|
</tr>
|
|
<tr>
|
|
<td>secuirty_opt</td>
|
|
<td>Labeling scheme for containers of this service</td>
|
|
</tr>
|
|
<tr>
|
|
<td>entrypoint</td>
|
|
<td>Entrypoint to be set on the containers launched as part of the service, which will override the image entrypoint</td>
|
|
</tr>
|
|
<tr>
|
|
<td>run_command</td>
|
|
<td>Run command to be set on the containers launched as part of the service, which will override the image run command</td>
|
|
</tr>
|
|
<tr>
|
|
<td>sequential_deployment</td>
|
|
<td>Whether the containers for this service should be deployed in sequence, linking each of them to the previous containers (see <a href="../../docker-cloud/apps/service-scaling/">Service scaling</a> for more information)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>cpu_shares</td>
|
|
<td>The relative CPU priority of the containers of the service (see <a href="../../engine/reference/run/#runtime-constraints-on-cpu-and-memory">Runtime Constraints on CPU and Memory</a> for more information)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>cpuset</td>
|
|
<td>CPUs in which to allow execution</td>
|
|
</tr>
|
|
<tr>
|
|
<td>memory</td>
|
|
<td>The memory limit of the containers of the service in MB (see <a href="../../engine/reference/run/#runtime-constraints-on-cpu-and-memory">Runtime Constraints on CPU and Memory</a> for more information)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>memory_swap</td>
|
|
<td>Total memory limit (memory + swap) of the containers of the service in MB</td>
|
|
</tr>
|
|
<tr>
|
|
<td>linked_from_service</td>
|
|
<td>A list of services that are linked to this one (see table <code class="prettyprint">Related services attributes</code> below)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>linked_to_service</td>
|
|
<td>A list of services that the service is linked to (see table <code class="prettyprint">Related services attributes</code> below)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>bindings</td>
|
|
<td>A list of volume bindings that the service has mounted (see table <code class="prettyprint">Service binding attributes</code> below)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>autorestart</td>
|
|
<td>Whether to restart the containers of the service automatically if they stop (see <a href="../../docker-cloud/apps/autorestart/">Crash recovery</a> for more information)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>autodestroy</td>
|
|
<td>Whether to terminate the containers of the service automatically if they stop (see <a href="../../docker-cloud/apps/auto-destroy/">Autodestroy</a> for more information)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>roles</td>
|
|
<td>List of Docker Cloud roles assigned to this service (see <a href="../../docker-cloud/apps/service-links/">Service links</a> for more information)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>link_variables</td>
|
|
<td>List of environment variables that would be exposed in the containers if they are linked to this service</td>
|
|
</tr>
|
|
<tr>
|
|
<td>privileged</td>
|
|
<td>Whether to start the containers with Docker’s <code class="prettyprint">privileged</code> flag set or not, which allows containers to access all devices on the host among other things (see <a href="../../engine/reference/run/#runtime-privilege-linux-capabilities-and-lxc-configuration">Runtime privilege</a> for more information)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>read_only</td>
|
|
<td>Whether the filesystem of every service container is read-only or not (<code class="prettyprint">false</code> by default)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>deployment_strategy</td>
|
|
<td>Container distribution among nodes (see table <code class="prettyprint">Deployment strategies</code> below and <a href="../../docker-cloud/infrastructure/deployment-strategies/">Deployment strategies</a> for more information)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>tags</td>
|
|
<td>List of tags to be used to deploy the service (see <a href="../../docker-cloud/apps/deploy-tags/">Tags</a> for more information)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>autoredeploy</td>
|
|
<td>Whether to redeploy the containers of the service when its image is updated in Docker Cloud registry (see <a href="../../docker-cloud/apps/auto-redeploy/">Docker Cloud’s private registry</a> for more information)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>nickname</td>
|
|
<td>A user-friendly name for the service (<code class="prettyprint">name</code> by default)</td>
|
|
</tr>
|
|
</tbody></table>
|
|
|
|
<h3 id="service-binding-attributes">Service binding attributes</h3>
|
|
|
|
<table><thead>
|
|
<tr>
|
|
<th>Attribute</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
</thead><tbody>
|
|
<tr>
|
|
<td>host_path</td>
|
|
<td>The host path of the volume</td>
|
|
</tr>
|
|
<tr>
|
|
<td>container_path</td>
|
|
<td>The container path where the volume is mounted</td>
|
|
</tr>
|
|
<tr>
|
|
<td>rewritable</td>
|
|
<td><code class="prettyprint">true</code> is the volume has writable permissions</td>
|
|
</tr>
|
|
<tr>
|
|
<td>volumes_from</td>
|
|
<td>The resource URI of the service</td>
|
|
</tr>
|
|
</tbody></table>
|
|
|
|
<h3 id="service-port-attributes">Service Port attributes</h3>
|
|
|
|
<table><thead>
|
|
<tr>
|
|
<th>Attribute</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
</thead><tbody>
|
|
<tr>
|
|
<td>protocol</td>
|
|
<td>The protocol of the port, either <code class="prettyprint">tcp</code> or <code class="prettyprint">udp</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td>inner_port</td>
|
|
<td>The published port number inside the container</td>
|
|
</tr>
|
|
<tr>
|
|
<td>outer_port</td>
|
|
<td>The published port number in the node public network interface</td>
|
|
</tr>
|
|
<tr>
|
|
<td>port_name</td>
|
|
<td>Name of the service associated to this port</td>
|
|
</tr>
|
|
<tr>
|
|
<td>endpoint_uri</td>
|
|
<td>The URI of the service endpoint for this port</td>
|
|
</tr>
|
|
<tr>
|
|
<td>published</td>
|
|
<td>Whether the port has been published in the host public network interface or not. Non-published ports can only be accessed via links.</td>
|
|
</tr>
|
|
</tbody></table>
|
|
|
|
<h3 id="service-environment-variable-attributes">Service Environment Variable attributes</h3>
|
|
|
|
<table><thead>
|
|
<tr>
|
|
<th>Attribute</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
</thead><tbody>
|
|
<tr>
|
|
<td>key</td>
|
|
<td>The name of the environment variable</td>
|
|
</tr>
|
|
<tr>
|
|
<td>value</td>
|
|
<td>The value of the environment variable</td>
|
|
</tr>
|
|
</tbody></table>
|
|
|
|
<h3 id="related-services-attributes">Related services attributes</h3>
|
|
|
|
<table><thead>
|
|
<tr>
|
|
<th>Attribute</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
</thead><tbody>
|
|
<tr>
|
|
<td>name</td>
|
|
<td>The link name</td>
|
|
</tr>
|
|
<tr>
|
|
<td>from_service</td>
|
|
<td>The resource URI of the origin of the link</td>
|
|
</tr>
|
|
<tr>
|
|
<td>to_service</td>
|
|
<td>The resource URI of the target of the link</td>
|
|
</tr>
|
|
</tbody></table>
|
|
|
|
<h3 id="service-states">Service states</h3>
|
|
|
|
<table><thead>
|
|
<tr>
|
|
<th>State</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
</thead><tbody>
|
|
<tr>
|
|
<td>Not running</td>
|
|
<td>The service has been created and has no deployed containers yet. Possible actions in this state: <code class="prettyprint">start</code>, <code class="prettyprint">terminate</code>.</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Starting</td>
|
|
<td>All containers for the service are either starting or already running. No actions allowed in this state.</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Running</td>
|
|
<td>All containers for the service are deployed and running. Possible actions in this state: <code class="prettyprint">stop</code>, <code class="prettyprint">redeploy</code>, <code class="prettyprint">terminate</code>.</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Partly running</td>
|
|
<td>One or more containers of the service are deployed and running. Possible actions in this state: <code class="prettyprint">stop</code>, <code class="prettyprint">redeploy</code>, <code class="prettyprint">terminate</code>.</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Scaling</td>
|
|
<td>The service is either deploying new containers or destroying existing ones responding to a scaling request. No actions allowed in this state.</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Redeploying</td>
|
|
<td>The service is redeploying all its containers with the updated configuration. No actions allowed in this state.</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Stopping</td>
|
|
<td>All containers for the service are either stopping or already stopped. No actions allowed in this state.</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Stopped</td>
|
|
<td>All containers for the service are stopped. Possible actions in this state: <code class="prettyprint">start</code>, <code class="prettyprint">redeploy</code>, <code class="prettyprint">terminate</code>.</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Terminating</td>
|
|
<td>All containers for the service are either being terminated or already terminated. No actions allowed in this state.</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Terminated</td>
|
|
<td>The service and all its containers have been terminated. No actions allowed in this state.</td>
|
|
</tr>
|
|
</tbody></table>
|
|
|
|
<h3 id="deployment-strategies">Deployment strategies</h3>
|
|
|
|
<table><thead>
|
|
<tr>
|
|
<th>Strategy</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
</thead><tbody>
|
|
<tr>
|
|
<td>EMPTIEST_NODE</td>
|
|
<td>It will deploy containers to the node with the lower total amount of running containers (default).</td>
|
|
</tr>
|
|
<tr>
|
|
<td>HIGH_AVAILABILITY</td>
|
|
<td>It will deploy containers to the node with the lower amount of running containers of the same service.</td>
|
|
</tr>
|
|
<tr>
|
|
<td>EVERY_NODE</td>
|
|
<td>It will deploy one container on every node. The service won’t be able to scale manually. New containers will be deployed to new nodes automatically.</td>
|
|
</tr>
|
|
</tbody></table>
|
|
|
|
<h3 id="network-modes">Network Modes</h3>
|
|
|
|
<table><thead>
|
|
<tr>
|
|
<th>Strategy</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
</thead><tbody>
|
|
<tr>
|
|
<td>bridge</td>
|
|
<td>Creates a new network stack for the container on the docker bridge.</td>
|
|
</tr>
|
|
<tr>
|
|
<td>host</td>
|
|
<td>Uses the host network stack inside the container.</td>
|
|
</tr>
|
|
</tbody></table>
|
|
|
|
<h2 id="list-all-services">List all services</h2>
|
|
<pre class="highlight python"><code><span class="kn">import</span> <span class="nn">dockercloud</span>
|
|
|
|
<span class="n">services</span> <span class="o">=</span> <span class="n">dockercloud</span><span class="o">.</span><span class="n">Service</span><span class="o">.</span><span class="nb">list</span><span class="p">()</span>
|
|
</code></pre>
|
|
<pre class="highlight go"><code><span class="k">import</span><span class="x"> </span><span class="s">"github.com/docker/go-dockercloud/dockercloud"</span><span class="x">
|
|
|
|
</span><span class="n">serviceList</span><span class="p">,</span><span class="x"> </span><span class="n">err</span><span class="x"> </span><span class="o">:=</span><span class="x"> </span><span class="n">dockercloud</span><span class="o">.</span><span class="n">ListServices</span><span class="p">()</span><span class="x">
|
|
|
|
</span><span class="k">if</span><span class="x"> </span><span class="n">err</span><span class="x"> </span><span class="o">!=</span><span class="x"> </span><span class="no">nil</span><span class="x"> </span><span class="p">{</span><span class="x">
|
|
</span><span class="n">log</span><span class="o">.</span><span class="n">Println</span><span class="p">(</span><span class="n">err</span><span class="p">)</span><span class="x">
|
|
</span><span class="p">}</span><span class="x">
|
|
|
|
</span><span class="n">log</span><span class="o">.</span><span class="n">Println</span><span class="p">(</span><span class="n">serviceList</span><span class="p">)</span><span class="x">
|
|
</span></code></pre>
|
|
<pre class="highlight http"><code><span class="nf">GET</span> <span class="nn">/api/app/v1/service/</span> <span class="k">HTTP</span><span class="o">/</span><span class="m">1.1</span>
|
|
<span class="na">Host</span><span class="p">:</span> <span class="s">cloud.docker.com</span>
|
|
<span class="na">Authorization</span><span class="p">:</span> <span class="s">Basic dXNlcm5hbWU6YXBpa2V5</span>
|
|
<span class="na">Accept</span><span class="p">:</span> <span class="s">application/json</span>
|
|
</code></pre>
|
|
<pre class="highlight shell"><code>docker-cloud service ps
|
|
</code></pre>
|
|
|
|
<p>Lists all current and recently terminated services. Returns a list of <code class="prettyprint">Service</code> objects.</p>
|
|
|
|
<h3 id="endpoint-type">Endpoint Type</h3>
|
|
|
|
<p>Available in Docker Cloud’s <strong>REST API</strong></p>
|
|
|
|
<h3 id="http-request">HTTP Request</h3>
|
|
|
|
<p><code class="prettyprint">GET /api/app/v1/[optional_namespace/]service/</code></p>
|
|
|
|
<h3 id="query-parameters">Query Parameters</h3>
|
|
|
|
<table><thead>
|
|
<tr>
|
|
<th>Parameter</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
</thead><tbody>
|
|
<tr>
|
|
<td>uuid</td>
|
|
<td>Filter by UUID</td>
|
|
</tr>
|
|
<tr>
|
|
<td>state</td>
|
|
<td>Filter by state. Possible values: <code class="prettyprint">Not running</code>, <code class="prettyprint">Starting</code>, <code class="prettyprint">Running</code>, <code class="prettyprint">Partly running</code>, <code class="prettyprint">Scaling</code>, <code class="prettyprint">Redeploying</code>, <code class="prettyprint">Stopping</code>, <code class="prettyprint">Stopped</code>, <code class="prettyprint">Terminating</code>, <code class="prettyprint">Terminated</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td>name</td>
|
|
<td>Filter by service name</td>
|
|
</tr>
|
|
<tr>
|
|
<td>stack</td>
|
|
<td>Filter by resource URI of the target stack.</td>
|
|
</tr>
|
|
</tbody></table>
|
|
|
|
<h2 id="create-a-new-service">Create a new service</h2>
|
|
<pre class="highlight python"><code><span class="kn">import</span> <span class="nn">dockercloud</span>
|
|
|
|
<span class="n">service</span> <span class="o">=</span> <span class="n">dockercloud</span><span class="o">.</span><span class="n">Service</span><span class="o">.</span><span class="n">create</span><span class="p">(</span><span class="n">image</span><span class="o">=</span><span class="s">"tutum/hello-world"</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">"my-new-app"</span><span class="p">,</span> <span class="n">target_num_containers</span><span class="o">=</span><span class="mi">2</span><span class="p">)</span>
|
|
<span class="n">service</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
|
|
</code></pre>
|
|
<pre class="highlight go"><code><span class="k">import</span><span class="x"> </span><span class="s">"github.com/docker/go-dockercloud/dockercloud"</span><span class="x">
|
|
|
|
</span><span class="n">service</span><span class="p">,</span><span class="x"> </span><span class="n">err</span><span class="x"> </span><span class="o">:=</span><span class="x"> </span><span class="n">dockercloud</span><span class="o">.</span><span class="n">CreateService</span><span class="p">(</span><span class="n">dockercloud</span><span class="o">.</span><span class="n">ServiceCreateRequest</span><span class="p">{</span><span class="n">Image</span><span class="o">:</span><span class="x"> </span><span class="s">"tutum/hello-world"</span><span class="p">,</span><span class="x"> </span><span class="n">Name</span><span class="o">:</span><span class="x"> </span><span class="s">"my-new-app"</span><span class="p">,</span><span class="x"> </span><span class="n">Target_num_containers</span><span class="o">:</span><span class="x"> </span><span class="m">2</span><span class="p">})</span><span class="x">
|
|
|
|
</span><span class="k">if</span><span class="x"> </span><span class="n">err</span><span class="x"> </span><span class="o">!=</span><span class="x"> </span><span class="no">nil</span><span class="x"> </span><span class="p">{</span><span class="x">
|
|
</span><span class="n">log</span><span class="o">.</span><span class="n">Println</span><span class="p">(</span><span class="n">err</span><span class="p">)</span><span class="x">
|
|
</span><span class="p">}</span><span class="x">
|
|
|
|
</span><span class="n">log</span><span class="o">.</span><span class="n">Println</span><span class="p">(</span><span class="n">service</span><span class="p">)</span><span class="x">
|
|
</span></code></pre>
|
|
<pre class="highlight http"><code><span class="nf">POST</span> <span class="nn">/api/app/v1/service/</span> <span class="k">HTTP</span><span class="o">/</span><span class="m">1.1</span>
|
|
<span class="na">Host</span><span class="p">:</span> <span class="s">cloud.docker.com</span>
|
|
<span class="na">Authorization</span><span class="p">:</span> <span class="s">Basic dXNlcm5hbWU6YXBpa2V5</span>
|
|
<span class="na">Accept</span><span class="p">:</span> <span class="s">application/json</span>
|
|
<span class="na">Content-Type</span><span class="p">:</span> <span class="s">application/json</span>
|
|
|
|
<span class="p">{</span><span class="nt">"image"</span><span class="p">:</span><span class="w"> </span><span class="s2">"tutum/hello-world"</span><span class="p">,</span><span class="w"> </span><span class="nt">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"my-new-app"</span><span class="p">,</span><span class="w"> </span><span class="nt">"target_num_containers"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">}</span><span class="w">
|
|
</span></code></pre>
|
|
<pre class="highlight shell"><code>docker-cloud service create -t 2 --name my-new-app tutum/hello-world
|
|
</code></pre>
|
|
|
|
<p>Creates a new service without starting it.</p>
|
|
|
|
<h3 id="endpoint-type">Endpoint Type</h3>
|
|
|
|
<p>Available in Docker Cloud’s <strong>REST API</strong></p>
|
|
|
|
<h3 id="http-request">HTTP Request</h3>
|
|
|
|
<p><code class="prettyprint">POST /api/app/v1/[optional_namespace/]service/</code></p>
|
|
|
|
<h3 id="json-parameters">JSON Parameters</h3>
|
|
|
|
<table><thead>
|
|
<tr>
|
|
<th>Parameter</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
</thead><tbody>
|
|
<tr>
|
|
<td>image</td>
|
|
<td>(required) The image used to deploy this service in docker format, i.e. <code class="prettyprint">tutum/hello-world</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td>name</td>
|
|
<td>(optional) A human-readable name for the service, i.e. <code class="prettyprint">my-hello-world-app</code> (default: <code class="prettyprint">image</code> without namespace)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>target_num_containers</td>
|
|
<td>(optional) The number of containers to run for this service initially (default: 1)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>run_command</td>
|
|
<td>(optional) The command used to start the containers of this service, overriding the value specified in the image, i.e. <code class="prettyprint">/run.sh</code> (default: <code class="prettyprint">null</code>)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>entrypoint</td>
|
|
<td>(optional) The command prefix used to start the containers of this service, overriding the value specified in the image, i.e. <code class="prettyprint">/usr/sbin/sshd</code> (default: <code class="prettyprint">null</code>)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>container_ports</td>
|
|
<td>(optional) An array of objects with port information to be published in the containers for this service, which will be added to the image port information, i.e. <code class="prettyprint">[{"protocol": "tcp", "inner_port": 80, "outer_port": 80}]</code> (default: <code class="prettyprint">[]</code>) (See table <code class="prettyprint">Service Port attributes</code> below)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>container_envvars</td>
|
|
<td>(optional) An array of objects with environment variables to be added in the service containers on launch (overriding any image-defined environment variables), i.e. <code class="prettyprint">[{"key": "DB_PASSWORD", "value": "mypass"}]</code> (default: <code class="prettyprint">[]</code>) (See table <code class="prettyprint">Service Environment Variable attributes</code> below)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>linked_to_service</td>
|
|
<td>(optional) An array of service resource URIs to link this service to, including the link name, i.e. <code class="prettyprint">[{"to_service": "/api/app/v1/service/80ff1635-2d56-478d-a97f-9b59c720e513/", "name": "db"}]</code> (default: <code class="prettyprint">[]</code>) (See table <code class="prettyprint">Related services attributes</code> below)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>bindings</td>
|
|
<td>(optional) An array of bindings this service has to mount, i.e. <code class="prettyprint">[{"volumes_from": "/api/app/v1/service/80ff1635-2d56-478d-a97f-9b59c720e513/", "rewritable": true}]</code> (default: <code class="prettyprint">[]</code>) (See table <code class="prettyprint">Related bindings attributes</code> below)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>autorestart</td>
|
|
<td>(optional) Whether the containers for this service should be restarted if they stop, i.e. <code class="prettyprint">ALWAYS</code> (default: <code class="prettyprint">OFF</code>, possible values: <code class="prettyprint">OFF</code>, <code class="prettyprint">ON_FAILURE</code>, <code class="prettyprint">ALWAYS</code>) (see <a href="../../docker-cloud/apps/autorestart/">Crash recovery</a> for more information)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>autodestroy</td>
|
|
<td>(optional) Whether the containers should be terminated if they stop, i.e. <code class="prettyprint">OFF</code> (default: <code class="prettyprint">OFF</code>, possible values: <code class="prettyprint">OFF</code>, <code class="prettyprint">ON_SUCCESS</code>, <code class="prettyprint">ALWAYS</code>) (see <a href="../../docker-cloud/apps/auto-destroy/">Autodestroy</a> for more information)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>sequential_deployment</td>
|
|
<td>(optional) Whether the containers should be launched and scaled in sequence, i.e. <code class="prettyprint">true</code> (default: <code class="prettyprint">false</code>) (see <a href="../../docker-cloud/apps/service-scaling/">Service scaling</a> for more information)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>roles</td>
|
|
<td>(optional) A list of Docker Cloud API roles to grant the service, i.e. <code class="prettyprint">["global"]</code> (default: <code class="prettyprint">[]</code>, possible values: <code class="prettyprint">global</code>) (see <a href="../../docker-cloud/apps/service-links/">Service links</a> for more information)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>privileged</td>
|
|
<td>(optional) Whether to start the containers with Docker’s <code class="prettyprint">privileged</code> flag set or not, i.e. <code class="prettyprint">false</code> (default: <code class="prettyprint">false</code>) (see <a href="../../engine/reference/run/#runtime-privilege-linux-capabilities-and-lxc-configuration">Runtime privilege</a> for more information)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>deployment_strategy</td>
|
|
<td>(optional) Container distribution among nodes (default: <code class="prettyprint">EMPTIEST_NODE</code>, see table <code class="prettyprint">Deployment strategies</code> above and <a href="../../docker-cloud/infrastructure/deployment-strategies/">Deployment strategies</a> for more information)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>tags</td>
|
|
<td>(optional) A list of tags to be used to deploy the service (see <a href="../../docker-cloud/apps/deploy-tags/">Tags</a> for more information) (default: <code class="prettyprint">[]</code>)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>autoredeploy</td>
|
|
<td>(optional) Whether to redeploy the containers of the service when its image is updated in Docker Cloud registry (default: <code class="prettyprint">false</code>) (see <a href="../../docker-cloud/apps/auto-redeploy/">Docker Cloud’s private registry</a> for more information)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>net</td>
|
|
<td>(optional) Set the network mode to the containers (default: <code class="prettyprint">bridge</code>, possible values: <code class="prettyprint">bridge</code>, <code class="prettyprint">host</code>)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>pid</td>
|
|
<td>(optional) Set the PID (Process) Namespace mode for the containers (default: <code class="prettyprint">none</code> value, possible values: <code class="prettyprint">none</code>, <code class="prettyprint">host</code>)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>working_dir</td>
|
|
<td>(optional) Working directory for running binaries within a container of this service (default: <code class="prettyprint">/</code>)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>nickname</td>
|
|
<td>(optional) A user-friendly name for the service (<code class="prettyprint">name</code> by default)</td>
|
|
</tr>
|
|
</tbody></table>
|
|
|
|
<h3 id="related-bindings-attributes">Related bindings attributes</h3>
|
|
|
|
<table><thead>
|
|
<tr>
|
|
<th>Attribute</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
</thead><tbody>
|
|
<tr>
|
|
<td>host_path</td>
|
|
<td>(optional) The host path of the volume</td>
|
|
</tr>
|
|
<tr>
|
|
<td>container_path</td>
|
|
<td>(required if <code class="prettyprint">volumes_from</code> is omitted) The container path where the volume is mounted</td>
|
|
</tr>
|
|
<tr>
|
|
<td>rewritable</td>
|
|
<td>(optional) <code class="prettyprint">true</code> is the volume has writable permissions (default: <code class="prettyprint">true</code>)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>volumes_from</td>
|
|
<td>(required if <code class="prettyprint">container_path</code> is omitted) The resource URI of the service</td>
|
|
</tr>
|
|
</tbody></table>
|
|
|
|
<h3 id="service-port-attributes">Service Port attributes</h3>
|
|
|
|
<table><thead>
|
|
<tr>
|
|
<th>Attribute</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
</thead><tbody>
|
|
<tr>
|
|
<td>protocol</td>
|
|
<td>(required) The protocol of the port, either <code class="prettyprint">tcp</code> or <code class="prettyprint">udp</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td>inner_port</td>
|
|
<td>(required) The port number inside the container to be published</td>
|
|
</tr>
|
|
<tr>
|
|
<td>outer_port</td>
|
|
<td>(optional) The port number in the node public network interface to be published (default: dynamic allocation if <code class="prettyprint">published</code> is <code class="prettyprint">true</code>)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>published</td>
|
|
<td>(optional) Whether to publish the port in the host public network interface or not. Non-published ports can only be accessed via links. (default: <code class="prettyprint">false</code>)</td>
|
|
</tr>
|
|
</tbody></table>
|
|
|
|
<h3 id="service-environment-variable-attributes">Service Environment Variable attributes</h3>
|
|
|
|
<table><thead>
|
|
<tr>
|
|
<th>Attribute</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
</thead><tbody>
|
|
<tr>
|
|
<td>key</td>
|
|
<td>(required) The name of the environment variable</td>
|
|
</tr>
|
|
<tr>
|
|
<td>value</td>
|
|
<td>(required) The value of the environment variable</td>
|
|
</tr>
|
|
</tbody></table>
|
|
|
|
<h3 id="related-services-attributes">Related services attributes</h3>
|
|
|
|
<table><thead>
|
|
<tr>
|
|
<th>Attribute</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
</thead><tbody>
|
|
<tr>
|
|
<td>to_service</td>
|
|
<td>(required) The resource URI of the target of the link</td>
|
|
</tr>
|
|
<tr>
|
|
<td>name</td>
|
|
<td>(optional) The link name</td>
|
|
</tr>
|
|
</tbody></table>
|
|
|
|
<h2 id="get-an-existing-service">Get an existing service</h2>
|
|
<pre class="highlight python"><code><span class="kn">import</span> <span class="nn">dockercloud</span>
|
|
|
|
<span class="n">service</span> <span class="o">=</span> <span class="n">dockercloud</span><span class="o">.</span><span class="n">Service</span><span class="o">.</span><span class="n">fetch</span><span class="p">(</span><span class="s">"7eaf7fff-882c-4f3d-9a8f-a22317ac00ce"</span><span class="p">)</span>
|
|
</code></pre>
|
|
<pre class="highlight go"><code><span class="k">import</span><span class="x"> </span><span class="s">"github.com/docker/go-dockercloud/dockercloud"</span><span class="x">
|
|
|
|
</span><span class="n">service</span><span class="p">,</span><span class="x"> </span><span class="n">err</span><span class="x"> </span><span class="o">:=</span><span class="x"> </span><span class="n">dockercloud</span><span class="o">.</span><span class="n">GetService</span><span class="p">(</span><span class="s">"7eaf7fff-882c-4f3d-9a8f-a22317ac00ce"</span><span class="p">)</span><span class="x">
|
|
|
|
</span><span class="k">if</span><span class="x"> </span><span class="n">err</span><span class="x"> </span><span class="o">!=</span><span class="x"> </span><span class="no">nil</span><span class="x"> </span><span class="p">{</span><span class="x">
|
|
</span><span class="n">log</span><span class="o">.</span><span class="n">Println</span><span class="p">(</span><span class="n">err</span><span class="p">)</span><span class="x">
|
|
</span><span class="p">}</span><span class="x">
|
|
|
|
</span><span class="n">log</span><span class="o">.</span><span class="n">Println</span><span class="p">(</span><span class="n">service</span><span class="p">)</span><span class="x">
|
|
</span></code></pre>
|
|
<pre class="highlight http"><code><span class="nf">GET</span> <span class="nn">/api/app/v1/service/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/</span> <span class="k">HTTP</span><span class="o">/</span><span class="m">1.1</span>
|
|
<span class="na">Host</span><span class="p">:</span> <span class="s">cloud.docker.com</span>
|
|
<span class="na">Authorization</span><span class="p">:</span> <span class="s">Basic dXNlcm5hbWU6YXBpa2V5</span>
|
|
<span class="na">Accept</span><span class="p">:</span> <span class="s">application/json</span>
|
|
</code></pre>
|
|
<pre class="highlight shell"><code>docker-cloud service inspect 7eaf7fff
|
|
</code></pre>
|
|
|
|
<p>Get all the details of an specific service</p>
|
|
|
|
<h3 id="endpoint-type">Endpoint Type</h3>
|
|
|
|
<p>Available in Docker Cloud’s <strong>REST API</strong></p>
|
|
|
|
<h3 id="http-request">HTTP Request</h3>
|
|
|
|
<p><code class="prettyprint">GET /api/app/v1/[optional_namespace/]service/(uuid)/</code></p>
|
|
|
|
<h3 id="path-parameters">Path Parameters</h3>
|
|
|
|
<table><thead>
|
|
<tr>
|
|
<th>Parameter</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
</thead><tbody>
|
|
<tr>
|
|
<td>uuid</td>
|
|
<td>The UUID of the service to retrieve</td>
|
|
</tr>
|
|
</tbody></table>
|
|
|
|
<h2 id="get-the-logs-of-a-service">Get the logs of a service</h2>
|
|
|
|
<blockquote>
|
|
<p>Example log line</p>
|
|
</blockquote>
|
|
<pre class="highlight json"><code><span class="p">{</span><span class="w">
|
|
</span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"log"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"source"</span><span class="p">:</span><span class="w"> </span><span class="s2">"wordpress-stackable-1"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"log"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Log line from the container indicated by 'source'"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"streamType"</span><span class="p">:</span><span class="w"> </span><span class="s2">"stdout"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"timestamp"</span><span class="p">:</span><span class="w"> </span><span class="mi">1433779324</span><span class="w">
|
|
</span><span class="p">}</span><span class="w">
|
|
</span></code></pre>
|
|
<pre class="highlight python"><code><span class="kn">import</span> <span class="nn">dockercloud</span>
|
|
|
|
<span class="k">def</span> <span class="nf">log_handler</span><span class="p">(</span><span class="n">message</span><span class="p">):</span>
|
|
<span class="k">print</span> <span class="n">message</span>
|
|
|
|
<span class="n">service</span> <span class="o">=</span> <span class="n">dockercloud</span><span class="o">.</span><span class="n">Service</span><span class="o">.</span><span class="n">fetch</span><span class="p">(</span><span class="s">"7eaf7fff-882c-4f3d-9a8f-a22317ac00ce"</span><span class="p">)</span>
|
|
<span class="n">service</span><span class="o">.</span><span class="n">logs</span><span class="p">(</span><span class="n">tail</span><span class="o">=</span><span class="mi">300</span><span class="p">,</span> <span class="n">follow</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span> <span class="n">log_handler</span><span class="o">=</span><span class="n">log_handler</span><span class="p">)</span>
|
|
</code></pre>
|
|
<pre class="highlight go"><code><span class="k">import</span><span class="x"> </span><span class="s">"github.com/docker/go-dockercloud/dockercloud"</span><span class="x">
|
|
|
|
</span><span class="n">service</span><span class="p">,</span><span class="x"> </span><span class="n">err</span><span class="x"> </span><span class="o">:=</span><span class="x"> </span><span class="n">dockercloud</span><span class="o">.</span><span class="n">GetService</span><span class="p">(</span><span class="s">"7eaf7fff-882c-4f3d-9a8f-a22317ac00ce"</span><span class="p">)</span><span class="x">
|
|
|
|
</span><span class="k">if</span><span class="x"> </span><span class="n">err</span><span class="x"> </span><span class="o">!=</span><span class="x"> </span><span class="no">nil</span><span class="x"> </span><span class="p">{</span><span class="x">
|
|
</span><span class="n">log</span><span class="o">.</span><span class="n">Println</span><span class="p">(</span><span class="n">err</span><span class="p">)</span><span class="x">
|
|
</span><span class="p">}</span><span class="x">
|
|
|
|
</span><span class="n">c</span><span class="x"> </span><span class="o">:=</span><span class="x"> </span><span class="nb">make</span><span class="p">(</span><span class="k">chan</span><span class="x"> </span><span class="n">Logs</span><span class="p">)</span><span class="x">
|
|
|
|
</span><span class="k">go</span><span class="x"> </span><span class="n">service</span><span class="o">.</span><span class="n">Logs</span><span class="p">(</span><span class="n">c</span><span class="p">)</span><span class="x">
|
|
</span><span class="k">for</span><span class="x"> </span><span class="p">{</span><span class="x">
|
|
</span><span class="n">s</span><span class="x"> </span><span class="o">:=</span><span class="x"> </span><span class="o"><-</span><span class="n">c</span><span class="x">
|
|
</span><span class="n">log</span><span class="o">.</span><span class="n">Println</span><span class="p">(</span><span class="n">s</span><span class="p">)</span><span class="x">
|
|
</span><span class="p">}</span><span class="x">
|
|
</span></code></pre>
|
|
<pre class="highlight http"><code><span class="nf">GET</span> <span class="nn">/api/app/v1/service/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/logs/</span> <span class="k">HTTP</span><span class="o">/</span><span class="m">1.1</span>
|
|
<span class="na">Host</span><span class="p">:</span> <span class="s">ws.cloud.docker.com</span>
|
|
<span class="na">Authorization</span><span class="p">:</span> <span class="s">Basic dXNlcm5hbWU6YXBpa2V5</span>
|
|
<span class="na">Connection</span><span class="p">:</span> <span class="s">Upgrade</span>
|
|
<span class="na">Upgrade</span><span class="p">:</span> <span class="s">websocket</span>
|
|
</code></pre>
|
|
<pre class="highlight shell"><code>docker-cloud service logs 7eaf7fff
|
|
</code></pre>
|
|
|
|
<p>Get the aggregated logs of all the containers of the service.</p>
|
|
|
|
<h3 id="endpoint-type">Endpoint Type</h3>
|
|
|
|
<p>Available in Docker Cloud’s <strong>STREAM API</strong></p>
|
|
|
|
<h3 id="http-request">HTTP Request</h3>
|
|
|
|
<p><code class="prettyprint">GET /api/app/v1/[optional_namespace/]service/(uuid)/logs/</code></p>
|
|
|
|
<h3 id="path-parameters">Path Parameters</h3>
|
|
|
|
<table><thead>
|
|
<tr>
|
|
<th>Parameter</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
</thead><tbody>
|
|
<tr>
|
|
<td>uuid</td>
|
|
<td>The UUID of the service to retrieve logs</td>
|
|
</tr>
|
|
</tbody></table>
|
|
|
|
<h3 id="query-parameters">Query Parameters</h3>
|
|
|
|
<table><thead>
|
|
<tr>
|
|
<th>Parameter</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
</thead><tbody>
|
|
<tr>
|
|
<td>tail</td>
|
|
<td>Number of lines to show from the end of the logs (default: <code class="prettyprint">300</code>)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>follow</td>
|
|
<td>Whether to stream logs or close the connection immediately (default: true)</td>
|
|
</tr>
|
|
</tbody></table>
|
|
|
|
<h2 id="update-an-existing-service">Update an existing service</h2>
|
|
<pre class="highlight python"><code><span class="kn">import</span> <span class="nn">dockercloud</span>
|
|
|
|
<span class="n">service</span> <span class="o">=</span> <span class="n">dockercloud</span><span class="o">.</span><span class="n">Service</span><span class="o">.</span><span class="n">fetch</span><span class="p">(</span><span class="s">"7eaf7fff-882c-4f3d-9a8f-a22317ac00ce"</span><span class="p">)</span>
|
|
<span class="n">service</span><span class="o">.</span><span class="n">target_num_containers</span> <span class="o">=</span> <span class="mi">3</span>
|
|
<span class="n">service</span><span class="o">.</span><span class="n">tags</span><span class="o">.</span><span class="n">append</span><span class="p">({</span><span class="s">"name"</span><span class="p">:</span><span class="s">"tag-1"</span><span class="p">})</span>
|
|
<span class="n">service</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
|
|
</code></pre>
|
|
<pre class="highlight go"><code><span class="k">import</span><span class="x"> </span><span class="s">"github.com/docker/go-dockercloud/dockercloud"</span><span class="x">
|
|
|
|
</span><span class="n">service</span><span class="p">,</span><span class="x"> </span><span class="n">err</span><span class="x"> </span><span class="o">:=</span><span class="x"> </span><span class="n">dockercloud</span><span class="o">.</span><span class="n">GetService</span><span class="p">(</span><span class="s">"7eaf7fff-882c-4f3d-9a8f-a22317ac00ce"</span><span class="p">)</span><span class="x">
|
|
|
|
</span><span class="k">if</span><span class="x"> </span><span class="n">err</span><span class="x"> </span><span class="o">!=</span><span class="x"> </span><span class="no">nil</span><span class="x"> </span><span class="p">{</span><span class="x">
|
|
</span><span class="n">log</span><span class="o">.</span><span class="n">Println</span><span class="p">(</span><span class="n">err</span><span class="p">)</span><span class="x">
|
|
</span><span class="p">}</span><span class="x">
|
|
|
|
</span><span class="k">if</span><span class="x"> </span><span class="n">err</span><span class="x"> </span><span class="o">=</span><span class="x"> </span><span class="n">service</span><span class="o">.</span><span class="n">Update</span><span class="p">(</span><span class="n">dockercloud</span><span class="o">.</span><span class="n">ServiceCreateRequest</span><span class="p">{</span><span class="n">Target_num_containers</span><span class="o">:</span><span class="x"> </span><span class="m">3</span><span class="p">});</span><span class="x"> </span><span class="n">err</span><span class="x"> </span><span class="o">!=</span><span class="x"> </span><span class="no">nil</span><span class="x"> </span><span class="p">{</span><span class="x">
|
|
</span><span class="n">log</span><span class="o">.</span><span class="n">Println</span><span class="p">(</span><span class="n">err</span><span class="p">)</span><span class="x">
|
|
</span><span class="p">}</span><span class="x">
|
|
</span></code></pre>
|
|
<pre class="highlight http"><code><span class="nf">PATCH</span> <span class="nn">/api/app/v1/service/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/</span> <span class="k">HTTP</span><span class="o">/</span><span class="m">1.1</span>
|
|
<span class="na">Host</span><span class="p">:</span> <span class="s">cloud.docker.com</span>
|
|
<span class="na">Authorization</span><span class="p">:</span> <span class="s">Basic dXNlcm5hbWU6YXBpa2V5</span>
|
|
<span class="na">Accept</span><span class="p">:</span> <span class="s">application/json</span>
|
|
<span class="na">Content-Type</span><span class="p">:</span> <span class="s">application/json</span>
|
|
|
|
<span class="p">{</span><span class="nt">"autorestart"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ON_FAILURE"</span><span class="p">,</span><span class="w"> </span><span class="nt">"autodestroy"</span><span class="p">:</span><span class="w"> </span><span class="s2">"OFF"</span><span class="p">,</span><span class="w"> </span><span class="nt">"container_envvars"</span><span class="p">:</span><span class="w"> </span><span class="p">[{</span><span class="nt">"key"</span><span class="p">:</span><span class="w"> </span><span class="s2">"DB_PASSWORD"</span><span class="p">,</span><span class="w"> </span><span class="nt">"value"</span><span class="p">:</span><span class="w"> </span><span class="s2">"mypass"</span><span class="p">}],</span><span class="w">
|
|
</span><span class="nt">"container_ports"</span><span class="p">:</span><span class="w"> </span><span class="p">[{</span><span class="nt">"protocol"</span><span class="p">:</span><span class="w"> </span><span class="s2">"tcp"</span><span class="p">,</span><span class="w"> </span><span class="nt">"inner_port"</span><span class="p">:</span><span class="w"> </span><span class="mi">80</span><span class="p">,</span><span class="w"> </span><span class="nt">"outer_port"</span><span class="p">:</span><span class="w"> </span><span class="mi">80</span><span class="p">}],</span><span class="w"> </span><span class="nt">"cpu_shares"</span><span class="p">:</span><span class="w"> </span><span class="mi">512</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"entrypoint"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/usr/sbin/sshd"</span><span class="p">,</span><span class="w"> </span><span class="nt">"image"</span><span class="p">:</span><span class="w"> </span><span class="s2">"tutum/hello-world"</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"linked_to_service"</span><span class="p">:</span><span class="w"> </span><span class="p">[{</span><span class="nt">"to_service"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/api/app/v1/service/80ff1635-2d56-478d-a97f-9b59c720e513/"</span><span class="p">,</span><span class="w"> </span><span class="nt">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"db"</span><span class="p">}],</span><span class="w">
|
|
</span><span class="nt">"memory"</span><span class="p">:</span><span class="w"> </span><span class="mi">2048</span><span class="p">,</span><span class="w"> </span><span class="nt">"privileged"</span><span class="p">:</span><span class="w"> </span><span class="err">True</span><span class="p">,</span><span class="w"> </span><span class="nt">"roles"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"global"</span><span class="p">],</span><span class="w"> </span><span class="nt">"run_command"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/run.sh"</span><span class="p">,</span><span class="w"> </span><span class="nt">"sequential_deployment"</span><span class="p">:</span><span class="w"> </span><span class="err">False</span><span class="p">,</span><span class="w">
|
|
</span><span class="nt">"tags"</span><span class="p">:</span><span class="w"> </span><span class="p">[{</span><span class="nt">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"tag-1"</span><span class="p">}],</span><span class="w"> </span><span class="nt">"target_num_containers"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="nt">"autoredeploy"</span><span class="p">:</span><span class="w"> </span><span class="err">False</span><span class="p">}</span><span class="w">
|
|
|
|
</span></code></pre>
|
|
<pre class="highlight shell"><code>docker-cloud service scale 7eaf7fff 3
|
|
docker-cloud tag add -t tag-1 7eaf7fff
|
|
docker-cloud tag <span class="nb">set</span> -t tag-2 7eaf7fff
|
|
</code></pre>
|
|
|
|
<p>Updates the service details.</p>
|
|
|
|
<h3 id="endpoint-type">Endpoint Type</h3>
|
|
|
|
<p>Available in Docker Cloud’s <strong>REST API</strong></p>
|
|
|
|
<h3 id="http-request">HTTP Request</h3>
|
|
|
|
<p><code class="prettyprint">PATCH /api/app/v1/[optional_namespace/]service/(uuid)/</code></p>
|
|
|
|
<h3 id="path-parameters">Path Parameters</h3>
|
|
|
|
<table><thead>
|
|
<tr>
|
|
<th>Parameter</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
</thead><tbody>
|
|
<tr>
|
|
<td>uuid</td>
|
|
<td>The UUID of the service to update</td>
|
|
</tr>
|
|
</tbody></table>
|
|
|
|
<h3 id="json-parameters">JSON Parameters</h3>
|
|
|
|
<table><thead>
|
|
<tr>
|
|
<th>Parameter</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
</thead><tbody>
|
|
<tr>
|
|
<td>autorestart</td>
|
|
<td>(optional) Whether the containers for this service should be restarted if they stop, i.e. <code class="prettyprint">ALWAYS</code> (possible values: <code class="prettyprint">OFF</code>, <code class="prettyprint">ON_FAILURE</code>, <code class="prettyprint">ALWAYS</code>) (see <a href="../../docker-cloud/apps/autorestart/">Crash recovery</a> for more information)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>autodestroy</td>
|
|
<td>(optional) Whether the containers should be terminated if they stop, i.e. <code class="prettyprint">OFF</code> (possible values: <code class="prettyprint">OFF</code>, <code class="prettyprint">ON_SUCCESS</code>, <code class="prettyprint">ALWAYS</code>) (see <a href="../../docker-cloud/apps/auto-destroy/">Autodestroy</a> for more information)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>container_envvars</td>
|
|
<td>(optional) An array of objects with environment variables to be added in the service containers on launch (overriding any image-defined environment variables), i.e. <code class="prettyprint">[{"key": "DB_PASSWORD", "value": "mypass"}]</code> (See table <code class="prettyprint">Service Environment Variable attributes</code>)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>container_ports</td>
|
|
<td>(optional) An array of objects with port information to be published in the containers for this service, which will be added to the image port information, i.e. <code class="prettyprint">[{"protocol": "tcp", "inner_port": 80, "outer_port": 80}]</code> (See table <code class="prettyprint">Service Port attributes</code>)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>cpu_shares</td>
|
|
<td>(optional) The relative CPU priority of the containers the service describes (see <a href="../../engine/reference/run/#runtime-constraints-on-cpu-and-memory">Runtime Constraints on CPU and Memory</a> for more information)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>entrypoint</td>
|
|
<td>(optional) The command prefix used to start the containers of this service, overriding the value specified in the image, i.e. <code class="prettyprint">/usr/sbin/sshd</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td>image</td>
|
|
<td>(optional) The image used to deploy this service in docker format, i.e. <code class="prettyprint">tutum/hello-world</code>, <code class="prettyprint">tutum/ubuntu:5.6</code>. If no tag is indicated, it will be set to <code class="prettyprint">latest</code> by default</td>
|
|
</tr>
|
|
<tr>
|
|
<td>linked_to_service</td>
|
|
<td>(optional) An array of service resource URIs to link this service to, including the link name, i.e. <code class="prettyprint">[{"to_service": "/api/app/v1/service/80ff1635-2d56-478d-a97f-9b59c720e513/", "name": "db"}]</code> (See table <code class="prettyprint">Related services attributes</code> below)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>memory</td>
|
|
<td>(optional) The memory limit of the containers of the service in MB (see <a href="../../engine/reference/run/#runtime-constraints-on-cpu-and-memory">Runtime Constraints on CPU and Memory</a> for more information)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>privileged</td>
|
|
<td>(optional) Whether to start the containers with Docker’s <code class="prettyprint">privileged</code> flag set or not, i.e. <code class="prettyprint">false</code> (see <a href="../../engine/reference/run/#runtime-privilege-linux-capabilities-and-lxc-configuration">Runtime privilege</a> for more information)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>roles</td>
|
|
<td>(optional) A list of Docker Cloud API roles to grant the service, i.e. <code class="prettyprint">["global"]</code> (possible values: <code class="prettyprint">global</code>) (see <a href="../../docker-cloud/apps/service-links/">Service links</a> for more information)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>run_command</td>
|
|
<td>(optional) The command used to start the containers of this service, overriding the value specified in the image, i.e. <code class="prettyprint">/run.sh</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td>sequential_deployment</td>
|
|
<td>(optional) Whether the containers should be launched and scaled in sequence, i.e. <code class="prettyprint">true</code> (see <a href="../../docker-cloud/apps/service-scaling/">Service scaling</a> for more information)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>tags</td>
|
|
<td>(optional) List of new tags the service will have. This operation replaces the tag list</td>
|
|
</tr>
|
|
<tr>
|
|
<td>target_num_containers</td>
|
|
<td>(optional) The number of containers to scale this service to</td>
|
|
</tr>
|
|
<tr>
|
|
<td>deployment_strategy</td>
|
|
<td>(optional) Container distribution among nodes. A service cannot be updated to or from a deployment strategy of <code class="prettyprint">EVERY_NODE</code>. (See table <code class="prettyprint">Deployment strategies</code> above and <a href="../../docker-cloud/infrastructure/deployment-strategies/">Deployment strategies</a> for more information)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>autoredeploy</td>
|
|
<td>Whether to redeploy the containers of the service when its image is updated in Docker Cloud registry (see <a href="../../docker-cloud/apps/auto-redeploy/">Docker Cloud’s private registry</a> for more information)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>net</td>
|
|
<td>(optional) Set the network mode to the containers (default: <code class="prettyprint">bridge</code>, possible values: <code class="prettyprint">bridge</code>, <code class="prettyprint">host</code>)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>pid</td>
|
|
<td>(optional) Set the PID (Process) Namespace mode for the containers (default: <code class="prettyprint">none</code> value, possible values: <code class="prettyprint">none</code>, <code class="prettyprint">host</code>)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>working_dir</td>
|
|
<td>(optional) Working directory for running binaries within a container of this service (default: <code class="prettyprint">/</code>)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>nickname</td>
|
|
<td>(optional) A user-friendly name for the service (<code class="prettyprint">name</code> by default)</td>
|
|
</tr>
|
|
</tbody></table>
|
|
|
|
<h2 id="start-a-service">Start a service</h2>
|
|
<pre class="highlight python"><code><span class="kn">import</span> <span class="nn">dockercloud</span>
|
|
|
|
<span class="n">service</span> <span class="o">=</span> <span class="n">dockercloud</span><span class="o">.</span><span class="n">Service</span><span class="o">.</span><span class="n">fetch</span><span class="p">(</span><span class="s">"7eaf7fff-882c-4f3d-9a8f-a22317ac00ce"</span><span class="p">)</span>
|
|
<span class="n">service</span><span class="o">.</span><span class="n">start</span><span class="p">()</span>
|
|
</code></pre>
|
|
<pre class="highlight go"><code><span class="k">import</span><span class="x"> </span><span class="s">"github.com/docker/go-dockercloud/dockercloud"</span><span class="x">
|
|
|
|
</span><span class="n">service</span><span class="p">,</span><span class="x"> </span><span class="n">err</span><span class="x"> </span><span class="o">:=</span><span class="x"> </span><span class="n">dockercloud</span><span class="o">.</span><span class="n">GetService</span><span class="p">(</span><span class="s">"7eaf7fff-882c-4f3d-9a8f-a22317ac00ce"</span><span class="p">)</span><span class="x">
|
|
|
|
</span><span class="k">if</span><span class="x"> </span><span class="n">err</span><span class="x"> </span><span class="o">!=</span><span class="x"> </span><span class="no">nil</span><span class="x"> </span><span class="p">{</span><span class="x">
|
|
</span><span class="n">log</span><span class="o">.</span><span class="n">Println</span><span class="p">(</span><span class="n">err</span><span class="p">)</span><span class="x">
|
|
</span><span class="p">}</span><span class="x">
|
|
|
|
</span><span class="k">if</span><span class="x"> </span><span class="n">err</span><span class="x"> </span><span class="o">=</span><span class="x"> </span><span class="n">service</span><span class="o">.</span><span class="n">Start</span><span class="p">();</span><span class="x"> </span><span class="n">err</span><span class="x"> </span><span class="o">!=</span><span class="x"> </span><span class="no">nil</span><span class="x"> </span><span class="p">{</span><span class="x">
|
|
</span><span class="n">log</span><span class="o">.</span><span class="n">Println</span><span class="p">(</span><span class="n">err</span><span class="p">)</span><span class="x">
|
|
</span><span class="p">}</span><span class="x">
|
|
</span></code></pre>
|
|
<pre class="highlight http"><code><span class="nf">POST</span> <span class="nn">/api/app/v1/service/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/start/</span> <span class="k">HTTP</span><span class="o">/</span><span class="m">1.1</span>
|
|
<span class="na">Host</span><span class="p">:</span> <span class="s">cloud.docker.com</span>
|
|
<span class="na">Authorization</span><span class="p">:</span> <span class="s">Basic dXNlcm5hbWU6YXBpa2V5</span>
|
|
<span class="na">Accept</span><span class="p">:</span> <span class="s">application/json</span>
|
|
</code></pre>
|
|
<pre class="highlight shell"><code>docker-cloud service start 7eaf7fff
|
|
</code></pre>
|
|
|
|
<p>Starts all containers in a stopped or partly running service.</p>
|
|
|
|
<h3 id="endpoint-type">Endpoint Type</h3>
|
|
|
|
<p>Available in Docker Cloud’s <strong>REST API</strong></p>
|
|
|
|
<h3 id="http-request">HTTP Request</h3>
|
|
|
|
<p><code class="prettyprint">POST /api/app/v1/[optional_namespace/]service/(uuid)/start/</code></p>
|
|
|
|
<h3 id="path-parameters">Path Parameters</h3>
|
|
|
|
<table><thead>
|
|
<tr>
|
|
<th>Parameter</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
</thead><tbody>
|
|
<tr>
|
|
<td>uuid</td>
|
|
<td>The UUID of the service to start</td>
|
|
</tr>
|
|
</tbody></table>
|
|
|
|
<h2 id="stop-a-service">Stop a service</h2>
|
|
<pre class="highlight python"><code><span class="kn">import</span> <span class="nn">dockercloud</span>
|
|
|
|
<span class="n">service</span> <span class="o">=</span> <span class="n">dockercloud</span><span class="o">.</span><span class="n">Service</span><span class="o">.</span><span class="n">fetch</span><span class="p">(</span><span class="s">"7eaf7fff-882c-4f3d-9a8f-a22317ac00ce"</span><span class="p">)</span>
|
|
<span class="n">service</span><span class="o">.</span><span class="n">stop</span><span class="p">()</span>
|
|
</code></pre>
|
|
<pre class="highlight go"><code><span class="k">import</span><span class="x"> </span><span class="s">"github.com/docker/go-dockercloud/dockercloud"</span><span class="x">
|
|
|
|
</span><span class="n">service</span><span class="p">,</span><span class="x"> </span><span class="n">err</span><span class="x"> </span><span class="o">:=</span><span class="x"> </span><span class="n">dockercloud</span><span class="o">.</span><span class="n">GetService</span><span class="p">(</span><span class="s">"7eaf7fff-882c-4f3d-9a8f-a22317ac00ce"</span><span class="p">)</span><span class="x">
|
|
|
|
</span><span class="k">if</span><span class="x"> </span><span class="n">err</span><span class="x"> </span><span class="o">!=</span><span class="x"> </span><span class="no">nil</span><span class="x"> </span><span class="p">{</span><span class="x">
|
|
</span><span class="n">log</span><span class="o">.</span><span class="n">Println</span><span class="p">(</span><span class="n">err</span><span class="p">)</span><span class="x">
|
|
</span><span class="p">}</span><span class="x">
|
|
|
|
</span><span class="k">if</span><span class="x"> </span><span class="n">err</span><span class="x"> </span><span class="o">=</span><span class="x"> </span><span class="n">service</span><span class="o">.</span><span class="n">Stop</span><span class="p">();</span><span class="x"> </span><span class="n">err</span><span class="x"> </span><span class="o">!=</span><span class="x"> </span><span class="no">nil</span><span class="x"> </span><span class="p">{</span><span class="x">
|
|
</span><span class="n">log</span><span class="o">.</span><span class="n">Println</span><span class="p">(</span><span class="n">err</span><span class="p">)</span><span class="x">
|
|
</span><span class="p">}</span><span class="x">
|
|
</span></code></pre>
|
|
<pre class="highlight http"><code><span class="nf">POST</span> <span class="nn">/api/app/v1/service/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/stop/</span> <span class="k">HTTP</span><span class="o">/</span><span class="m">1.1</span>
|
|
<span class="na">Host</span><span class="p">:</span> <span class="s">cloud.docker.com</span>
|
|
<span class="na">Authorization</span><span class="p">:</span> <span class="s">Basic dXNlcm5hbWU6YXBpa2V5</span>
|
|
<span class="na">Accept</span><span class="p">:</span> <span class="s">application/json</span>
|
|
</code></pre>
|
|
<pre class="highlight shell"><code>docker-cloud service stop 7eaf7fff
|
|
</code></pre>
|
|
|
|
<p>Stops all containers in a running or partly running service.</p>
|
|
|
|
<h3 id="endpoint-type">Endpoint Type</h3>
|
|
|
|
<p>Available in Docker Cloud’s <strong>REST API</strong></p>
|
|
|
|
<h3 id="http-request">HTTP Request</h3>
|
|
|
|
<p><code class="prettyprint">POST /api/app/v1/[optional_namespace/]service/(uuid)/stop/</code></p>
|
|
|
|
<h3 id="path-parameters">Path Parameters</h3>
|
|
|
|
<table><thead>
|
|
<tr>
|
|
<th>Parameter</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
</thead><tbody>
|
|
<tr>
|
|
<td>uuid</td>
|
|
<td>The UUID of the service to stop</td>
|
|
</tr>
|
|
</tbody></table>
|
|
|
|
<h2 id="scale-a-service">Scale a service</h2>
|
|
<pre class="highlight python"><code><span class="kn">import</span> <span class="nn">dockercloud</span>
|
|
|
|
<span class="n">service</span> <span class="o">=</span> <span class="n">dockercloud</span><span class="o">.</span><span class="n">Service</span><span class="o">.</span><span class="n">fetch</span><span class="p">(</span><span class="s">"7eaf7fff-882c-4f3d-9a8f-a22317ac00ce"</span><span class="p">)</span>
|
|
<span class="n">service</span><span class="o">.</span><span class="n">target_num_containers</span> <span class="o">=</span> <span class="mi">3</span>
|
|
<span class="n">service</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
|
|
<span class="n">service</span><span class="o">.</span><span class="n">scale</span><span class="p">()</span>
|
|
</code></pre>
|
|
<pre class="highlight http"><code><span class="nf">POST</span> <span class="nn">/api/app/v1/service/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/scale/</span> <span class="k">HTTP</span><span class="o">/</span><span class="m">1.1</span>
|
|
<span class="na">Host</span><span class="p">:</span> <span class="s">cloud.docker.com</span>
|
|
<span class="na">Authorization</span><span class="p">:</span> <span class="s">Basic dXNlcm5hbWU6YXBpa2V5</span>
|
|
<span class="na">Accept</span><span class="p">:</span> <span class="s">application/json</span>
|
|
</code></pre>
|
|
<pre class="highlight shell"><code>docker-cloud service scale 7eaf7fff-882c-4f3d-9a8f-a22317ac00ce 3
|
|
</code></pre>
|
|
|
|
<p>Scales the service to its current <code class="prettyprint">target_num_containers</code> field.</p>
|
|
|
|
<h3 id="endpoint-type">Endpoint Type</h3>
|
|
|
|
<p>Available in Docker Cloud’s <strong>REST API</strong></p>
|
|
|
|
<h3 id="http-request">HTTP Request</h3>
|
|
|
|
<p><code class="prettyprint">POST /api/app/v1/[optional_namespace/]service/(uuid)/scale/</code></p>
|
|
|
|
<h3 id="path-parameters">Path Parameters</h3>
|
|
|
|
<table><thead>
|
|
<tr>
|
|
<th>Parameter</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
</thead><tbody>
|
|
<tr>
|
|
<td>uuid</td>
|
|
<td>The UUID of the service to scale</td>
|
|
</tr>
|
|
</tbody></table>
|
|
|
|
<h2 id="redeploy-a-service">Redeploy a service</h2>
|
|
<pre class="highlight python"><code><span class="kn">import</span> <span class="nn">dockercloud</span>
|
|
|
|
<span class="n">service</span> <span class="o">=</span> <span class="n">dockercloud</span><span class="o">.</span><span class="n">Service</span><span class="o">.</span><span class="n">fetch</span><span class="p">(</span><span class="s">"7eaf7fff-882c-4f3d-9a8f-a22317ac00ce"</span><span class="p">)</span>
|
|
<span class="n">service</span><span class="o">.</span><span class="n">redeploy</span><span class="p">()</span>
|
|
</code></pre>
|
|
<pre class="highlight go"><code><span class="k">import</span><span class="x"> </span><span class="s">"github.com/docker/go-dockercloud/dockercloud"</span><span class="x">
|
|
|
|
</span><span class="n">service</span><span class="p">,</span><span class="x"> </span><span class="n">err</span><span class="x"> </span><span class="o">:=</span><span class="x"> </span><span class="n">dockercloud</span><span class="o">.</span><span class="n">GetService</span><span class="p">(</span><span class="s">"7eaf7fff-882c-4f3d-9a8f-a22317ac00ce"</span><span class="p">)</span><span class="x">
|
|
|
|
</span><span class="k">if</span><span class="x"> </span><span class="n">err</span><span class="x"> </span><span class="o">!=</span><span class="x"> </span><span class="no">nil</span><span class="x"> </span><span class="p">{</span><span class="x">
|
|
</span><span class="n">log</span><span class="o">.</span><span class="n">Println</span><span class="p">(</span><span class="n">err</span><span class="p">)</span><span class="x">
|
|
</span><span class="p">}</span><span class="x">
|
|
|
|
</span><span class="c">//Redeploy(dockercloud.ReuseVolumesOption{Reuse: true}) to reuse the existing volumes</span><span class="x">
|
|
</span><span class="c">//Redeploy(dockercloud.ReuseVolumesOption{Reuse: false}) to not reuse the existing volumes</span><span class="x">
|
|
</span><span class="k">if</span><span class="x"> </span><span class="n">err</span><span class="x"> </span><span class="o">=</span><span class="x"> </span><span class="n">service</span><span class="o">.</span><span class="n">Redeploy</span><span class="p">(</span><span class="n">dockercloud</span><span class="o">.</span><span class="n">ReuseVolumesOption</span><span class="p">{</span><span class="n">Reuse</span><span class="o">:</span><span class="x"> </span><span class="no">false</span><span class="p">});</span><span class="x"> </span><span class="n">err</span><span class="x"> </span><span class="o">!=</span><span class="x"> </span><span class="no">nil</span><span class="x"> </span><span class="p">{</span><span class="x">
|
|
</span><span class="n">log</span><span class="o">.</span><span class="n">Println</span><span class="p">(</span><span class="n">err</span><span class="p">)</span><span class="x">
|
|
</span><span class="p">}</span><span class="x">
|
|
</span></code></pre>
|
|
<pre class="highlight http"><code><span class="nf">POST</span> <span class="nn">/api/app/v1/service/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/redeploy/</span> <span class="k">HTTP</span><span class="o">/</span><span class="m">1.1</span>
|
|
<span class="na">Host</span><span class="p">:</span> <span class="s">cloud.docker.com</span>
|
|
<span class="na">Authorization</span><span class="p">:</span> <span class="s">Basic dXNlcm5hbWU6YXBpa2V5</span>
|
|
<span class="na">Accept</span><span class="p">:</span> <span class="s">application/json</span>
|
|
</code></pre>
|
|
<pre class="highlight shell"><code>docker-cloud service redeploy 7eaf7fff
|
|
</code></pre>
|
|
|
|
<p>Redeploys all containers in the service with the current service configuration.</p>
|
|
|
|
<h3 id="endpoint-type">Endpoint Type</h3>
|
|
|
|
<p>Available in Docker Cloud’s <strong>REST API</strong></p>
|
|
|
|
<h3 id="http-request">HTTP Request</h3>
|
|
|
|
<p><code class="prettyprint">POST /api/app/v1/[optional_namespace/]service/(uuid)/redeploy/</code></p>
|
|
|
|
<h3 id="path-parameters">Path Parameters</h3>
|
|
|
|
<table><thead>
|
|
<tr>
|
|
<th>Parameter</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
</thead><tbody>
|
|
<tr>
|
|
<td>uuid</td>
|
|
<td>The UUID of the service to redeploy</td>
|
|
</tr>
|
|
</tbody></table>
|
|
|
|
<h3 id="query-parameters">Query Parameters</h3>
|
|
|
|
<table><thead>
|
|
<tr>
|
|
<th>Parameter</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
</thead><tbody>
|
|
<tr>
|
|
<td>reuse_volumes</td>
|
|
<td>Wheather to reuse container volumes for this redeploy operation or not (default: <code class="prettyprint">true</code>).</td>
|
|
</tr>
|
|
</tbody></table>
|
|
|
|
<h2 id="terminate-a-service">Terminate a service</h2>
|
|
<pre class="highlight python"><code><span class="kn">import</span> <span class="nn">dockercloud</span>
|
|
|
|
<span class="n">service</span> <span class="o">=</span> <span class="n">dockercloud</span><span class="o">.</span><span class="n">Service</span><span class="o">.</span><span class="n">fetch</span><span class="p">(</span><span class="s">"7eaf7fff-882c-4f3d-9a8f-a22317ac00ce"</span><span class="p">)</span>
|
|
<span class="n">service</span><span class="o">.</span><span class="n">delete</span><span class="p">()</span>
|
|
</code></pre>
|
|
<pre class="highlight go"><code><span class="k">import</span><span class="x"> </span><span class="s">"github.com/docker/go-dockercloud/dockercloud"</span><span class="x">
|
|
|
|
</span><span class="n">service</span><span class="p">,</span><span class="x"> </span><span class="n">err</span><span class="x"> </span><span class="o">:=</span><span class="x"> </span><span class="n">dockercloud</span><span class="o">.</span><span class="n">GetService</span><span class="p">(</span><span class="s">"7eaf7fff-882c-4f3d-9a8f-a22317ac00ce"</span><span class="p">)</span><span class="x">
|
|
|
|
</span><span class="k">if</span><span class="x"> </span><span class="n">err</span><span class="x"> </span><span class="o">!=</span><span class="x"> </span><span class="no">nil</span><span class="x"> </span><span class="p">{</span><span class="x">
|
|
</span><span class="n">log</span><span class="o">.</span><span class="n">Println</span><span class="p">(</span><span class="n">err</span><span class="p">)</span><span class="x">
|
|
</span><span class="p">}</span><span class="x">
|
|
|
|
</span><span class="k">if</span><span class="x"> </span><span class="n">err</span><span class="x"> </span><span class="o">=</span><span class="x"> </span><span class="n">service</span><span class="o">.</span><span class="n">Terminate</span><span class="p">();</span><span class="x"> </span><span class="n">err</span><span class="x"> </span><span class="o">!=</span><span class="x"> </span><span class="no">nil</span><span class="x"> </span><span class="p">{</span><span class="x">
|
|
</span><span class="n">log</span><span class="o">.</span><span class="n">Println</span><span class="p">(</span><span class="n">err</span><span class="p">)</span><span class="x">
|
|
</span><span class="p">}</span><span class="x">
|
|
</span></code></pre>
|
|
<pre class="highlight http"><code><span class="nf">DELETE</span> <span class="nn">/api/app/v1/service/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/</span> <span class="k">HTTP</span><span class="o">/</span><span class="m">1.1</span>
|
|
<span class="na">Host</span><span class="p">:</span> <span class="s">cloud.docker.com</span>
|
|
<span class="na">Authorization</span><span class="p">:</span> <span class="s">Basic dXNlcm5hbWU6YXBpa2V5</span>
|
|
<span class="na">Accept</span><span class="p">:</span> <span class="s">application/json</span>
|
|
</code></pre>
|
|
<pre class="highlight shell"><code>docker-cloud service terminate 7eaf7fff
|
|
</code></pre>
|
|
|
|
<p>Terminate all the containers in a service and the service itself. This is not reversible. All the data stored in all containers of the service will be permanently deleted.</p>
|
|
|
|
<h3 id="endpoint-type">Endpoint Type</h3>
|
|
|
|
<p>Available in Docker Cloud’s <strong>REST API</strong></p>
|
|
|
|
<h3 id="http-request">HTTP Request</h3>
|
|
|
|
<p><code class="prettyprint">DELETE /api/app/v1/[optional_namespace/]service/(uuid)/</code></p>
|
|
|
|
<h3 id="path-parameters">Path Parameters</h3>
|
|
|
|
<table><thead>
|
|
<tr>
|
|
<th>Parameter</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
</thead><tbody>
|
|
<tr>
|
|
<td>uuid</td>
|
|
<td>The UUID of the service to terminate</td>
|
|
</tr>
|
|
</tbody></table>
|
|
|
|
</div>
|
|
<div class="dark-box">
|
|
</div>
|
|
</div>
|
|
<div class="google-analytics">
|
|
<!-- Google Tag Manager -->
|
|
<noscript>
|
|
<iframe src="//www.googletagmanager.com/ns.html?id=GTM-WLGFZV"
|
|
height="0" width="0" style="display:none;visibility:hidden"></iframe>
|
|
</noscript>
|
|
<script>
|
|
(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
|
|
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
|
|
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
|
|
'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
|
|
})(window,document,'script','dataLayer','GTM-WLGFZV');
|
|
</script>
|
|
<!-- End Google Tag Manager -->
|
|
</div>
|
|
</body>
|
|
</html>
|