|
@@ -1,12836 +0,0 @@
|
|
|
-diff --git a/docs/sources/articles.md b/docs/sources/articles.md
|
|
|
-index da5a2d2..48654b0 100644
|
|
|
---- a/docs/sources/articles.md
|
|
|
-+++ b/docs/sources/articles.md
|
|
|
-@@ -1,8 +1,7 @@
|
|
|
--# Articles
|
|
|
-
|
|
|
--## Contents:
|
|
|
-+# Articles
|
|
|
-
|
|
|
--- [Docker Security](security/)
|
|
|
--- [Create a Base Image](baseimages/)
|
|
|
--- [Runtime Metrics](runmetrics/)
|
|
|
-+- [Docker Security](security/)
|
|
|
-+- [Create a Base Image](baseimages/)
|
|
|
-+- [Runtime Metrics](runmetrics/)
|
|
|
-
|
|
|
-diff --git a/docs/sources/articles/runmetrics.md b/docs/sources/articles/runmetrics.md
|
|
|
-index 1a832d1..2372282 100644
|
|
|
---- a/docs/sources/articles/runmetrics.md
|
|
|
-+++ b/docs/sources/articles/runmetrics.md
|
|
|
-@@ -56,7 +56,7 @@ ID or long ID of the container. If a container shows up as ae836c95b4c3
|
|
|
- in `docker ps`, its long ID might be something like
|
|
|
- `ae836c95b4c3c9e9179e0e91015512da89fdec91612f63cebae57df9a5444c79`{.docutils
|
|
|
- .literal}. You can look it up with `docker inspect`
|
|
|
--or `docker ps -notrunc`.
|
|
|
-+or `docker ps --no-trunc`.
|
|
|
-
|
|
|
- Putting everything together to look at the memory metrics for a Docker
|
|
|
- container, take a look at
|
|
|
-diff --git a/docs/sources/articles/security.md b/docs/sources/articles/security.md
|
|
|
-index 23d595f..13917f0 100644
|
|
|
---- a/docs/sources/articles/security.md
|
|
|
-+++ b/docs/sources/articles/security.md
|
|
|
-@@ -5,7 +5,7 @@ page_keywords: Docker, Docker documentation, security
|
|
|
- # Docker Security
|
|
|
-
|
|
|
- > *Adapted from* [Containers & Docker: How Secure are
|
|
|
--> They?](blogsecurity)
|
|
|
-+> They?](http://blog.docker.io/2013/08/containers-docker-how-secure-are-they/)
|
|
|
-
|
|
|
- There are three major areas to consider when reviewing Docker security:
|
|
|
-
|
|
|
-@@ -255,4 +255,4 @@ with Docker, since everything is provided by the kernel anyway.
|
|
|
-
|
|
|
- For more context and especially for comparisons with VMs and other
|
|
|
- container systems, please also see the [original blog
|
|
|
--post](blogsecurity).
|
|
|
-+post](http://blog.docker.io/2013/08/containers-docker-how-secure-are-they/).
|
|
|
-diff --git a/docs/sources/contributing.md b/docs/sources/contributing.md
|
|
|
-index b311d13..0a31cb2 100644
|
|
|
---- a/docs/sources/contributing.md
|
|
|
-+++ b/docs/sources/contributing.md
|
|
|
-@@ -1,7 +1,6 @@
|
|
|
--# Contributing
|
|
|
-
|
|
|
--## Contents:
|
|
|
-+# Contributing
|
|
|
-
|
|
|
--- [Contributing to Docker](contributing/)
|
|
|
--- [Setting Up a Dev Environment](devenvironment/)
|
|
|
-+- [Contributing to Docker](contributing/)
|
|
|
-+- [Setting Up a Dev Environment](devenvironment/)
|
|
|
-
|
|
|
-diff --git a/docs/sources/contributing/devenvironment.md b/docs/sources/contributing/devenvironment.md
|
|
|
-index 3b77acf..76df680 100644
|
|
|
---- a/docs/sources/contributing/devenvironment.md
|
|
|
-+++ b/docs/sources/contributing/devenvironment.md
|
|
|
-@@ -10,7 +10,7 @@ used for all tests, builds and releases. The standard development
|
|
|
- environment defines all build dependencies: system libraries and
|
|
|
- binaries, go environment, go dependencies, etc.
|
|
|
-
|
|
|
--## Install Docker
|
|
|
-+## Step 1: Install Docker
|
|
|
-
|
|
|
- Docker’s build environment itself is a Docker container, so the first
|
|
|
- step is to install Docker on your system.
|
|
|
-@@ -20,7 +20,7 @@ system](https://docs.docker.io/en/latest/installation/). Make sure you
|
|
|
- have a working, up-to-date docker installation, then continue to the
|
|
|
- next step.
|
|
|
-
|
|
|
--## Install tools used for this tutorial
|
|
|
-+## Step 2: Install tools used for this tutorial
|
|
|
-
|
|
|
- Install `git`; honest, it’s very good. You can use
|
|
|
- other ways to get the Docker source, but they’re not anywhere near as
|
|
|
-@@ -30,7 +30,7 @@ Install `make`. This tutorial uses our base Makefile
|
|
|
- to kick off the docker containers in a repeatable and consistent way.
|
|
|
- Again, you can do it in other ways but you need to do more work.
|
|
|
-
|
|
|
--## Check out the Source
|
|
|
-+## Step 3: Check out the Source
|
|
|
-
|
|
|
- git clone http://git@github.com/dotcloud/docker
|
|
|
- cd docker
|
|
|
-@@ -38,7 +38,7 @@ Again, you can do it in other ways but you need to do more work.
|
|
|
- To checkout a different revision just use `git checkout`{.docutils
|
|
|
- .literal} with the name of branch or revision number.
|
|
|
-
|
|
|
--## Build the Environment
|
|
|
-+## Step 4: Build the Environment
|
|
|
-
|
|
|
- This following command will build a development environment using the
|
|
|
- Dockerfile in the current directory. Essentially, it will install all
|
|
|
-@@ -50,7 +50,7 @@ This command will take some time to complete when you first execute it.
|
|
|
- If the build is successful, congratulations! You have produced a clean
|
|
|
- build of docker, neatly encapsulated in a standard build environment.
|
|
|
-
|
|
|
--## Build the Docker Binary
|
|
|
-+## Step 5: Build the Docker Binary
|
|
|
-
|
|
|
- To create the Docker binary, run this command:
|
|
|
-
|
|
|
-@@ -73,7 +73,7 @@ Note
|
|
|
- Its safer to run the tests below before swapping your hosts docker
|
|
|
- binary.
|
|
|
-
|
|
|
--## Run the Tests
|
|
|
-+## Step 5: Run the Tests
|
|
|
-
|
|
|
- To execute the test cases, run this command:
|
|
|
-
|
|
|
-@@ -114,7 +114,7 @@ eg.
|
|
|
-
|
|
|
- > TESTFLAGS=’-run \^TestBuild\$’ make test
|
|
|
-
|
|
|
--## Use Docker
|
|
|
-+## Step 6: Use Docker
|
|
|
-
|
|
|
- You can run an interactive session in the newly built container:
|
|
|
-
|
|
|
-@@ -122,7 +122,7 @@ You can run an interactive session in the newly built container:
|
|
|
-
|
|
|
- # type 'exit' or Ctrl-D to exit
|
|
|
-
|
|
|
--## Build And View The Documentation
|
|
|
-+## Extra Step: Build and view the Documentation
|
|
|
-
|
|
|
- If you want to read the documentation from a local website, or are
|
|
|
- making changes to it, you can build the documentation and then serve it
|
|
|
-diff --git a/docs/sources/examples.md b/docs/sources/examples.md
|
|
|
-index 98b3d25..81ad1de 100644
|
|
|
---- a/docs/sources/examples.md
|
|
|
-+++ b/docs/sources/examples.md
|
|
|
-@@ -1,25 +1,23 @@
|
|
|
-
|
|
|
- # Examples
|
|
|
-
|
|
|
--## Introduction:
|
|
|
--
|
|
|
- Here are some examples of how to use Docker to create running processes,
|
|
|
- starting from a very simple *Hello World* and progressing to more
|
|
|
- substantial services like those which you might find in production.
|
|
|
-
|
|
|
--## Contents:
|
|
|
--
|
|
|
--- [Check your Docker install](hello_world/)
|
|
|
--- [Hello World](hello_world/#hello-world)
|
|
|
--- [Hello World Daemon](hello_world/#hello-world-daemon)
|
|
|
--- [Node.js Web App](nodejs_web_app/)
|
|
|
--- [Redis Service](running_redis_service/)
|
|
|
--- [SSH Daemon Service](running_ssh_service/)
|
|
|
--- [CouchDB Service](couchdb_data_volumes/)
|
|
|
--- [PostgreSQL Service](postgresql_service/)
|
|
|
--- [Building an Image with MongoDB](mongodb/)
|
|
|
--- [Riak Service](running_riak_service/)
|
|
|
--- [Using Supervisor with Docker](using_supervisord/)
|
|
|
--- [Process Management with CFEngine](cfengine_process_management/)
|
|
|
--- [Python Web App](python_web_app/)
|
|
|
-+- [Check your Docker install](hello_world/)
|
|
|
-+- [Hello World](hello_world/#hello-world)
|
|
|
-+- [Hello World Daemon](hello_world/#hello-world-daemon)
|
|
|
-+- [Node.js Web App](nodejs_web_app/)
|
|
|
-+- [Redis Service](running_redis_service/)
|
|
|
-+- [SSH Daemon Service](running_ssh_service/)
|
|
|
-+- [CouchDB Service](couchdb_data_volumes/)
|
|
|
-+- [PostgreSQL Service](postgresql_service/)
|
|
|
-+- [Building an Image with MongoDB](mongodb/)
|
|
|
-+- [Riak Service](running_riak_service/)
|
|
|
-+- [Using Supervisor with Docker](using_supervisord/)
|
|
|
-+- [Process Management with CFEngine](cfengine_process_management/)
|
|
|
-+- [Python Web App](python_web_app/)
|
|
|
-+- [Apt-Cacher-ng Service](apt-cacher-ng/)
|
|
|
-+- [Running Docker with https](https/)
|
|
|
-
|
|
|
-diff --git a/docs/sources/examples/couchdb_data_volumes.md b/docs/sources/examples/couchdb_data_volumes.md
|
|
|
-index c4d478e..9665bb0 100644
|
|
|
---- a/docs/sources/examples/couchdb_data_volumes.md
|
|
|
-+++ b/docs/sources/examples/couchdb_data_volumes.md
|
|
|
-@@ -11,6 +11,8 @@ Note
|
|
|
- install*](../hello_world/#running-examples).
|
|
|
- - **If you don’t like sudo** then see [*Giving non-root
|
|
|
- access*](../../installation/binaries/#dockergroup)
|
|
|
-+- **If you’re using OS X or docker via TCP** then you shouldn’t use
|
|
|
-+ sudo
|
|
|
-
|
|
|
- Here’s an example of using data volumes to share the same data between
|
|
|
- two CouchDB containers. This could be used for hot upgrades, testing
|
|
|
-diff --git a/docs/sources/examples/hello_world.md b/docs/sources/examples/hello_world.md
|
|
|
-index 8f2ae58..a9b0d7d 100644
|
|
|
---- a/docs/sources/examples/hello_world.md
|
|
|
-+++ b/docs/sources/examples/hello_world.md
|
|
|
-@@ -2,7 +2,7 @@ page_title: Hello world example
|
|
|
- page_description: A simple hello world example with Docker
|
|
|
- page_keywords: docker, example, hello world
|
|
|
-
|
|
|
--# Check your Docker installation
|
|
|
-+# Check your Docker install
|
|
|
-
|
|
|
- This guide assumes you have a working installation of Docker. To check
|
|
|
- your Docker install, run the following command:
|
|
|
-@@ -18,7 +18,7 @@ privileges to access docker on your machine.
|
|
|
- Please refer to [*Installation*](../../installation/#installation-list)
|
|
|
- for installation instructions.
|
|
|
-
|
|
|
--## Hello World
|
|
|
-+# Hello World
|
|
|
-
|
|
|
- Note
|
|
|
-
|
|
|
-@@ -27,6 +27,8 @@ Note
|
|
|
- install*](#running-examples).
|
|
|
- - **If you don’t like sudo** then see [*Giving non-root
|
|
|
- access*](../../installation/binaries/#dockergroup)
|
|
|
-+- **If you’re using OS X or docker via TCP** then you shouldn’t use
|
|
|
-+ sudo
|
|
|
-
|
|
|
- This is the most basic example available for using Docker.
|
|
|
-
|
|
|
-@@ -59,7 +61,9 @@ standard out.
|
|
|
-
|
|
|
- See the example in action
|
|
|
-
|
|
|
--## Hello World Daemon
|
|
|
-+* * * * *
|
|
|
-+
|
|
|
-+# Hello World Daemon
|
|
|
-
|
|
|
- Note
|
|
|
-
|
|
|
-@@ -68,6 +72,8 @@ Note
|
|
|
- install*](#running-examples).
|
|
|
- - **If you don’t like sudo** then see [*Giving non-root
|
|
|
- access*](../../installation/binaries/#dockergroup)
|
|
|
-+- **If you’re using OS X or docker via TCP** then you shouldn’t use
|
|
|
-+ sudo
|
|
|
-
|
|
|
- And now for the most boring daemon ever written!
|
|
|
-
|
|
|
-@@ -77,7 +83,7 @@ continue to do this until we stop it.
|
|
|
-
|
|
|
- **Steps:**
|
|
|
-
|
|
|
-- CONTAINER_ID=$(sudo docker run -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done")
|
|
|
-+ container_id=$(sudo docker run -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done")
|
|
|
-
|
|
|
- We are going to run a simple hello world daemon in a new container made
|
|
|
- from the `ubuntu` image.
|
|
|
-@@ -89,31 +95,31 @@ from the `ubuntu` image.
|
|
|
- - **“while true; do echo hello world; sleep 1; done”** is the mini
|
|
|
- script we want to run, that will just print hello world once a
|
|
|
- second until we stop it.
|
|
|
--- **\$CONTAINER\_ID** the output of the run command will return a
|
|
|
-+- **\$container\_id** the output of the run command will return a
|
|
|
- container id, we can use in future commands to see what is going on
|
|
|
- with this process.
|
|
|
-
|
|
|
- <!-- -->
|
|
|
-
|
|
|
-- sudo docker logs $CONTAINER_ID
|
|
|
-+ sudo docker logs $container_id
|
|
|
-
|
|
|
- Check the logs make sure it is working correctly.
|
|
|
-
|
|
|
- - **“docker logs**” This will return the logs for a container
|
|
|
--- **\$CONTAINER\_ID** The Id of the container we want the logs for.
|
|
|
-+- **\$container\_id** The Id of the container we want the logs for.
|
|
|
-
|
|
|
- <!-- -->
|
|
|
-
|
|
|
-- sudo docker attach -sig-proxy=false $CONTAINER_ID
|
|
|
-+ sudo docker attach --sig-proxy=false $container_id
|
|
|
-
|
|
|
- Attach to the container to see the results in real-time.
|
|
|
-
|
|
|
- - **“docker attach**” This will allow us to attach to a background
|
|
|
- process to see what is going on.
|
|
|
--- **“-sig-proxy=false”** Do not forward signals to the container;
|
|
|
-+- **“–sig-proxy=false”** Do not forward signals to the container;
|
|
|
- allows us to exit the attachment using Control-C without stopping
|
|
|
- the container.
|
|
|
--- **\$CONTAINER\_ID** The Id of the container we want to attach too.
|
|
|
-+- **\$container\_id** The Id of the container we want to attach too.
|
|
|
-
|
|
|
- Exit from the container attachment by pressing Control-C.
|
|
|
-
|
|
|
-@@ -125,12 +131,12 @@ Check the process list to make sure it is running.
|
|
|
-
|
|
|
- <!-- -->
|
|
|
-
|
|
|
-- sudo docker stop $CONTAINER_ID
|
|
|
-+ sudo docker stop $container_id
|
|
|
-
|
|
|
- Stop the container, since we don’t need it anymore.
|
|
|
-
|
|
|
- - **“docker stop”** This stops a container
|
|
|
--- **\$CONTAINER\_ID** The Id of the container we want to stop.
|
|
|
-+- **\$container\_id** The Id of the container we want to stop.
|
|
|
-
|
|
|
- <!-- -->
|
|
|
-
|
|
|
-diff --git a/docs/sources/examples/mongodb.md b/docs/sources/examples/mongodb.md
|
|
|
-index 6612bf3..3708c18 100644
|
|
|
---- a/docs/sources/examples/mongodb.md
|
|
|
-+++ b/docs/sources/examples/mongodb.md
|
|
|
-@@ -11,6 +11,8 @@ Note
|
|
|
- install*](../hello_world/#running-examples).
|
|
|
- - **If you don’t like sudo** then see [*Giving non-root
|
|
|
- access*](../../installation/binaries/#dockergroup)
|
|
|
-+- **If you’re using OS X or docker via TCP** then you shouldn’t use
|
|
|
-+ sudo
|
|
|
-
|
|
|
- The goal of this example is to show how you can build your own Docker
|
|
|
- images with MongoDB pre-installed. We will do that by constructing a
|
|
|
-@@ -43,7 +45,7 @@ we’ll divert `/sbin/initctl` to
|
|
|
-
|
|
|
- # Hack for initctl not being available in Ubuntu
|
|
|
- RUN dpkg-divert --local --rename --add /sbin/initctl
|
|
|
-- RUN ln -s /bin/true /sbin/initctl
|
|
|
-+ RUN ln -sf /bin/true /sbin/initctl
|
|
|
-
|
|
|
- Afterwards we’ll be able to update our apt repositories and install
|
|
|
- MongoDB
|
|
|
-@@ -75,10 +77,10 @@ Now you should be able to run `mongod` as a daemon
|
|
|
- and be able to connect on the local port!
|
|
|
-
|
|
|
- # Regular style
|
|
|
-- MONGO_ID=$(sudo docker run -d <yourname>/mongodb)
|
|
|
-+ MONGO_ID=$(sudo docker run -P -d <yourname>/mongodb)
|
|
|
-
|
|
|
- # Lean and mean
|
|
|
-- MONGO_ID=$(sudo docker run -d <yourname>/mongodb --noprealloc --smallfiles)
|
|
|
-+ MONGO_ID=$(sudo docker run -P -d <yourname>/mongodb --noprealloc --smallfiles)
|
|
|
-
|
|
|
- # Check the logs out
|
|
|
- sudo docker logs $MONGO_ID
|
|
|
-diff --git a/docs/sources/examples/nodejs_web_app.md b/docs/sources/examples/nodejs_web_app.md
|
|
|
-index 8d692d8..59e6c77 100644
|
|
|
---- a/docs/sources/examples/nodejs_web_app.md
|
|
|
-+++ b/docs/sources/examples/nodejs_web_app.md
|
|
|
-@@ -11,6 +11,8 @@ Note
|
|
|
- install*](../hello_world/#running-examples).
|
|
|
- - **If you don’t like sudo** then see [*Giving non-root
|
|
|
- access*](../../installation/binaries/#dockergroup)
|
|
|
-+- **If you’re using OS X or docker via TCP** then you shouldn’t use
|
|
|
-+ sudo
|
|
|
-
|
|
|
- The goal of this example is to show you how you can build your own
|
|
|
- Docker images from a parent image using a `Dockerfile`{.docutils
|
|
|
-@@ -82,7 +84,7 @@ CentOS, we’ll use the instructions from the [Node.js
|
|
|
- wiki](https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager#rhelcentosscientific-linux-6):
|
|
|
-
|
|
|
- # Enable EPEL for Node.js
|
|
|
-- RUN rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
|
|
|
-+ RUN rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
|
|
|
- # Install Node.js and npm
|
|
|
- RUN yum install -y npm
|
|
|
-
|
|
|
-diff --git a/docs/sources/examples/postgresql_service.md b/docs/sources/examples/postgresql_service.md
|
|
|
-index 211dcb2..b87d121 100644
|
|
|
---- a/docs/sources/examples/postgresql_service.md
|
|
|
-+++ b/docs/sources/examples/postgresql_service.md
|
|
|
-@@ -11,6 +11,8 @@ Note
|
|
|
- install*](../hello_world/#running-examples).
|
|
|
- - **If you don’t like sudo** then see [*Giving non-root
|
|
|
- access*](../../installation/binaries/#dockergroup)
|
|
|
-+- **If you’re using OS X or docker via TCP** then you shouldn’t use
|
|
|
-+ sudo
|
|
|
-
|
|
|
- ## Installing PostgreSQL on Docker
|
|
|
-
|
|
|
-@@ -34,7 +36,7 @@ suitably secure.
|
|
|
-
|
|
|
- # Add the PostgreSQL PGP key to verify their Debian packages.
|
|
|
- # It should be the same key as https://www.postgresql.org/media/keys/ACCC4CF8.asc
|
|
|
-- RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8
|
|
|
-+ RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8
|
|
|
-
|
|
|
- # Add PostgreSQL's repository. It contains the most recent stable release
|
|
|
- # of PostgreSQL, ``9.3``.
|
|
|
-@@ -85,7 +87,7 @@ Build an image from the Dockerfile assign it a name.
|
|
|
-
|
|
|
- And run the PostgreSQL server container (in the foreground):
|
|
|
-
|
|
|
-- $ sudo docker run -rm -P -name pg_test eg_postgresql
|
|
|
-+ $ sudo docker run --rm -P --name pg_test eg_postgresql
|
|
|
-
|
|
|
- There are 2 ways to connect to the PostgreSQL server. We can use [*Link
|
|
|
- Containers*](../../use/working_with_links_names/#working-with-links-names),
|
|
|
-@@ -93,17 +95,17 @@ or we can access it from our host (or the network).
|
|
|
-
|
|
|
- Note
|
|
|
-
|
|
|
--The `-rm` removes the container and its image when
|
|
|
-+The `--rm` removes the container and its image when
|
|
|
- the container exists successfully.
|
|
|
-
|
|
|
- ### Using container linking
|
|
|
-
|
|
|
- Containers can be linked to another container’s ports directly using
|
|
|
--`-link remote_name:local_alias` in the client’s
|
|
|
-+`--link remote_name:local_alias` in the client’s
|
|
|
- `docker run`. This will set a number of environment
|
|
|
- variables that can then be used to connect:
|
|
|
-
|
|
|
-- $ sudo docker run -rm -t -i -link pg_test:pg eg_postgresql bash
|
|
|
-+ $ sudo docker run --rm -t -i --link pg_test:pg eg_postgresql bash
|
|
|
-
|
|
|
- postgres@7ef98b1b7243:/$ psql -h $PG_PORT_5432_TCP_ADDR -p $PG_PORT_5432_TCP_PORT -d docker -U docker --password
|
|
|
-
|
|
|
-@@ -145,7 +147,7 @@ prompt, you can create a table and populate it.
|
|
|
- You can use the defined volumes to inspect the PostgreSQL log files and
|
|
|
- to backup your configuration and data:
|
|
|
-
|
|
|
-- docker run -rm --volumes-from pg_test -t -i busybox sh
|
|
|
-+ docker run --rm --volumes-from pg_test -t -i busybox sh
|
|
|
-
|
|
|
- / # ls
|
|
|
- bin etc lib linuxrc mnt proc run sys usr
|
|
|
-diff --git a/docs/sources/examples/python_web_app.md b/docs/sources/examples/python_web_app.md
|
|
|
-index b5854a4..8c0d783 100644
|
|
|
---- a/docs/sources/examples/python_web_app.md
|
|
|
-+++ b/docs/sources/examples/python_web_app.md
|
|
|
-@@ -11,6 +11,8 @@ Note
|
|
|
- install*](../hello_world/#running-examples).
|
|
|
- - **If you don’t like sudo** then see [*Giving non-root
|
|
|
- access*](../../installation/binaries/#dockergroup)
|
|
|
-+- **If you’re using OS X or docker via TCP** then you shouldn’t use
|
|
|
-+ sudo
|
|
|
-
|
|
|
- While using Dockerfiles is the preferred way to create maintainable and
|
|
|
- repeatable images, its useful to know how you can try things out and
|
|
|
-@@ -52,7 +54,7 @@ the `$URL` variable. The container is given a name
|
|
|
- While this example is simple, you could run any number of interactive
|
|
|
- commands, try things out, and then exit when you’re done.
|
|
|
-
|
|
|
-- $ sudo docker run -i -t -name pybuilder_run shykes/pybuilder bash
|
|
|
-+ $ sudo docker run -i -t --name pybuilder_run shykes/pybuilder bash
|
|
|
-
|
|
|
- $$ URL=http://github.com/shykes/helloflask/archive/master.tar.gz
|
|
|
- $$ /usr/local/bin/buildapp $URL
|
|
|
-diff --git a/docs/sources/examples/running_redis_service.md b/docs/sources/examples/running_redis_service.md
|
|
|
-index 81114e6..c0511a9 100644
|
|
|
---- a/docs/sources/examples/running_redis_service.md
|
|
|
-+++ b/docs/sources/examples/running_redis_service.md
|
|
|
-@@ -11,6 +11,8 @@ Note
|
|
|
- install*](../hello_world/#running-examples).
|
|
|
- - **If you don’t like sudo** then see [*Giving non-root
|
|
|
- access*](../../installation/binaries/#dockergroup)
|
|
|
-+- **If you’re using OS X or docker via TCP** then you shouldn’t use
|
|
|
-+ sudo
|
|
|
-
|
|
|
- Very simple, no frills, Redis service attached to a web application
|
|
|
- using a link.
|
|
|
-@@ -20,11 +22,11 @@ using a link.
|
|
|
- Firstly, we create a `Dockerfile` for our new Redis
|
|
|
- image.
|
|
|
-
|
|
|
-- FROM ubuntu:12.10
|
|
|
-- RUN apt-get update
|
|
|
-- RUN apt-get -y install redis-server
|
|
|
-+ FROM debian:jessie
|
|
|
-+ RUN apt-get update && apt-get install -y redis-server
|
|
|
- EXPOSE 6379
|
|
|
- ENTRYPOINT ["/usr/bin/redis-server"]
|
|
|
-+ CMD ["--bind", "0.0.0.0"]
|
|
|
-
|
|
|
- Next we build an image from our `Dockerfile`.
|
|
|
- Replace `<your username>` with your own user name.
|
|
|
-@@ -48,7 +50,7 @@ database.
|
|
|
- ## Create your web application container
|
|
|
-
|
|
|
- Next we can create a container for our application. We’re going to use
|
|
|
--the `-link` flag to create a link to the
|
|
|
-+the `--link` flag to create a link to the
|
|
|
- `redis` container we’ve just created with an alias
|
|
|
- of `db`. This will create a secure tunnel to the
|
|
|
- `redis` container and expose the Redis instance
|
|
|
-diff --git a/docs/sources/examples/running_riak_service.md b/docs/sources/examples/running_riak_service.md
|
|
|
-index e7171d8..c1b95e7 100644
|
|
|
---- a/docs/sources/examples/running_riak_service.md
|
|
|
-+++ b/docs/sources/examples/running_riak_service.md
|
|
|
-@@ -11,6 +11,8 @@ Note
|
|
|
- install*](../hello_world/#running-examples).
|
|
|
- - **If you don’t like sudo** then see [*Giving non-root
|
|
|
- access*](../../installation/binaries/#dockergroup)
|
|
|
-+- **If you’re using OS X or docker via TCP** then you shouldn’t use
|
|
|
-+ sudo
|
|
|
-
|
|
|
- The goal of this example is to show you how to build a Docker image with
|
|
|
- Riak pre-installed.
|
|
|
-@@ -85,7 +87,7 @@ Almost there. Next, we add a hack to get us by the lack of
|
|
|
- # Hack for initctl
|
|
|
- # See: https://github.com/dotcloud/docker/issues/1024
|
|
|
- RUN dpkg-divert --local --rename --add /sbin/initctl
|
|
|
-- RUN ln -s /bin/true /sbin/initctl
|
|
|
-+ RUN ln -sf /bin/true /sbin/initctl
|
|
|
-
|
|
|
- Then, we expose the Riak Protocol Buffers and HTTP interfaces, along
|
|
|
- with SSH:
|
|
|
-diff --git a/docs/sources/examples/running_ssh_service.md b/docs/sources/examples/running_ssh_service.md
|
|
|
-index 112b9fa..2a0acfa 100644
|
|
|
---- a/docs/sources/examples/running_ssh_service.md
|
|
|
-+++ b/docs/sources/examples/running_ssh_service.md
|
|
|
-@@ -4,12 +4,15 @@ page_keywords: docker, example, package installation, networking
|
|
|
-
|
|
|
- # SSH Daemon Service
|
|
|
-
|
|
|
--> **Note:**
|
|
|
--> - This example assumes you have Docker running in daemon mode. For
|
|
|
--> more information please see [*Check your Docker
|
|
|
--> install*](../hello_world/#running-examples).
|
|
|
--> - **If you don’t like sudo** then see [*Giving non-root
|
|
|
--> access*](../../installation/binaries/#dockergroup)
|
|
|
-+Note
|
|
|
-+
|
|
|
-+- This example assumes you have Docker running in daemon mode. For
|
|
|
-+ more information please see [*Check your Docker
|
|
|
-+ install*](../hello_world/#running-examples).
|
|
|
-+- **If you don’t like sudo** then see [*Giving non-root
|
|
|
-+ access*](../../installation/binaries/#dockergroup)
|
|
|
-+- **If you’re using OS X or docker via TCP** then you shouldn’t use
|
|
|
-+ sudo
|
|
|
-
|
|
|
- The following Dockerfile sets up an sshd service in a container that you
|
|
|
- can use to connect to and inspect other container’s volumes, or to get
|
|
|
-@@ -35,12 +38,12 @@ quick access to a test container.
|
|
|
-
|
|
|
- Build the image using:
|
|
|
-
|
|
|
-- $ sudo docker build -rm -t eg_sshd .
|
|
|
-+ $ sudo docker build -t eg_sshd .
|
|
|
-
|
|
|
- Then run it. You can then use `docker port` to find
|
|
|
- out what host port the container’s port 22 is mapped to:
|
|
|
-
|
|
|
-- $ sudo docker run -d -P -name test_sshd eg_sshd
|
|
|
-+ $ sudo docker run -d -P --name test_sshd eg_sshd
|
|
|
- $ sudo docker port test_sshd 22
|
|
|
- 0.0.0.0:49154
|
|
|
-
|
|
|
-diff --git a/docs/sources/examples/using_supervisord.md b/docs/sources/examples/using_supervisord.md
|
|
|
-index d64b300..8d6e796 100644
|
|
|
---- a/docs/sources/examples/using_supervisord.md
|
|
|
-+++ b/docs/sources/examples/using_supervisord.md
|
|
|
-@@ -11,6 +11,8 @@ Note
|
|
|
- install*](../hello_world/#running-examples).
|
|
|
- - **If you don’t like sudo** then see [*Giving non-root
|
|
|
- access*](../../installation/binaries/#dockergroup)
|
|
|
-+- **If you’re using OS X or docker via TCP** then you shouldn’t use
|
|
|
-+ sudo
|
|
|
-
|
|
|
- Traditionally a Docker container runs a single process when it is
|
|
|
- launched, for example an Apache daemon or a SSH server daemon. Often
|
|
|
-diff --git a/docs/sources/faq.md b/docs/sources/faq.md
|
|
|
-index 06da238..4977f73 100644
|
|
|
---- a/docs/sources/faq.md
|
|
|
-+++ b/docs/sources/faq.md
|
|
|
-@@ -1,122 +1,128 @@
|
|
|
-+page_title: FAQ
|
|
|
-+page_description: Most frequently asked questions.
|
|
|
-+page_keywords: faq, questions, documentation, docker
|
|
|
-+
|
|
|
- # FAQ
|
|
|
-
|
|
|
- ## Most frequently asked questions.
|
|
|
-
|
|
|
- ### How much does Docker cost?
|
|
|
-
|
|
|
--Docker is 100% free, it is open source, so you can use it without
|
|
|
--paying.
|
|
|
-+> Docker is 100% free, it is open source, so you can use it without
|
|
|
-+> paying.
|
|
|
-
|
|
|
- ### What open source license are you using?
|
|
|
-
|
|
|
--We are using the Apache License Version 2.0.
|
|
|
--You can see it [here](https://github.com/dotcloud/docker/blob/master/LICENSE).
|
|
|
-+> We are using the Apache License Version 2.0, see it here:
|
|
|
-+> [https://github.com/dotcloud/docker/blob/master/LICENSE](https://github.com/dotcloud/docker/blob/master/LICENSE)
|
|
|
-
|
|
|
- ### Does Docker run on Mac OS X or Windows?
|
|
|
-
|
|
|
--Not at this time, Docker currently only runs on Linux, but you can use
|
|
|
--VirtualBox to run Docker in a virtual machine on your box, and get the
|
|
|
--best of both worlds. Check out the [*Mac OSX*](../installation/mac/#macosx) and
|
|
|
--[*Windows*](../installation/windows/#windows) installation guides. The
|
|
|
--small Linux distribution *boot2docker* can be run inside virtual
|
|
|
--machines on these two operating systems.
|
|
|
-+> Not at this time, Docker currently only runs on Linux, but you can use
|
|
|
-+> VirtualBox to run Docker in a virtual machine on your box, and get the
|
|
|
-+> best of both worlds. Check out the [*Mac OS
|
|
|
-+> X*](../installation/mac/#macosx) and [*Microsoft
|
|
|
-+> Windows*](../installation/windows/#windows) installation guides. The
|
|
|
-+> small Linux distribution boot2docker can be run inside virtual
|
|
|
-+> machines on these two operating systems.
|
|
|
-
|
|
|
- ### How do containers compare to virtual machines?
|
|
|
-
|
|
|
--They are complementary. VMs are best used to allocate chunks of
|
|
|
--hardware resources. Containers operate at the process level, which
|
|
|
--makes them very lightweight and perfect as a unit of software
|
|
|
--delivery.
|
|
|
-+> They are complementary. VMs are best used to allocate chunks of
|
|
|
-+> hardware resources. Containers operate at the process level, which
|
|
|
-+> makes them very lightweight and perfect as a unit of software
|
|
|
-+> delivery.
|
|
|
-
|
|
|
- ### What does Docker add to just plain LXC?
|
|
|
-
|
|
|
--Docker is not a replacement for LXC. “LXC” refers to capabilities of
|
|
|
--the Linux kernel (specifically namespaces and control groups) which
|
|
|
--allow sandboxing processes from one another, and controlling their
|
|
|
--resource allocations. On top of this low-level foundation of kernel
|
|
|
--features, Docker offers a high-level tool with several powerful
|
|
|
--functionalities:
|
|
|
--
|
|
|
-- - **Portable deployment across machines:**
|
|
|
-- Docker defines a format for bundling an application and all
|
|
|
-- its dependencies into a single object which can be transferred
|
|
|
-- to any Docker-enabled machine, and executed there with the
|
|
|
-- guarantee that the execution environment exposed to the
|
|
|
-- application will be the same. LXC implements process
|
|
|
-- sandboxing, which is an important pre-requisite for portable
|
|
|
-- deployment, but that alone is not enough for portable
|
|
|
-- deployment. If you sent me a copy of your application
|
|
|
-- installed in a custom LXC configuration, it would almost
|
|
|
-- certainly not run on my machine the way it does on yours,
|
|
|
-- because it is tied to your machine’s specific configuration:
|
|
|
-- networking, storage, logging, distro, etc. Docker defines an
|
|
|
-- abstraction for these machine-specific settings, so that the
|
|
|
-- exact same Docker container can run - unchanged - on many
|
|
|
-- different machines, with many different configurations.
|
|
|
--
|
|
|
-- - **Application-centric:**
|
|
|
-- Docker is optimized for the deployment of applications, as
|
|
|
-- opposed to machines. This is reflected in its API, user
|
|
|
-- interface, design philosophy and documentation. By contrast,
|
|
|
-- the `lxc` helper scripts focus on
|
|
|
-- containers as lightweight machines - basically servers that
|
|
|
-- boot faster and need less RAM. We think there’s more to
|
|
|
-- containers than just that.
|
|
|
--
|
|
|
-- - **Automatic build:**
|
|
|
-- Docker includes [*a tool for developers to automatically
|
|
|
-- assemble a container from their source
|
|
|
-- code*](../reference/builder/#dockerbuilder), with full control
|
|
|
-- over application dependencies, build tools, packaging etc.
|
|
|
-- They are free to use
|
|
|
-- `make, maven, chef, puppet, salt,` Debian
|
|
|
-- packages, RPMs, source tarballs, or any combination of the
|
|
|
-- above, regardless of the configuration of the machines.
|
|
|
--
|
|
|
-- - **Versioning:**
|
|
|
-- Docker includes git-like capabilities for tracking successive
|
|
|
-- versions of a container, inspecting the diff between versions,
|
|
|
-- committing new versions, rolling back etc. The history also
|
|
|
-- includes how a container was assembled and by whom, so you get
|
|
|
-- full traceability from the production server all the way back
|
|
|
-- to the upstream developer. Docker also implements incremental
|
|
|
-- uploads and downloads, similar to `git pull`{.docutils
|
|
|
-- .literal}, so new versions of a container can be transferred
|
|
|
-- by only sending diffs.
|
|
|
--
|
|
|
-- - **Component re-use:**
|
|
|
-- Any container can be used as a [*“base
|
|
|
-- image”*](../terms/image/#base-image-def) to create more
|
|
|
-- specialized components. This can be done manually or as part
|
|
|
-- of an automated build. For example you can prepare the ideal
|
|
|
-- Python environment, and use it as a base for 10 different
|
|
|
-- applications. Your ideal Postgresql setup can be re-used for
|
|
|
-- all your future projects. And so on.
|
|
|
--
|
|
|
-- - **Sharing:**
|
|
|
-- Docker has access to a [public registry](http://index.docker.io)
|
|
|
-- where thousands of people have uploaded useful containers: anything
|
|
|
-- from Redis, CouchDB, Postgres to IRC bouncers to Rails app servers to
|
|
|
-- Hadoop to base images for various Linux distros. The
|
|
|
-- [*registry*](../reference/api/registry_index_spec/#registryindexspec)
|
|
|
-- also includes an official “standard library” of useful
|
|
|
-- containers maintained by the Docker team. The registry itself
|
|
|
-- is open-source, so anyone can deploy their own registry to
|
|
|
-- store and transfer private containers, for internal server
|
|
|
-- deployments for example.
|
|
|
--
|
|
|
-- - **Tool ecosystem:**
|
|
|
-- Docker defines an API for automating and customizing the
|
|
|
-- creation and deployment of containers. There are a huge number
|
|
|
-- of tools integrating with Docker to extend its capabilities.
|
|
|
-- PaaS-like deployment (Dokku, Deis, Flynn), multi-node
|
|
|
-- orchestration (Maestro, Salt, Mesos, Openstack Nova),
|
|
|
-- management dashboards (docker-ui, Openstack Horizon,
|
|
|
-- Shipyard), configuration management (Chef, Puppet), continuous
|
|
|
-- integration (Jenkins, Strider, Travis), etc. Docker is rapidly
|
|
|
-- establishing itself as the standard for container-based
|
|
|
-- tooling.
|
|
|
--
|
|
|
-+> Docker is not a replacement for LXC. “LXC” refers to capabilities of
|
|
|
-+> the Linux kernel (specifically namespaces and control groups) which
|
|
|
-+> allow sandboxing processes from one another, and controlling their
|
|
|
-+> resource allocations. On top of this low-level foundation of kernel
|
|
|
-+> features, Docker offers a high-level tool with several powerful
|
|
|
-+> functionalities:
|
|
|
-+>
|
|
|
-+> - *Portable deployment across machines.*
|
|
|
-+> : Docker defines a format for bundling an application and all
|
|
|
-+> its dependencies into a single object which can be transferred
|
|
|
-+> to any Docker-enabled machine, and executed there with the
|
|
|
-+> guarantee that the execution environment exposed to the
|
|
|
-+> application will be the same. LXC implements process
|
|
|
-+> sandboxing, which is an important pre-requisite for portable
|
|
|
-+> deployment, but that alone is not enough for portable
|
|
|
-+> deployment. If you sent me a copy of your application
|
|
|
-+> installed in a custom LXC configuration, it would almost
|
|
|
-+> certainly not run on my machine the way it does on yours,
|
|
|
-+> because it is tied to your machine’s specific configuration:
|
|
|
-+> networking, storage, logging, distro, etc. Docker defines an
|
|
|
-+> abstraction for these machine-specific settings, so that the
|
|
|
-+> exact same Docker container can run - unchanged - on many
|
|
|
-+> different machines, with many different configurations.
|
|
|
-+>
|
|
|
-+> - *Application-centric.*
|
|
|
-+> : Docker is optimized for the deployment of applications, as
|
|
|
-+> opposed to machines. This is reflected in its API, user
|
|
|
-+> interface, design philosophy and documentation. By contrast,
|
|
|
-+> the `lxc` helper scripts focus on
|
|
|
-+> containers as lightweight machines - basically servers that
|
|
|
-+> boot faster and need less RAM. We think there’s more to
|
|
|
-+> containers than just that.
|
|
|
-+>
|
|
|
-+> - *Automatic build.*
|
|
|
-+> : Docker includes [*a tool for developers to automatically
|
|
|
-+> assemble a container from their source
|
|
|
-+> code*](../reference/builder/#dockerbuilder), with full control
|
|
|
-+> over application dependencies, build tools, packaging etc.
|
|
|
-+> They are free to use
|
|
|
-+> `make, maven, chef, puppet, salt,` Debian
|
|
|
-+> packages, RPMs, source tarballs, or any combination of the
|
|
|
-+> above, regardless of the configuration of the machines.
|
|
|
-+>
|
|
|
-+> - *Versioning.*
|
|
|
-+> : Docker includes git-like capabilities for tracking successive
|
|
|
-+> versions of a container, inspecting the diff between versions,
|
|
|
-+> committing new versions, rolling back etc. The history also
|
|
|
-+> includes how a container was assembled and by whom, so you get
|
|
|
-+> full traceability from the production server all the way back
|
|
|
-+> to the upstream developer. Docker also implements incremental
|
|
|
-+> uploads and downloads, similar to `git pull`{.docutils
|
|
|
-+> .literal}, so new versions of a container can be transferred
|
|
|
-+> by only sending diffs.
|
|
|
-+>
|
|
|
-+> - *Component re-use.*
|
|
|
-+> : Any container can be used as a [*“base
|
|
|
-+> image”*](../terms/image/#base-image-def) to create more
|
|
|
-+> specialized components. This can be done manually or as part
|
|
|
-+> of an automated build. For example you can prepare the ideal
|
|
|
-+> Python environment, and use it as a base for 10 different
|
|
|
-+> applications. Your ideal Postgresql setup can be re-used for
|
|
|
-+> all your future projects. And so on.
|
|
|
-+>
|
|
|
-+> - *Sharing.*
|
|
|
-+> : Docker has access to a [public
|
|
|
-+> registry](http://index.docker.io) where thousands of people
|
|
|
-+> have uploaded useful containers: anything from Redis, CouchDB,
|
|
|
-+> Postgres to IRC bouncers to Rails app servers to Hadoop to
|
|
|
-+> base images for various Linux distros. The
|
|
|
-+> [*registry*](../reference/api/registry_index_spec/#registryindexspec)
|
|
|
-+> also includes an official “standard library” of useful
|
|
|
-+> containers maintained by the Docker team. The registry itself
|
|
|
-+> is open-source, so anyone can deploy their own registry to
|
|
|
-+> store and transfer private containers, for internal server
|
|
|
-+> deployments for example.
|
|
|
-+>
|
|
|
-+> - *Tool ecosystem.*
|
|
|
-+> : Docker defines an API for automating and customizing the
|
|
|
-+> creation and deployment of containers. There are a huge number
|
|
|
-+> of tools integrating with Docker to extend its capabilities.
|
|
|
-+> PaaS-like deployment (Dokku, Deis, Flynn), multi-node
|
|
|
-+> orchestration (Maestro, Salt, Mesos, Openstack Nova),
|
|
|
-+> management dashboards (docker-ui, Openstack Horizon,
|
|
|
-+> Shipyard), configuration management (Chef, Puppet), continuous
|
|
|
-+> integration (Jenkins, Strider, Travis), etc. Docker is rapidly
|
|
|
-+> establishing itself as the standard for container-based
|
|
|
-+> tooling.
|
|
|
-+>
|
|
|
- ### What is different between a Docker container and a VM?
|
|
|
-
|
|
|
- There’s a great StackOverflow answer [showing the
|
|
|
-@@ -159,22 +165,22 @@ here](http://docs.docker.io/en/latest/examples/using_supervisord/).
|
|
|
-
|
|
|
- ### What platforms does Docker run on?
|
|
|
-
|
|
|
--**Linux:**
|
|
|
-+Linux:
|
|
|
-
|
|
|
--- Ubuntu 12.04, 13.04 et al
|
|
|
--- Fedora 19/20+
|
|
|
--- RHEL 6.5+
|
|
|
--- Centos 6+
|
|
|
--- Gentoo
|
|
|
--- ArchLinux
|
|
|
--- openSUSE 12.3+
|
|
|
--- CRUX 3.0+
|
|
|
-+- Ubuntu 12.04, 13.04 et al
|
|
|
-+- Fedora 19/20+
|
|
|
-+- RHEL 6.5+
|
|
|
-+- Centos 6+
|
|
|
-+- Gentoo
|
|
|
-+- ArchLinux
|
|
|
-+- openSUSE 12.3+
|
|
|
-+- CRUX 3.0+
|
|
|
-
|
|
|
--**Cloud:**
|
|
|
-+Cloud:
|
|
|
-
|
|
|
--- Amazon EC2
|
|
|
--- Google Compute Engine
|
|
|
--- Rackspace
|
|
|
-+- Amazon EC2
|
|
|
-+- Google Compute Engine
|
|
|
-+- Rackspace
|
|
|
-
|
|
|
- ### How do I report a security issue with Docker?
|
|
|
-
|
|
|
-@@ -196,14 +202,17 @@ sources.
|
|
|
-
|
|
|
- ### Where can I find more answers?
|
|
|
-
|
|
|
--You can find more answers on:
|
|
|
--
|
|
|
--- [Docker user mailinglist](https://groups.google.com/d/forum/docker-user)
|
|
|
--- [Docker developer mailinglist](https://groups.google.com/d/forum/docker-dev)
|
|
|
--- [IRC, docker on freenode](irc://chat.freenode.net#docker)
|
|
|
--- [GitHub](http://www.github.com/dotcloud/docker)
|
|
|
--- [Ask questions on Stackoverflow](http://stackoverflow.com/search?q=docker)
|
|
|
--- [Join the conversation on Twitter](http://twitter.com/docker)
|
|
|
-+> You can find more answers on:
|
|
|
-+>
|
|
|
-+> - [Docker user
|
|
|
-+> mailinglist](https://groups.google.com/d/forum/docker-user)
|
|
|
-+> - [Docker developer
|
|
|
-+> mailinglist](https://groups.google.com/d/forum/docker-dev)
|
|
|
-+> - [IRC, docker on freenode](irc://chat.freenode.net#docker)
|
|
|
-+> - [GitHub](http://www.github.com/dotcloud/docker)
|
|
|
-+> - [Ask questions on
|
|
|
-+> Stackoverflow](http://stackoverflow.com/search?q=docker)
|
|
|
-+> - [Join the conversation on Twitter](http://twitter.com/docker)
|
|
|
-
|
|
|
- Looking for something else to read? Checkout the [*Hello
|
|
|
- World*](../examples/hello_world/#hello-world) example.
|
|
|
-diff --git a/docs/sources/genindex.md b/docs/sources/genindex.md
|
|
|
-index 8b013d6..e9bcd34 100644
|
|
|
---- a/docs/sources/genindex.md
|
|
|
-+++ b/docs/sources/genindex.md
|
|
|
-@@ -1 +1,2 @@
|
|
|
-+
|
|
|
- # Index
|
|
|
-diff --git a/docs/sources/http-routingtable.md b/docs/sources/http-routingtable.md
|
|
|
-index 2a06fdb..4ca4116 100644
|
|
|
---- a/docs/sources/http-routingtable.md
|
|
|
-+++ b/docs/sources/http-routingtable.md
|
|
|
-@@ -1,3 +1,4 @@
|
|
|
-+
|
|
|
- # HTTP Routing Table
|
|
|
-
|
|
|
- [**/api**](#cap-/api) | [**/auth**](#cap-/auth) |
|
|
|
-diff --git a/docs/sources/index.md b/docs/sources/index.md
|
|
|
-index c5a5b6f..dd9e272 100644
|
|
|
---- a/docs/sources/index.md
|
|
|
-+++ b/docs/sources/index.md
|
|
|
-@@ -1,3 +1 @@
|
|
|
--# Docker Documentation
|
|
|
--
|
|
|
--## Introduction
|
|
|
-\ No newline at end of file
|
|
|
-+# Docker documentation
|
|
|
-diff --git a/docs/sources/installation.md b/docs/sources/installation.md
|
|
|
-index 0ee7b2f..4fdd102 100644
|
|
|
---- a/docs/sources/installation.md
|
|
|
-+++ b/docs/sources/installation.md
|
|
|
-@@ -1,25 +1,26 @@
|
|
|
--# Installation
|
|
|
-
|
|
|
--## Introduction
|
|
|
-+# Installation
|
|
|
-
|
|
|
- There are a number of ways to install Docker, depending on where you
|
|
|
- want to run the daemon. The [*Ubuntu*](ubuntulinux/#ubuntu-linux)
|
|
|
- installation is the officially-tested version. The community adds more
|
|
|
- techniques for installing Docker all the time.
|
|
|
-
|
|
|
--## Contents:
|
|
|
-+Contents:
|
|
|
-+
|
|
|
-+- [Ubuntu](ubuntulinux/)
|
|
|
-+- [Red Hat Enterprise Linux](rhel/)
|
|
|
-+- [Fedora](fedora/)
|
|
|
-+- [Arch Linux](archlinux/)
|
|
|
-+- [CRUX Linux](cruxlinux/)
|
|
|
-+- [Gentoo](gentoolinux/)
|
|
|
-+- [openSUSE](openSUSE/)
|
|
|
-+- [FrugalWare](frugalware/)
|
|
|
-+- [Mac OS X](mac/)
|
|
|
-+- [Microsoft Windows](windows/)
|
|
|
-+- [Amazon EC2](amazon/)
|
|
|
-+- [Rackspace Cloud](rackspace/)
|
|
|
-+- [Google Cloud Platform](google/)
|
|
|
-+- [IBM SoftLayer](softlayer/)
|
|
|
-+- [Binaries](binaries/)
|
|
|
-
|
|
|
--- [Ubuntu](ubuntulinux/)
|
|
|
--- [Red Hat Enterprise Linux](rhel/)
|
|
|
--- [Fedora](fedora/)
|
|
|
--- [Arch Linux](archlinux/)
|
|
|
--- [CRUX Linux](cruxlinux/)
|
|
|
--- [Gentoo](gentoolinux/)
|
|
|
--- [openSUSE](openSUSE/)
|
|
|
--- [FrugalWare](frugalware/)
|
|
|
--- [Mac OS X](mac/)
|
|
|
--- [Windows](windows/)
|
|
|
--- [Amazon EC2](amazon/)
|
|
|
--- [Rackspace Cloud](rackspace/)
|
|
|
--- [Google Cloud Platform](google/)
|
|
|
--- [Binaries](binaries/)
|
|
|
-\ No newline at end of file
|
|
|
-diff --git a/docs/sources/installation/binaries.md b/docs/sources/installation/binaries.md
|
|
|
-index 5d761de..0aa22ca 100644
|
|
|
---- a/docs/sources/installation/binaries.md
|
|
|
-+++ b/docs/sources/installation/binaries.md
|
|
|
-@@ -23,14 +23,15 @@ packages for many distributions, and more keep showing up all the time!
|
|
|
- To run properly, docker needs the following software to be installed at
|
|
|
- runtime:
|
|
|
-
|
|
|
--- iproute2 version 3.5 or later (build after 2012-05-21), and
|
|
|
-- specifically the “ip” utility
|
|
|
- - iptables version 1.4 or later
|
|
|
--- The LXC utility scripts
|
|
|
-- ([http://lxc.sourceforge.net](http://lxc.sourceforge.net)) version
|
|
|
-- 0.8 or later
|
|
|
- - Git version 1.7 or later
|
|
|
- - XZ Utils 4.9 or later
|
|
|
-+- a [properly
|
|
|
-+ mounted](https://github.com/tianon/cgroupfs-mount/blob/master/cgroupfs-mount)
|
|
|
-+ cgroupfs hierarchy (having a single, all-encompassing “cgroup” mount
|
|
|
-+ point [is](https://github.com/dotcloud/docker/issues/2683)
|
|
|
-+ [not](https://github.com/dotcloud/docker/issues/3485)
|
|
|
-+ [sufficient](https://github.com/dotcloud/docker/issues/4568))
|
|
|
-
|
|
|
- ## Check kernel dependencies
|
|
|
-
|
|
|
-@@ -38,7 +39,7 @@ Docker in daemon mode has specific kernel requirements. For details,
|
|
|
- check your distribution in [*Installation*](../#installation-list).
|
|
|
-
|
|
|
- Note that Docker also has a client mode, which can run on virtually any
|
|
|
--linux kernel (it even builds on OSX!).
|
|
|
-+Linux kernel (it even builds on OSX!).
|
|
|
-
|
|
|
- ## Get the docker binary:
|
|
|
-
|
|
|
-@@ -69,7 +70,9 @@ all the client commands.
|
|
|
-
|
|
|
- Warning
|
|
|
-
|
|
|
--The *docker* group is root-equivalent.
|
|
|
-+The *docker* group (or the group specified with `-G`{.docutils
|
|
|
-+.literal}) is root-equivalent; see [*Docker Daemon Attack
|
|
|
-+Surface*](../../articles/security/#dockersecurity-daemon) details.
|
|
|
-
|
|
|
- ## Upgrades
|
|
|
-
|
|
|
-diff --git a/docs/sources/installation/fedora.md b/docs/sources/installation/fedora.md
|
|
|
-index 545e523..32f4fd2 100644
|
|
|
---- a/docs/sources/installation/fedora.md
|
|
|
-+++ b/docs/sources/installation/fedora.md
|
|
|
-@@ -31,13 +31,14 @@ installed already, it will conflict with `docker-io`{.docutils
|
|
|
- .literal}. There’s a [bug
|
|
|
- report](https://bugzilla.redhat.com/show_bug.cgi?id=1043676) filed for
|
|
|
- it. To proceed with `docker-io` installation on
|
|
|
--Fedora 19, please remove `docker` first.
|
|
|
-+Fedora 19 or Fedora 20, please remove `docker`
|
|
|
-+first.
|
|
|
-
|
|
|
- sudo yum -y remove docker
|
|
|
-
|
|
|
--For Fedora 20 and later, the `wmdocker` package will
|
|
|
--provide the same functionality as `docker` and will
|
|
|
--also not conflict with `docker-io`.
|
|
|
-+For Fedora 21 and later, the `wmdocker` package will
|
|
|
-+provide the same functionality as the old `docker`
|
|
|
-+and will also not conflict with `docker-io`.
|
|
|
-
|
|
|
- sudo yum -y install wmdocker
|
|
|
- sudo yum -y remove docker
|
|
|
-diff --git a/docs/sources/installation/ubuntulinux.md b/docs/sources/installation/ubuntulinux.md
|
|
|
-index 8c83e87..b6e9889 100644
|
|
|
---- a/docs/sources/installation/ubuntulinux.md
|
|
|
-+++ b/docs/sources/installation/ubuntulinux.md
|
|
|
-@@ -56,13 +56,13 @@ These instructions have changed for 0.6. If you are upgrading from an
|
|
|
- earlier version, you will need to follow them again.
|
|
|
-
|
|
|
- Docker is available as a Debian package, which makes installation easy.
|
|
|
--**See the :ref:\`installmirrors\` section below if you are not in the
|
|
|
--United States.** Other sources of the Debian packages may be faster for
|
|
|
--you to install.
|
|
|
-+**See the** [*Docker and local DNS server warnings*](#installmirrors)
|
|
|
-+**section below if you are not in the United States.** Other sources of
|
|
|
-+the Debian packages may be faster for you to install.
|
|
|
-
|
|
|
- First add the Docker repository key to your local keychain.
|
|
|
-
|
|
|
-- sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
|
|
|
-+ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
|
|
|
-
|
|
|
- Add the Docker repository to your apt sources list, update and install
|
|
|
- the `lxc-docker` package.
|
|
|
-@@ -121,7 +121,7 @@ upgrading from an earlier version, you will need to follow them again.
|
|
|
-
|
|
|
- First add the Docker repository key to your local keychain.
|
|
|
-
|
|
|
-- sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
|
|
|
-+ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
|
|
|
-
|
|
|
- Add the Docker repository to your apt sources list, update and install
|
|
|
- the `lxc-docker` package.
|
|
|
-@@ -156,11 +156,15 @@ socket read/writable by the *docker* group when the daemon starts. The
|
|
|
- `docker` daemon must always run as the root user,
|
|
|
- but if you run the `docker` client as a user in the
|
|
|
- *docker* group then you don’t need to add `sudo` to
|
|
|
--all the client commands.
|
|
|
-+all the client commands. As of 0.9.0, you can specify that a group other
|
|
|
-+than `docker` should own the Unix socket with the
|
|
|
-+`-G` option.
|
|
|
-
|
|
|
- Warning
|
|
|
-
|
|
|
--The *docker* group is root-equivalent.
|
|
|
-+The *docker* group (or the group specified with `-G`{.docutils
|
|
|
-+.literal}) is root-equivalent; see [*Docker Daemon Attack
|
|
|
-+Surface*](../../articles/security/#dockersecurity-daemon) details.
|
|
|
-
|
|
|
- **Example:**
|
|
|
-
|
|
|
-@@ -259,9 +263,9 @@ Docker daemon for the containers:
|
|
|
- sudo nano /etc/default/docker
|
|
|
- ---
|
|
|
- # Add:
|
|
|
-- DOCKER_OPTS="-dns 8.8.8.8"
|
|
|
-+ DOCKER_OPTS="--dns 8.8.8.8"
|
|
|
- # 8.8.8.8 could be replaced with a local DNS server, such as 192.168.1.1
|
|
|
-- # multiple DNS servers can be specified: -dns 8.8.8.8 -dns 192.168.1.1
|
|
|
-+ # multiple DNS servers can be specified: --dns 8.8.8.8 --dns 192.168.1.1
|
|
|
-
|
|
|
- The Docker daemon has to be restarted:
|
|
|
-
|
|
|
-diff --git a/docs/sources/installation/windows.md b/docs/sources/installation/windows.md
|
|
|
-index ec3e706..ad367d9 100644
|
|
|
---- a/docs/sources/installation/windows.md
|
|
|
-+++ b/docs/sources/installation/windows.md
|
|
|
-@@ -2,7 +2,7 @@ page_title: Installation on Windows
|
|
|
- page_description: Please note this project is currently under heavy development. It should not be used in production.
|
|
|
- page_keywords: Docker, Docker documentation, Windows, requirements, virtualbox, boot2docker
|
|
|
-
|
|
|
--# Windows
|
|
|
-+# Microsoft Windows
|
|
|
-
|
|
|
- Docker can run on Windows using a virtualization platform like
|
|
|
- VirtualBox. A Linux distribution is run inside a virtual machine and
|
|
|
-@@ -17,7 +17,7 @@ production yet, but we’re getting closer with each release. Please see
|
|
|
- our blog post, [“Getting to Docker
|
|
|
- 1.0”](http://blog.docker.io/2013/08/getting-to-docker-1-0/)
|
|
|
-
|
|
|
--1. Install virtualbox from
|
|
|
-+1. Install VirtualBox from
|
|
|
- [https://www.virtualbox.org](https://www.virtualbox.org) - or follow
|
|
|
- this
|
|
|
- [tutorial](http://www.slideshare.net/julienbarbier42/install-virtualbox-on-windows-7).
|
|
|
-diff --git a/docs/sources/reference.md b/docs/sources/reference.md
|
|
|
-index 3cd720c..1c4022e 100644
|
|
|
---- a/docs/sources/reference.md
|
|
|
-+++ b/docs/sources/reference.md
|
|
|
-@@ -1,9 +1,10 @@
|
|
|
-+
|
|
|
- # Reference Manual
|
|
|
-
|
|
|
--## Contents:
|
|
|
-+Contents:
|
|
|
-
|
|
|
--- [Commands](commandline/)
|
|
|
--- [Dockerfile Reference](builder/)
|
|
|
--- [Docker Run Reference](run/)
|
|
|
--- [APIs](api/)
|
|
|
-+- [Commands](commandline/)
|
|
|
-+- [Dockerfile Reference](builder/)
|
|
|
-+- [Docker Run Reference](run/)
|
|
|
-+- [APIs](api/)
|
|
|
-
|
|
|
-diff --git a/docs/sources/reference/api.md b/docs/sources/reference/api.md
|
|
|
-index ae55e6a..ce571bc 100644
|
|
|
---- a/docs/sources/reference/api.md
|
|
|
-+++ b/docs/sources/reference/api.md
|
|
|
-@@ -1,3 +1,4 @@
|
|
|
-+
|
|
|
- # APIs
|
|
|
-
|
|
|
- Your programs and scripts can access Docker’s functionality via these
|
|
|
-@@ -8,34 +9,28 @@ interfaces:
|
|
|
- - [1.1 Index](registry_index_spec/#index)
|
|
|
- - [1.2 Registry](registry_index_spec/#registry)
|
|
|
- - [1.3 Docker](registry_index_spec/#docker)
|
|
|
--
|
|
|
- - [2. Workflow](registry_index_spec/#workflow)
|
|
|
- - [2.1 Pull](registry_index_spec/#pull)
|
|
|
- - [2.2 Push](registry_index_spec/#push)
|
|
|
- - [2.3 Delete](registry_index_spec/#delete)
|
|
|
--
|
|
|
- - [3. How to use the Registry in standalone
|
|
|
- mode](registry_index_spec/#how-to-use-the-registry-in-standalone-mode)
|
|
|
- - [3.1 Without an
|
|
|
- Index](registry_index_spec/#without-an-index)
|
|
|
- - [3.2 With an Index](registry_index_spec/#with-an-index)
|
|
|
--
|
|
|
- - [4. The API](registry_index_spec/#the-api)
|
|
|
- - [4.1 Images](registry_index_spec/#images)
|
|
|
- - [4.2 Users](registry_index_spec/#users)
|
|
|
- - [4.3 Tags (Registry)](registry_index_spec/#tags-registry)
|
|
|
- - [4.4 Images (Index)](registry_index_spec/#images-index)
|
|
|
- - [4.5 Repositories](registry_index_spec/#repositories)
|
|
|
--
|
|
|
- - [5. Chaining
|
|
|
- Registries](registry_index_spec/#chaining-registries)
|
|
|
- - [6. Authentication &
|
|
|
- Authorization](registry_index_spec/#authentication-authorization)
|
|
|
- - [6.1 On the Index](registry_index_spec/#on-the-index)
|
|
|
- - [6.2 On the Registry](registry_index_spec/#on-the-registry)
|
|
|
--
|
|
|
- - [7 Document Version](registry_index_spec/#document-version)
|
|
|
--
|
|
|
- - [Docker Registry API](registry_api/)
|
|
|
- - [1. Brief introduction](registry_api/#brief-introduction)
|
|
|
- - [2. Endpoints](registry_api/#endpoints)
|
|
|
-@@ -43,16 +38,13 @@ interfaces:
|
|
|
- - [2.2 Tags](registry_api/#tags)
|
|
|
- - [2.3 Repositories](registry_api/#repositories)
|
|
|
- - [2.4 Status](registry_api/#status)
|
|
|
--
|
|
|
- - [3 Authorization](registry_api/#authorization)
|
|
|
--
|
|
|
- - [Docker Index API](index_api/)
|
|
|
- - [1. Brief introduction](index_api/#brief-introduction)
|
|
|
- - [2. Endpoints](index_api/#endpoints)
|
|
|
- - [2.1 Repository](index_api/#repository)
|
|
|
- - [2.2 Users](index_api/#users)
|
|
|
- - [2.3 Search](index_api/#search)
|
|
|
--
|
|
|
- - [Docker Remote API](docker_remote_api/)
|
|
|
- - [1. Brief introduction](docker_remote_api/#brief-introduction)
|
|
|
- - [2. Versions](docker_remote_api/#versions)
|
|
|
-@@ -67,7 +59,6 @@ interfaces:
|
|
|
- - [v1.2](docker_remote_api/#v1-2)
|
|
|
- - [v1.1](docker_remote_api/#v1-1)
|
|
|
- - [v1.0](docker_remote_api/#v1-0)
|
|
|
--
|
|
|
- - [Docker Remote API Client Libraries](remote_api_client_libraries/)
|
|
|
- - [docker.io OAuth API](docker_io_oauth_api/)
|
|
|
- - [1. Brief introduction](docker_io_oauth_api/#brief-introduction)
|
|
|
-@@ -79,10 +70,8 @@ interfaces:
|
|
|
- - [3.2 Get an Access
|
|
|
- Token](docker_io_oauth_api/#get-an-access-token)
|
|
|
- - [3.3 Refresh a Token](docker_io_oauth_api/#refresh-a-token)
|
|
|
--
|
|
|
- - [4. Use an Access Token with the
|
|
|
- API](docker_io_oauth_api/#use-an-access-token-with-the-api)
|
|
|
--
|
|
|
- - [docker.io Accounts API](docker_io_accounts_api/)
|
|
|
- - [1. Endpoints](docker_io_accounts_api/#endpoints)
|
|
|
- - [1.1 Get a single
|
|
|
-@@ -96,4 +85,5 @@ interfaces:
|
|
|
- - [1.5 Update an email address for a
|
|
|
- user](docker_io_accounts_api/#update-an-email-address-for-a-user)
|
|
|
- - [1.6 Delete email address for a
|
|
|
-- user](docker_io_accounts_api/#delete-email-address-for-a-user)
|
|
|
-\ No newline at end of file
|
|
|
-+ user](docker_io_accounts_api/#delete-email-address-for-a-user)
|
|
|
-+
|
|
|
-diff --git a/docs/sources/reference/api/docker_io_accounts_api.md b/docs/sources/reference/api/docker_io_accounts_api.md
|
|
|
-index 6ad5361..dc78076 100644
|
|
|
---- a/docs/sources/reference/api/docker_io_accounts_api.md
|
|
|
-+++ b/docs/sources/reference/api/docker_io_accounts_api.md
|
|
|
-@@ -2,35 +2,50 @@ page_title: docker.io Accounts API
|
|
|
- page_description: API Documentation for docker.io accounts.
|
|
|
- page_keywords: API, Docker, accounts, REST, documentation
|
|
|
-
|
|
|
--# Docker IO Accounts API
|
|
|
-+# [docker.io Accounts API](#id1)
|
|
|
-
|
|
|
--## Endpoints
|
|
|
-+Table of Contents
|
|
|
-
|
|
|
--### Get A Single User
|
|
|
-+- [docker.io Accounts API](#docker-io-accounts-api)
|
|
|
-+ - [1. Endpoints](#endpoints)
|
|
|
-+ - [1.1 Get a single user](#get-a-single-user)
|
|
|
-+ - [1.2 Update a single user](#update-a-single-user)
|
|
|
-+ - [1.3 List email addresses for a
|
|
|
-+ user](#list-email-addresses-for-a-user)
|
|
|
-+ - [1.4 Add email address for a
|
|
|
-+ user](#add-email-address-for-a-user)
|
|
|
-+ - [1.5 Update an email address for a
|
|
|
-+ user](#update-an-email-address-for-a-user)
|
|
|
-+ - [1.6 Delete email address for a
|
|
|
-+ user](#delete-email-address-for-a-user)
|
|
|
-+
|
|
|
-+## [1. Endpoints](#id2)
|
|
|
-+
|
|
|
-+### [1.1 Get a single user](#id3)
|
|
|
-
|
|
|
- `GET `{.descname}`/api/v1.1/users/:username/`{.descname}
|
|
|
- : Get profile info for the specified user.
|
|
|
-
|
|
|
- Parameters:
|
|
|
-
|
|
|
-- - **username** – username of the user whose profile info is being
|
|
|
-+ - **username** – username of the user whose profile info is being
|
|
|
- requested.
|
|
|
-
|
|
|
- Request Headers:
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **Authorization** – required authentication credentials of
|
|
|
-+ - **Authorization** – required authentication credentials of
|
|
|
- either type HTTP Basic or OAuth Bearer Token.
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – success, user data returned.
|
|
|
-- - **401** – authentication error.
|
|
|
-- - **403** – permission error, authenticated user must be the user
|
|
|
-+ - **200** – success, user data returned.
|
|
|
-+ - **401** – authentication error.
|
|
|
-+ - **403** – permission error, authenticated user must be the user
|
|
|
- whose data is being requested, OAuth access tokens must have
|
|
|
- `profile_read` scope.
|
|
|
-- - **404** – the specified username does not exist.
|
|
|
-+ - **404** – the specified username does not exist.
|
|
|
-
|
|
|
- **Example request**:
|
|
|
-
|
|
|
-@@ -59,45 +74,45 @@ page_keywords: API, Docker, accounts, REST, documentation
|
|
|
- "is_active": true
|
|
|
- }
|
|
|
-
|
|
|
--### Update A Single User
|
|
|
-+### [1.2 Update a single user](#id4)
|
|
|
-
|
|
|
- `PATCH `{.descname}`/api/v1.1/users/:username/`{.descname}
|
|
|
- : Update profile info for the specified user.
|
|
|
-
|
|
|
- Parameters:
|
|
|
-
|
|
|
-- - **username** – username of the user whose profile info is being
|
|
|
-+ - **username** – username of the user whose profile info is being
|
|
|
- updated.
|
|
|
-
|
|
|
- Json Parameters:
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **full\_name** (*string*) – (optional) the new name of the user.
|
|
|
-- - **location** (*string*) – (optional) the new location.
|
|
|
-- - **company** (*string*) – (optional) the new company of the user.
|
|
|
-- - **profile\_url** (*string*) – (optional) the new profile url.
|
|
|
-- - **gravatar\_email** (*string*) – (optional) the new Gravatar
|
|
|
-+ - **full\_name** (*string*) – (optional) the new name of the user.
|
|
|
-+ - **location** (*string*) – (optional) the new location.
|
|
|
-+ - **company** (*string*) – (optional) the new company of the user.
|
|
|
-+ - **profile\_url** (*string*) – (optional) the new profile url.
|
|
|
-+ - **gravatar\_email** (*string*) – (optional) the new Gravatar
|
|
|
- email address.
|
|
|
-
|
|
|
- Request Headers:
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **Authorization** – required authentication credentials of
|
|
|
-+ - **Authorization** – required authentication credentials of
|
|
|
- either type HTTP Basic or OAuth Bearer Token.
|
|
|
-- - **Content-Type** – MIME Type of post data. JSON, url-encoded
|
|
|
-+ - **Content-Type** – MIME Type of post data. JSON, url-encoded
|
|
|
- form data, etc.
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – success, user data updated.
|
|
|
-- - **400** – post data validation error.
|
|
|
-- - **401** – authentication error.
|
|
|
-- - **403** – permission error, authenticated user must be the user
|
|
|
-+ - **200** – success, user data updated.
|
|
|
-+ - **400** – post data validation error.
|
|
|
-+ - **401** – authentication error.
|
|
|
-+ - **403** – permission error, authenticated user must be the user
|
|
|
- whose data is being updated, OAuth access tokens must have
|
|
|
- `profile_write` scope.
|
|
|
-- - **404** – the specified username does not exist.
|
|
|
-+ - **404** – the specified username does not exist.
|
|
|
-
|
|
|
- **Example request**:
|
|
|
-
|
|
|
-@@ -132,31 +147,31 @@ page_keywords: API, Docker, accounts, REST, documentation
|
|
|
- "is_active": true
|
|
|
- }
|
|
|
-
|
|
|
--### List Email Addresses For A User
|
|
|
-+### [1.3 List email addresses for a user](#id5)
|
|
|
-
|
|
|
- `GET `{.descname}`/api/v1.1/users/:username/emails/`{.descname}
|
|
|
- : List email info for the specified user.
|
|
|
-
|
|
|
- Parameters:
|
|
|
-
|
|
|
-- - **username** – username of the user whose profile info is being
|
|
|
-+ - **username** – username of the user whose profile info is being
|
|
|
- updated.
|
|
|
-
|
|
|
- Request Headers:
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **Authorization** – required authentication credentials of
|
|
|
-+ - **Authorization** – required authentication credentials of
|
|
|
- either type HTTP Basic or OAuth Bearer Token
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – success, user data updated.
|
|
|
-- - **401** – authentication error.
|
|
|
-- - **403** – permission error, authenticated user must be the user
|
|
|
-+ - **200** – success, user data updated.
|
|
|
-+ - **401** – authentication error.
|
|
|
-+ - **403** – permission error, authenticated user must be the user
|
|
|
- whose data is being requested, OAuth access tokens must have
|
|
|
- `email_read` scope.
|
|
|
-- - **404** – the specified username does not exist.
|
|
|
-+ - **404** – the specified username does not exist.
|
|
|
-
|
|
|
- **Example request**:
|
|
|
-
|
|
|
-@@ -170,7 +185,7 @@ page_keywords: API, Docker, accounts, REST, documentation
|
|
|
- HTTP/1.1 200 OK
|
|
|
- Content-Type: application/json
|
|
|
-
|
|
|
--
|
|
|
-+ [
|
|
|
- {
|
|
|
- "email": "jane.doe@example.com",
|
|
|
- "verified": true,
|
|
|
-@@ -178,7 +193,7 @@ page_keywords: API, Docker, accounts, REST, documentation
|
|
|
- }
|
|
|
- ]
|
|
|
-
|
|
|
--### Add Email Address For A User
|
|
|
-+### [1.4 Add email address for a user](#id6)
|
|
|
-
|
|
|
- `POST `{.descname}`/api/v1.1/users/:username/emails/`{.descname}
|
|
|
- : Add a new email address to the specified user’s account. The email
|
|
|
-@@ -189,26 +204,26 @@ page_keywords: API, Docker, accounts, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **email** (*string*) – email address to be added.
|
|
|
-+ - **email** (*string*) – email address to be added.
|
|
|
-
|
|
|
- Request Headers:
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **Authorization** – required authentication credentials of
|
|
|
-+ - **Authorization** – required authentication credentials of
|
|
|
- either type HTTP Basic or OAuth Bearer Token.
|
|
|
-- - **Content-Type** – MIME Type of post data. JSON, url-encoded
|
|
|
-+ - **Content-Type** – MIME Type of post data. JSON, url-encoded
|
|
|
- form data, etc.
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **201** – success, new email added.
|
|
|
-- - **400** – data validation error.
|
|
|
-- - **401** – authentication error.
|
|
|
-- - **403** – permission error, authenticated user must be the user
|
|
|
-+ - **201** – success, new email added.
|
|
|
-+ - **400** – data validation error.
|
|
|
-+ - **401** – authentication error.
|
|
|
-+ - **403** – permission error, authenticated user must be the user
|
|
|
- whose data is being requested, OAuth access tokens must have
|
|
|
- `email_write` scope.
|
|
|
-- - **404** – the specified username does not exist.
|
|
|
-+ - **404** – the specified username does not exist.
|
|
|
-
|
|
|
- **Example request**:
|
|
|
-
|
|
|
-@@ -233,7 +248,7 @@ page_keywords: API, Docker, accounts, REST, documentation
|
|
|
- "primary": false
|
|
|
- }
|
|
|
-
|
|
|
--### Update An Email Address For A User
|
|
|
-+### [1.5 Update an email address for a user](#id7)
|
|
|
-
|
|
|
- `PATCH `{.descname}`/api/v1.1/users/:username/emails/`{.descname}
|
|
|
- : Update an email address for the specified user to either verify an
|
|
|
-@@ -244,17 +259,17 @@ page_keywords: API, Docker, accounts, REST, documentation
|
|
|
-
|
|
|
- Parameters:
|
|
|
-
|
|
|
-- - **username** – username of the user whose email info is being
|
|
|
-+ - **username** – username of the user whose email info is being
|
|
|
- updated.
|
|
|
-
|
|
|
- Json Parameters:
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **email** (*string*) – the email address to be updated.
|
|
|
-- - **verified** (*boolean*) – (optional) whether the email address
|
|
|
-+ - **email** (*string*) – the email address to be updated.
|
|
|
-+ - **verified** (*boolean*) – (optional) whether the email address
|
|
|
- is verified, must be `true` or absent.
|
|
|
-- - **primary** (*boolean*) – (optional) whether to set the email
|
|
|
-+ - **primary** (*boolean*) – (optional) whether to set the email
|
|
|
- address as the primary email, must be `true`
|
|
|
- or absent.
|
|
|
-
|
|
|
-@@ -262,20 +277,20 @@ page_keywords: API, Docker, accounts, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **Authorization** – required authentication credentials of
|
|
|
-+ - **Authorization** – required authentication credentials of
|
|
|
- either type HTTP Basic or OAuth Bearer Token.
|
|
|
-- - **Content-Type** – MIME Type of post data. JSON, url-encoded
|
|
|
-+ - **Content-Type** – MIME Type of post data. JSON, url-encoded
|
|
|
- form data, etc.
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – success, user’s email updated.
|
|
|
-- - **400** – data validation error.
|
|
|
-- - **401** – authentication error.
|
|
|
-- - **403** – permission error, authenticated user must be the user
|
|
|
-+ - **200** – success, user’s email updated.
|
|
|
-+ - **400** – data validation error.
|
|
|
-+ - **401** – authentication error.
|
|
|
-+ - **403** – permission error, authenticated user must be the user
|
|
|
- whose data is being updated, OAuth access tokens must have
|
|
|
- `email_write` scope.
|
|
|
-- - **404** – the specified username or email address does not
|
|
|
-+ - **404** – the specified username or email address does not
|
|
|
- exist.
|
|
|
-
|
|
|
- **Example request**:
|
|
|
-@@ -303,7 +318,7 @@ page_keywords: API, Docker, accounts, REST, documentation
|
|
|
- "primary": false
|
|
|
- }
|
|
|
-
|
|
|
--### Delete Email Address For A User
|
|
|
-+### [1.6 Delete email address for a user](#id8)
|
|
|
-
|
|
|
- `DELETE `{.descname}`/api/v1.1/users/:username/emails/`{.descname}
|
|
|
- : Delete an email address from the specified user’s account. You
|
|
|
-@@ -313,26 +328,26 @@ page_keywords: API, Docker, accounts, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **email** (*string*) – email address to be deleted.
|
|
|
-+ - **email** (*string*) – email address to be deleted.
|
|
|
-
|
|
|
- Request Headers:
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **Authorization** – required authentication credentials of
|
|
|
-+ - **Authorization** – required authentication credentials of
|
|
|
- either type HTTP Basic or OAuth Bearer Token.
|
|
|
-- - **Content-Type** – MIME Type of post data. JSON, url-encoded
|
|
|
-+ - **Content-Type** – MIME Type of post data. JSON, url-encoded
|
|
|
- form data, etc.
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – success, email address removed.
|
|
|
-- - **400** – validation error.
|
|
|
-- - **401** – authentication error.
|
|
|
-- - **403** – permission error, authenticated user must be the user
|
|
|
-+ - **204** – success, email address removed.
|
|
|
-+ - **400** – validation error.
|
|
|
-+ - **401** – authentication error.
|
|
|
-+ - **403** – permission error, authenticated user must be the user
|
|
|
- whose data is being requested, OAuth access tokens must have
|
|
|
- `email_write` scope.
|
|
|
-- - **404** – the specified username or email address does not
|
|
|
-+ - **404** – the specified username or email address does not
|
|
|
- exist.
|
|
|
-
|
|
|
- **Example request**:
|
|
|
-@@ -350,4 +365,6 @@ page_keywords: API, Docker, accounts, REST, documentation
|
|
|
- **Example response**:
|
|
|
-
|
|
|
- HTTP/1.1 204 NO CONTENT
|
|
|
-- Content-Length: 0
|
|
|
-\ No newline at end of file
|
|
|
-+ Content-Length: 0
|
|
|
-+
|
|
|
-+
|
|
|
-diff --git a/docs/sources/reference/api/docker_io_oauth_api.md b/docs/sources/reference/api/docker_io_oauth_api.md
|
|
|
-index 85f3a22..c39ab56 100644
|
|
|
---- a/docs/sources/reference/api/docker_io_oauth_api.md
|
|
|
-+++ b/docs/sources/reference/api/docker_io_oauth_api.md
|
|
|
-@@ -2,9 +2,21 @@ page_title: docker.io OAuth API
|
|
|
- page_description: API Documentation for docker.io's OAuth flow.
|
|
|
- page_keywords: API, Docker, oauth, REST, documentation
|
|
|
-
|
|
|
--# Docker IO OAuth API
|
|
|
-+# [docker.io OAuth API](#id1)
|
|
|
-
|
|
|
--## Introduction
|
|
|
-+Table of Contents
|
|
|
-+
|
|
|
-+- [docker.io OAuth API](#docker-io-oauth-api)
|
|
|
-+ - [1. Brief introduction](#brief-introduction)
|
|
|
-+ - [2. Register Your Application](#register-your-application)
|
|
|
-+ - [3. Endpoints](#endpoints)
|
|
|
-+ - [3.1 Get an Authorization Code](#get-an-authorization-code)
|
|
|
-+ - [3.2 Get an Access Token](#get-an-access-token)
|
|
|
-+ - [3.3 Refresh a Token](#refresh-a-token)
|
|
|
-+ - [4. Use an Access Token with the
|
|
|
-+ API](#use-an-access-token-with-the-api)
|
|
|
-+
|
|
|
-+## [1. Brief introduction](#id2)
|
|
|
-
|
|
|
- Some docker.io API requests will require an access token to
|
|
|
- authenticate. To get an access token for a user, that user must first
|
|
|
-@@ -12,13 +24,13 @@ grant your application access to their docker.io account. In order for
|
|
|
- them to grant your application access you must first register your
|
|
|
- application.
|
|
|
-
|
|
|
--Before continuing, we encourage you to familiarize yourself with The
|
|
|
--OAuth 2.0 Authorization Framework](http://tools.ietf.org/c6749).
|
|
|
-+Before continuing, we encourage you to familiarize yourself with [The
|
|
|
-+OAuth 2.0 Authorization Framework](http://tools.ietf.org/html/rfc6749).
|
|
|
-
|
|
|
- *Also note that all OAuth interactions must take place over https
|
|
|
- connections*
|
|
|
-
|
|
|
--## Registering Your Application
|
|
|
-+## [2. Register Your Application](#id3)
|
|
|
-
|
|
|
- You will need to register your application with docker.io before users
|
|
|
- will be able to grant your application access to their account
|
|
|
-@@ -27,10 +39,10 @@ request registration of your application send an email to
|
|
|
- [support-accounts@docker.com](mailto:support-accounts%40docker.com) with
|
|
|
- the following information:
|
|
|
-
|
|
|
--- The name of your application
|
|
|
--- A description of your application and the service it will provide to
|
|
|
-+- The name of your application
|
|
|
-+- A description of your application and the service it will provide to
|
|
|
- docker.io users.
|
|
|
--- A callback URI that we will use for redirecting authorization
|
|
|
-+- A callback URI that we will use for redirecting authorization
|
|
|
- requests to your application. These are used in the step of getting
|
|
|
- an Authorization Code. The domain name of the callback URI will be
|
|
|
- visible to the user when they are requested to authorize your
|
|
|
-@@ -41,9 +53,9 @@ docker.io team with your `client_id` and
|
|
|
- `client_secret` which your application will use in
|
|
|
- the steps of getting an Authorization Code and getting an Access Token.
|
|
|
-
|
|
|
--## Endpoints
|
|
|
-+## [3. Endpoints](#id4)
|
|
|
-
|
|
|
--### Get an Authorization Code
|
|
|
-+### [3.1 Get an Authorization Code](#id5)
|
|
|
-
|
|
|
- Once You have registered you are ready to start integrating docker.io
|
|
|
- accounts into your application! The process is usually started by a user
|
|
|
-@@ -61,24 +73,24 @@ following a link in your application to an OAuth Authorization endpoint.
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **client\_id** – The `client_id` given to
|
|
|
-+ - **client\_id** – The `client_id` given to
|
|
|
- your application at registration.
|
|
|
-- - **response\_type** – MUST be set to `code`.
|
|
|
-+ - **response\_type** – MUST be set to `code`.
|
|
|
- This specifies that you would like an Authorization Code
|
|
|
- returned.
|
|
|
-- - **redirect\_uri** – The URI to redirect back to after the user
|
|
|
-+ - **redirect\_uri** – The URI to redirect back to after the user
|
|
|
- has authorized your application. If omitted, the first of your
|
|
|
- registered `response_uris` is used. If
|
|
|
- included, it must be one of the URIs which were submitted when
|
|
|
- registering your application.
|
|
|
-- - **scope** – The extent of access permissions you are requesting.
|
|
|
-+ - **scope** – The extent of access permissions you are requesting.
|
|
|
- Currently, the scope options are `profile_read`{.docutils
|
|
|
- .literal}, `profile_write`,
|
|
|
- `email_read`, and `email_write`{.docutils
|
|
|
- .literal}. Scopes must be separated by a space. If omitted, the
|
|
|
- default scopes `profile_read email_read` are
|
|
|
- used.
|
|
|
-- - **state** – (Recommended) Used by your application to maintain
|
|
|
-+ - **state** – (Recommended) Used by your application to maintain
|
|
|
- state between the authorization request and callback to protect
|
|
|
- against CSRF attacks.
|
|
|
-
|
|
|
-@@ -115,7 +127,7 @@ following a link in your application to an OAuth Authorization endpoint.
|
|
|
- : An error message in the event of the user denying the
|
|
|
- authorization or some other kind of error with the request.
|
|
|
-
|
|
|
--### Get an Access Token
|
|
|
-+### [3.2 Get an Access Token](#id6)
|
|
|
-
|
|
|
- Once the user has authorized your application, a request will be made to
|
|
|
- your application’s specified `redirect_uri` which
|
|
|
-@@ -131,7 +143,7 @@ to get an Access Token.
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **Authorization** – HTTP basic authentication using your
|
|
|
-+ - **Authorization** – HTTP basic authentication using your
|
|
|
- application’s `client_id` and
|
|
|
- `client_secret`
|
|
|
-
|
|
|
-@@ -139,11 +151,11 @@ to get an Access Token.
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **grant\_type** – MUST be set to `authorization_code`{.docutils
|
|
|
-+ - **grant\_type** – MUST be set to `authorization_code`{.docutils
|
|
|
- .literal}
|
|
|
-- - **code** – The authorization code received from the user’s
|
|
|
-+ - **code** – The authorization code received from the user’s
|
|
|
- redirect request.
|
|
|
-- - **redirect\_uri** – The same `redirect_uri`
|
|
|
-+ - **redirect\_uri** – The same `redirect_uri`
|
|
|
- used in the authentication request.
|
|
|
-
|
|
|
- **Example Request**
|
|
|
-@@ -180,7 +192,7 @@ to get an Access Token.
|
|
|
- In the case of an error, there will be a non-200 HTTP Status and and
|
|
|
- data detailing the error.
|
|
|
-
|
|
|
--### Refresh a Token
|
|
|
-+### [3.3 Refresh a Token](#id7)
|
|
|
-
|
|
|
- Once the Access Token expires you can use your `refresh_token`{.docutils
|
|
|
- .literal} to have docker.io issue your application a new Access Token,
|
|
|
-@@ -195,7 +207,7 @@ if the user has not revoked access from your application.
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **Authorization** – HTTP basic authentication using your
|
|
|
-+ - **Authorization** – HTTP basic authentication using your
|
|
|
- application’s `client_id` and
|
|
|
- `client_secret`
|
|
|
-
|
|
|
-@@ -203,11 +215,11 @@ if the user has not revoked access from your application.
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **grant\_type** – MUST be set to `refresh_token`{.docutils
|
|
|
-+ - **grant\_type** – MUST be set to `refresh_token`{.docutils
|
|
|
- .literal}
|
|
|
-- - **refresh\_token** – The `refresh_token`
|
|
|
-+ - **refresh\_token** – The `refresh_token`
|
|
|
- which was issued to your application.
|
|
|
-- - **scope** – (optional) The scope of the access token to be
|
|
|
-+ - **scope** – (optional) The scope of the access token to be
|
|
|
- returned. Must not include any scope not originally granted by
|
|
|
- the user and if omitted is treated as equal to the scope
|
|
|
- originally granted.
|
|
|
-@@ -245,7 +257,7 @@ if the user has not revoked access from your application.
|
|
|
- In the case of an error, there will be a non-200 HTTP Status and and
|
|
|
- data detailing the error.
|
|
|
-
|
|
|
--## Use an Access Token with the API
|
|
|
-+## [4. Use an Access Token with the API](#id8)
|
|
|
-
|
|
|
- Many of the docker.io API requests will require a Authorization request
|
|
|
- header field. Simply ensure you add this header with “Bearer
|
|
|
-diff --git a/docs/sources/reference/api/docker_remote_api.md b/docs/sources/reference/api/docker_remote_api.md
|
|
|
-index 35dd858..8a2e456 100644
|
|
|
---- a/docs/sources/reference/api/docker_remote_api.md
|
|
|
-+++ b/docs/sources/reference/api/docker_remote_api.md
|
|
|
-@@ -4,21 +4,21 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- # Docker Remote API
|
|
|
-
|
|
|
--## Introduction
|
|
|
--
|
|
|
--- The Remote API is replacing rcli
|
|
|
--- By default the Docker daemon listens on unix:///var/run/docker.sock
|
|
|
-- and the client must have root access to interact with the daemon
|
|
|
--- If a group named *docker* exists on your system, docker will apply
|
|
|
-- ownership of the socket to the group
|
|
|
--- The API tends to be REST, but for some complex commands, like attach
|
|
|
-- or pull, the HTTP connection is hijacked to transport stdout stdin
|
|
|
-- and stderr
|
|
|
--- Since API version 1.2, the auth configuration is now handled client
|
|
|
-- side, so the client has to send the authConfig as POST in
|
|
|
-- `/images/(name)/push`.
|
|
|
--
|
|
|
--## Docker Remote API Versions
|
|
|
-+## 1. Brief introduction
|
|
|
-+
|
|
|
-+- The Remote API is replacing rcli
|
|
|
-+- By default the Docker daemon listens on unix:///var/run/docker.sock
|
|
|
-+ and the client must have root access to interact with the daemon
|
|
|
-+- If a group named *docker* exists on your system, docker will apply
|
|
|
-+ ownership of the socket to the group
|
|
|
-+- The API tends to be REST, but for some complex commands, like attach
|
|
|
-+ or pull, the HTTP connection is hijacked to transport stdout stdin
|
|
|
-+ and stderr
|
|
|
-+- Since API version 1.2, the auth configuration is now handled client
|
|
|
-+ side, so the client has to send the authConfig as POST in
|
|
|
-+ /images/(name)/push
|
|
|
-+
|
|
|
-+## 2. Versions
|
|
|
-
|
|
|
- The current version of the API is 1.10
|
|
|
-
|
|
|
-@@ -28,25 +28,31 @@ Calling /images/\<name\>/insert is the same as calling
|
|
|
- You can still call an old version of the api using
|
|
|
- /v1.0/images/\<name\>/insert
|
|
|
-
|
|
|
--## Docker Remote API v1.10
|
|
|
-+### v1.10
|
|
|
-
|
|
|
--### Full Documentation
|
|
|
-+#### Full Documentation
|
|
|
-
|
|
|
- [*Docker Remote API v1.10*](../docker_remote_api_v1.10/)
|
|
|
-
|
|
|
--### What’s new
|
|
|
-+#### What’s new
|
|
|
-
|
|
|
- `DELETE `{.descname}`/images/`{.descname}(*name*)
|
|
|
- : **New!** You can now use the force parameter to force delete of an
|
|
|
-- image, even if it’s tagged in multiple repositories.
|
|
|
-+ image, even if it’s tagged in multiple repositories. **New!** You
|
|
|
-+ can now use the noprune parameter to prevent the deletion of parent
|
|
|
-+ images
|
|
|
-
|
|
|
--## Docker Remote API v1.9
|
|
|
-+ `DELETE `{.descname}`/containers/`{.descname}(*id*)
|
|
|
-+: **New!** You can now use the force paramter to force delete a
|
|
|
-+ container, even if it is currently running
|
|
|
-
|
|
|
--### Full Documentation
|
|
|
-+### v1.9
|
|
|
-+
|
|
|
-+#### Full Documentation
|
|
|
-
|
|
|
- [*Docker Remote API v1.9*](../docker_remote_api_v1.9/)
|
|
|
-
|
|
|
--### What’s New
|
|
|
-+#### What’s new
|
|
|
-
|
|
|
- `POST `{.descname}`/build`{.descname}
|
|
|
- : **New!** This endpoint now takes a serialized ConfigFile which it
|
|
|
-@@ -54,13 +60,13 @@ You can still call an old version of the api using
|
|
|
- base image. Clients which previously implemented the version
|
|
|
- accepting an AuthConfig object must be updated.
|
|
|
-
|
|
|
--## Docker Remote API v1.8
|
|
|
-+### v1.8
|
|
|
-
|
|
|
--### Full Documentation
|
|
|
-+#### Full Documentation
|
|
|
-
|
|
|
- [*Docker Remote API v1.8*](../docker_remote_api_v1.8/)
|
|
|
-
|
|
|
--### What’s New
|
|
|
-+#### What’s new
|
|
|
-
|
|
|
- `POST `{.descname}`/build`{.descname}
|
|
|
- : **New!** This endpoint now returns build status as json stream. In
|
|
|
-@@ -82,13 +88,13 @@ You can still call an old version of the api using
|
|
|
- possible to get the current value and the total of the progress
|
|
|
- without having to parse the string.
|
|
|
-
|
|
|
--## Docker Remote API v1.7
|
|
|
-+### v1.7
|
|
|
-
|
|
|
--### Full Documentation
|
|
|
-+#### Full Documentation
|
|
|
-
|
|
|
- [*Docker Remote API v1.7*](../docker_remote_api_v1.7/)
|
|
|
-
|
|
|
--### What’s New
|
|
|
-+#### What’s new
|
|
|
-
|
|
|
- `GET `{.descname}`/images/json`{.descname}
|
|
|
- : The format of the json returned from this uri changed. Instead of an
|
|
|
-@@ -175,17 +181,17 @@ You can still call an old version of the api using
|
|
|
- ]
|
|
|
-
|
|
|
- `GET `{.descname}`/images/viz`{.descname}
|
|
|
--: This URI no longer exists. The `images -viz`
|
|
|
-+: This URI no longer exists. The `images --viz`
|
|
|
- output is now generated in the client, using the
|
|
|
- `/images/json` data.
|
|
|
-
|
|
|
--## Docker Remote API v1.6
|
|
|
-+### v1.6
|
|
|
-
|
|
|
--### Full Documentation
|
|
|
-+#### Full Documentation
|
|
|
-
|
|
|
- [*Docker Remote API v1.6*](../docker_remote_api_v1.6/)
|
|
|
-
|
|
|
--### What’s New
|
|
|
-+#### What’s new
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/attach`{.descname}
|
|
|
- : **New!** You can now split stderr from stdout. This is done by
|
|
|
-@@ -195,13 +201,13 @@ You can still call an old version of the api using
|
|
|
- The WebSocket attach is unchanged. Note that attach calls on the
|
|
|
- previous API version didn’t change. Stdout and stderr are merged.
|
|
|
-
|
|
|
--## Docker Remote API v1.5
|
|
|
-+### v1.5
|
|
|
-
|
|
|
--### Full Documentation
|
|
|
-+#### Full Documentation
|
|
|
-
|
|
|
- [*Docker Remote API v1.5*](../docker_remote_api_v1.5/)
|
|
|
-
|
|
|
--### What’s New
|
|
|
-+#### What’s new
|
|
|
-
|
|
|
- `POST `{.descname}`/images/create`{.descname}
|
|
|
- : **New!** You can now pass registry credentials (via an AuthConfig
|
|
|
-@@ -216,13 +222,13 @@ You can still call an old version of the api using
|
|
|
- dicts each containing PublicPort, PrivatePort and Type describing a
|
|
|
- port mapping.
|
|
|
-
|
|
|
--## Docker Remote API v1.4
|
|
|
-+### v1.4
|
|
|
-
|
|
|
--### Full Documentation
|
|
|
-+#### Full Documentation
|
|
|
-
|
|
|
- [*Docker Remote API v1.4*](../docker_remote_api_v1.4/)
|
|
|
-
|
|
|
--### What’s New
|
|
|
-+#### What’s new
|
|
|
-
|
|
|
- `POST `{.descname}`/images/create`{.descname}
|
|
|
- : **New!** When pulling a repo, all images are now downloaded in
|
|
|
-@@ -235,16 +241,16 @@ You can still call an old version of the api using
|
|
|
- `GET `{.descname}`/events:`{.descname}
|
|
|
- : **New!** Image’s name added in the events
|
|
|
-
|
|
|
--## Docker Remote API v1.3
|
|
|
-+### v1.3
|
|
|
-
|
|
|
- docker v0.5.0
|
|
|
- [51f6c4a](https://github.com/dotcloud/docker/commit/51f6c4a7372450d164c61e0054daf0223ddbd909)
|
|
|
-
|
|
|
--### Full Documentation
|
|
|
-+#### Full Documentation
|
|
|
-
|
|
|
- [*Docker Remote API v1.3*](../docker_remote_api_v1.3/)
|
|
|
-
|
|
|
--### What’s New
|
|
|
-+#### What’s new
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/`{.descname}(*id*)`/top`{.descname}
|
|
|
- : List the processes running inside a container.
|
|
|
-@@ -254,10 +260,10 @@ docker v0.5.0
|
|
|
-
|
|
|
- Builder (/build):
|
|
|
-
|
|
|
--- Simplify the upload of the build context
|
|
|
--- Simply stream a tarball instead of multipart upload with 4
|
|
|
-- intermediary buffers
|
|
|
--- Simpler, less memory usage, less disk usage and faster
|
|
|
-+- Simplify the upload of the build context
|
|
|
-+- Simply stream a tarball instead of multipart upload with 4
|
|
|
-+ intermediary buffers
|
|
|
-+- Simpler, less memory usage, less disk usage and faster
|
|
|
-
|
|
|
- Warning
|
|
|
-
|
|
|
-@@ -266,23 +272,23 @@ break on /build.
|
|
|
-
|
|
|
- List containers (/containers/json):
|
|
|
-
|
|
|
--- You can use size=1 to get the size of the containers
|
|
|
-+- You can use size=1 to get the size of the containers
|
|
|
-
|
|
|
- Start containers (/containers/\<id\>/start):
|
|
|
-
|
|
|
--- You can now pass host-specific configuration (e.g. bind mounts) in
|
|
|
-- the POST body for start calls
|
|
|
-+- You can now pass host-specific configuration (e.g. bind mounts) in
|
|
|
-+ the POST body for start calls
|
|
|
-
|
|
|
--## Docker Remote API v1.2
|
|
|
-+### v1.2
|
|
|
-
|
|
|
- docker v0.4.2
|
|
|
- [2e7649b](https://github.com/dotcloud/docker/commit/2e7649beda7c820793bd46766cbc2cfeace7b168)
|
|
|
-
|
|
|
--### Full Documentation
|
|
|
-+#### Full Documentation
|
|
|
-
|
|
|
- [*Docker Remote API v1.2*](../docker_remote_api_v1.2/)
|
|
|
-
|
|
|
--### What’s New
|
|
|
-+#### What’s new
|
|
|
-
|
|
|
- The auth configuration is now handled by the client.
|
|
|
-
|
|
|
-@@ -302,16 +308,16 @@ The client should send it’s authConfig as POST on each call of
|
|
|
- : Now returns a JSON structure with the list of images
|
|
|
- deleted/untagged.
|
|
|
-
|
|
|
--## Docker Remote API v1.1
|
|
|
-+### v1.1
|
|
|
-
|
|
|
- docker v0.4.0
|
|
|
- [a8ae398](https://github.com/dotcloud/docker/commit/a8ae398bf52e97148ee7bd0d5868de2e15bd297f)
|
|
|
-
|
|
|
--### Full Documentation
|
|
|
-+#### Full Documentation
|
|
|
-
|
|
|
- [*Docker Remote API v1.1*](../docker_remote_api_v1.1/)
|
|
|
-
|
|
|
--### What’s New
|
|
|
-+#### What’s new
|
|
|
-
|
|
|
- `POST `{.descname}`/images/create`{.descname}
|
|
|
- :
|
|
|
-@@ -330,15 +336,15 @@ docker v0.4.0
|
|
|
- > {"error":"Invalid..."}
|
|
|
- > ...
|
|
|
-
|
|
|
--## Docker Remote API v1.0
|
|
|
-+### v1.0
|
|
|
-
|
|
|
- docker v0.3.4
|
|
|
- [8d73740](https://github.com/dotcloud/docker/commit/8d73740343778651c09160cde9661f5f387b36f4)
|
|
|
-
|
|
|
--### Full Documentation
|
|
|
-+#### Full Documentation
|
|
|
-
|
|
|
- [*Docker Remote API v1.0*](../docker_remote_api_v1.0/)
|
|
|
-
|
|
|
--### What’s New
|
|
|
-+#### What’s new
|
|
|
-
|
|
|
- Initial version
|
|
|
-diff --git a/docs/sources/reference/api/docker_remote_api_v1.0.md b/docs/sources/reference/api/docker_remote_api_v1.0.md
|
|
|
-index 6bb0fcb..30b1718 100644
|
|
|
---- a/docs/sources/reference/api/docker_remote_api_v1.0.md
|
|
|
-+++ b/docs/sources/reference/api/docker_remote_api_v1.0.md
|
|
|
-@@ -2,21 +2,70 @@ page_title: Remote API v1.0
|
|
|
- page_description: API Documentation for Docker
|
|
|
- page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
--# Docker Remote API v1.0
|
|
|
--
|
|
|
--## Introduction
|
|
|
--
|
|
|
--- The Remote API is replacing rcli
|
|
|
--- Default port in the docker daemon is 4243
|
|
|
--- The API tends to be REST, but for some complex commands, like attach
|
|
|
-+# [Docker Remote API v1.0](#id1)
|
|
|
-+
|
|
|
-+Table of Contents
|
|
|
-+
|
|
|
-+- [Docker Remote API v1.0](#docker-remote-api-v1-0)
|
|
|
-+ - [1. Brief introduction](#brief-introduction)
|
|
|
-+ - [2. Endpoints](#endpoints)
|
|
|
-+ - [2.1 Containers](#containers)
|
|
|
-+ - [List containers](#list-containers)
|
|
|
-+ - [Create a container](#create-a-container)
|
|
|
-+ - [Inspect a container](#inspect-a-container)
|
|
|
-+ - [Inspect changes on a container’s
|
|
|
-+ filesystem](#inspect-changes-on-a-container-s-filesystem)
|
|
|
-+ - [Export a container](#export-a-container)
|
|
|
-+ - [Start a container](#start-a-container)
|
|
|
-+ - [Stop a container](#stop-a-container)
|
|
|
-+ - [Restart a container](#restart-a-container)
|
|
|
-+ - [Kill a container](#kill-a-container)
|
|
|
-+ - [Attach to a container](#attach-to-a-container)
|
|
|
-+ - [Wait a container](#wait-a-container)
|
|
|
-+ - [Remove a container](#remove-a-container)
|
|
|
-+ - [2.2 Images](#images)
|
|
|
-+ - [List Images](#list-images)
|
|
|
-+ - [Create an image](#create-an-image)
|
|
|
-+ - [Insert a file in an image](#insert-a-file-in-an-image)
|
|
|
-+ - [Inspect an image](#inspect-an-image)
|
|
|
-+ - [Get the history of an
|
|
|
-+ image](#get-the-history-of-an-image)
|
|
|
-+ - [Push an image on the
|
|
|
-+ registry](#push-an-image-on-the-registry)
|
|
|
-+ - [Tag an image into a
|
|
|
-+ repository](#tag-an-image-into-a-repository)
|
|
|
-+ - [Remove an image](#remove-an-image)
|
|
|
-+ - [Search images](#search-images)
|
|
|
-+ - [2.3 Misc](#misc)
|
|
|
-+ - [Build an image from Dockerfile via
|
|
|
-+ stdin](#build-an-image-from-dockerfile-via-stdin)
|
|
|
-+ - [Get default username and
|
|
|
-+ email](#get-default-username-and-email)
|
|
|
-+ - [Check auth configuration and store
|
|
|
-+ it](#check-auth-configuration-and-store-it)
|
|
|
-+ - [Display system-wide
|
|
|
-+ information](#display-system-wide-information)
|
|
|
-+ - [Show the docker version
|
|
|
-+ information](#show-the-docker-version-information)
|
|
|
-+ - [Create a new image from a container’s
|
|
|
-+ changes](#create-a-new-image-from-a-container-s-changes)
|
|
|
-+ - [3. Going further](#going-further)
|
|
|
-+ - [3.1 Inside ‘docker run’](#inside-docker-run)
|
|
|
-+ - [3.2 Hijacking](#hijacking)
|
|
|
-+
|
|
|
-+## [1. Brief introduction](#id2)
|
|
|
-+
|
|
|
-+- The Remote API is replacing rcli
|
|
|
-+- Default port in the docker daemon is 4243
|
|
|
-+- The API tends to be REST, but for some complex commands, like attach
|
|
|
- or pull, the HTTP connection is hijacked to transport stdout stdin
|
|
|
- and stderr
|
|
|
-
|
|
|
--## Endpoints
|
|
|
-+## [2. Endpoints](#id3)
|
|
|
-
|
|
|
--### Containers
|
|
|
-+### [2.1 Containers](#id4)
|
|
|
-
|
|
|
--### List containers:
|
|
|
-+#### [List containers](#id5)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/json`{.descname}
|
|
|
- : List containers
|
|
|
-@@ -65,22 +114,22 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **all** – 1/True/true or 0/False/false, Show all containers.
|
|
|
-+ - **all** – 1/True/true or 0/False/false, Show all containers.
|
|
|
- Only running containers are shown by default
|
|
|
-- - **limit** – Show `limit` last created
|
|
|
-+ - **limit** – Show `limit` last created
|
|
|
- containers, include non-running ones.
|
|
|
-- - **since** – Show only containers created since Id, include
|
|
|
-+ - **since** – Show only containers created since Id, include
|
|
|
- non-running ones.
|
|
|
-- - **before** – Show only containers created before Id, include
|
|
|
-+ - **before** – Show only containers created before Id, include
|
|
|
- non-running ones.
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Create a container:
|
|
|
-+#### [Create a container](#id6)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/create`{.descname}
|
|
|
- : Create a container
|
|
|
-@@ -126,16 +175,16 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **config** – the container’s configuration
|
|
|
-+ - **config** – the container’s configuration
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **201** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **406** – impossible to attach (container not running)
|
|
|
-- - **500** – server error
|
|
|
-+ - **201** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **406** – impossible to attach (container not running)
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Inspect a container:
|
|
|
-+#### [Inspect a container](#id7)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/`{.descname}(*id*)`/json`{.descname}
|
|
|
- : Return low-level information on the container `id`{.docutils
|
|
|
-@@ -198,11 +247,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Inspect changes on a container’s filesystem:]
|
|
|
-+#### [Inspect changes on a container’s filesystem](#id8)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/`{.descname}(*id*)`/changes`{.descname}
|
|
|
- : Inspect changes on container `id` ‘s filesystem
|
|
|
-@@ -233,11 +282,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Export a container:
|
|
|
-+#### [Export a container](#id9)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/`{.descname}(*id*)`/export`{.descname}
|
|
|
- : Export the contents of container `id`
|
|
|
-@@ -255,11 +304,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Start a container:
|
|
|
-+#### [Start a container](#id10)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/start`{.descname}
|
|
|
- : Start the container `id`
|
|
|
-@@ -274,11 +323,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Stop a container:
|
|
|
-+#### [Stop a container](#id11)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/stop`{.descname}
|
|
|
- : Stop the container `id`
|
|
|
-@@ -295,15 +344,15 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **t** – number of seconds to wait before killing the container
|
|
|
-+ - **t** – number of seconds to wait before killing the container
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Restart a container:
|
|
|
-+#### [Restart a container](#id12)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/restart`{.descname}
|
|
|
- : Restart the container `id`
|
|
|
-@@ -320,15 +369,15 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **t** – number of seconds to wait before killing the container
|
|
|
-+ - **t** – number of seconds to wait before killing the container
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Kill a container:
|
|
|
-+#### [Kill a container](#id13)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/kill`{.descname}
|
|
|
- : Kill the container `id`
|
|
|
-@@ -343,11 +392,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Attach to a container:
|
|
|
-+#### [Attach to a container](#id14)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/attach`{.descname}
|
|
|
- : Attach to the container `id`
|
|
|
-@@ -367,25 +416,25 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **logs** – 1/True/true or 0/False/false, return logs. Default
|
|
|
-+ - **logs** – 1/True/true or 0/False/false, return logs. Default
|
|
|
- false
|
|
|
-- - **stream** – 1/True/true or 0/False/false, return stream.
|
|
|
-+ - **stream** – 1/True/true or 0/False/false, return stream.
|
|
|
- Default false
|
|
|
-- - **stdin** – 1/True/true or 0/False/false, if stream=true, attach
|
|
|
-+ - **stdin** – 1/True/true or 0/False/false, if stream=true, attach
|
|
|
- to stdin. Default false
|
|
|
-- - **stdout** – 1/True/true or 0/False/false, if logs=true, return
|
|
|
-+ - **stdout** – 1/True/true or 0/False/false, if logs=true, return
|
|
|
- stdout log, if stream=true, attach to stdout. Default false
|
|
|
-- - **stderr** – 1/True/true or 0/False/false, if logs=true, return
|
|
|
-+ - **stderr** – 1/True/true or 0/False/false, if logs=true, return
|
|
|
- stderr log, if stream=true, attach to stderr. Default false
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Wait a container:
|
|
|
-+#### [Wait a container](#id15)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/wait`{.descname}
|
|
|
- : Block until container `id` stops, then returns
|
|
|
-@@ -404,11 +453,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Remove a container:
|
|
|
-+#### [Remove a container](#id16)
|
|
|
-
|
|
|
- `DELETE `{.descname}`/containers/`{.descname}(*id*)
|
|
|
- : Remove the container `id` from the filesystem
|
|
|
-@@ -425,19 +474,19 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **v** – 1/True/true or 0/False/false, Remove the volumes
|
|
|
-+ - **v** – 1/True/true or 0/False/false, Remove the volumes
|
|
|
- associated to the container. Default false
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--## Images
|
|
|
-+### [2.2 Images](#id17)
|
|
|
-
|
|
|
--### List images:
|
|
|
-+#### [List Images](#id18)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/`{.descname}(*format*)
|
|
|
- : List images `format` could be json or viz (json
|
|
|
-@@ -498,16 +547,16 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **all** – 1/True/true or 0/False/false, Show all containers.
|
|
|
-+ - **all** – 1/True/true or 0/False/false, Show all containers.
|
|
|
- Only running containers are shown by default
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Create an image:
|
|
|
-+#### [Create an image](#id19)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/create`{.descname}
|
|
|
- : Create an image, either by pull it from the registry or by importing
|
|
|
-@@ -528,18 +577,18 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **fromImage** – name of the image to pull
|
|
|
-- - **fromSrc** – source to import, - means stdin
|
|
|
-- - **repo** – repository
|
|
|
-- - **tag** – tag
|
|
|
-- - **registry** – the registry to pull from
|
|
|
-+ - **fromImage** – name of the image to pull
|
|
|
-+ - **fromSrc** – source to import, - means stdin
|
|
|
-+ - **repo** – repository
|
|
|
-+ - **tag** – tag
|
|
|
-+ - **registry** – the registry to pull from
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Insert a file in an image:
|
|
|
-+#### [Insert a file in an image](#id20)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/`{.descname}(*name*)`/insert`{.descname}
|
|
|
- : Insert a file from `url` in the image
|
|
|
-@@ -557,10 +606,10 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Inspect an image:
|
|
|
-+#### [Inspect an image](#id21)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/`{.descname}(*name*)`/json`{.descname}
|
|
|
- : Return low-level information on the image `name`
|
|
|
-@@ -603,11 +652,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such image
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Get the history of an image:
|
|
|
-+#### [Get the history of an image](#id22)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/`{.descname}(*name*)`/history`{.descname}
|
|
|
- : Return the history of the image `name`
|
|
|
-@@ -636,11 +685,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such image
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Push an image on the registry:
|
|
|
-+#### [Push an image on the registry](#id23)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/`{.descname}(*name*)`/push`{.descname}
|
|
|
- : Push the image `name` on the registry
|
|
|
-@@ -660,15 +709,15 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **registry** – the registry you wan to push, optional
|
|
|
-+ - **registry** – the registry you wan to push, optional
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such image
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Tag an image into a repository:
|
|
|
-+#### [Tag an image into a repository](#id24)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/`{.descname}(*name*)`/tag`{.descname}
|
|
|
- : Tag the image `name` into a repository
|
|
|
-@@ -685,17 +734,17 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **repo** – The repository to tag in
|
|
|
-- - **force** – 1/True/true or 0/False/false, default false
|
|
|
-+ - **repo** – The repository to tag in
|
|
|
-+ - **force** – 1/True/true or 0/False/false, default false
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **201** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **404** – no such image
|
|
|
-- - **500** – server error
|
|
|
-+ - **201** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Remove an image:
|
|
|
-+#### [Remove an image](#id25)
|
|
|
-
|
|
|
- `DELETE `{.descname}`/images/`{.descname}(*name*)
|
|
|
- : Remove the image `name` from the filesystem
|
|
|
-@@ -710,11 +759,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **404** – no such image
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Search images:
|
|
|
-+#### [Search images](#id26)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/search`{.descname}
|
|
|
- : Search for an image in the docker index
|
|
|
-@@ -747,9 +796,9 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
- :statuscode 200: no error
|
|
|
- :statuscode 500: server error
|
|
|
-
|
|
|
--## Misc
|
|
|
-+### [2.3 Misc](#id27)
|
|
|
-
|
|
|
--### Build an image from Dockerfile via stdin:
|
|
|
-+#### [Build an image from Dockerfile via stdin](#id28)
|
|
|
-
|
|
|
- `POST `{.descname}`/build`{.descname}
|
|
|
- : Build an image from Dockerfile via stdin
|
|
|
-@@ -770,15 +819,15 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **t** – repository name to be applied to the resulting image in
|
|
|
-+ - **t** – repository name to be applied to the resulting image in
|
|
|
- case of success
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--#### [Get default username and email
|
|
|
-+#### [Get default username and email](#id29)
|
|
|
-
|
|
|
- `GET `{.descname}`/auth`{.descname}
|
|
|
- : Get the default username and email
|
|
|
-@@ -799,10 +848,10 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Check auth configuration: and store it
|
|
|
-+#### [Check auth configuration and store it](#id30)
|
|
|
-
|
|
|
- `POST `{.descname}`/auth`{.descname}
|
|
|
- : Get the default username and email
|
|
|
-@@ -824,11 +873,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **204** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Display system-wide information:
|
|
|
-+#### [Display system-wide information](#id31)
|
|
|
-
|
|
|
- `GET `{.descname}`/info`{.descname}
|
|
|
- : Display system-wide information
|
|
|
-@@ -854,10 +903,10 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Show the docker version information:
|
|
|
-+#### [Show the docker version information](#id32)
|
|
|
-
|
|
|
- `GET `{.descname}`/version`{.descname}
|
|
|
- : Show the docker version information
|
|
|
-@@ -879,10 +928,10 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Create a new image from a container’s changes:
|
|
|
-+#### [Create a new image from a container’s changes](#id33)
|
|
|
-
|
|
|
- `POST `{.descname}`/commit`{.descname}
|
|
|
- : Create a new image from a container’s changes
|
|
|
-@@ -908,41 +957,41 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **container** – source container
|
|
|
-- - **repo** – repository
|
|
|
-- - **tag** – tag
|
|
|
-- - **m** – commit message
|
|
|
-- - **author** – author (eg. “John Hannibal Smith
|
|
|
-+ - **container** – source container
|
|
|
-+ - **repo** – repository
|
|
|
-+ - **tag** – tag
|
|
|
-+ - **m** – commit message
|
|
|
-+ - **author** – author (eg. “John Hannibal Smith
|
|
|
- \<[hannibal@a-team.com](mailto:hannibal%40a-team.com)\>”)
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **201** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **201** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--## Going Further
|
|
|
-+## [3. Going further](#id34)
|
|
|
-
|
|
|
--### Inside ‘docker run’
|
|
|
-+### [3.1 Inside ‘docker run’](#id35)
|
|
|
-
|
|
|
- Here are the steps of ‘docker run’ :
|
|
|
-
|
|
|
--- Create the container
|
|
|
-+- Create the container
|
|
|
-
|
|
|
--- If the status code is 404, it means the image doesn’t exists:
|
|
|
-- : - Try to pull it
|
|
|
-- - Then retry to create the container
|
|
|
-+- If the status code is 404, it means the image doesn’t exists:
|
|
|
-+ : - Try to pull it
|
|
|
-+ - Then retry to create the container
|
|
|
-
|
|
|
--- Start the container
|
|
|
-+- Start the container
|
|
|
-
|
|
|
--- If you are not in detached mode:
|
|
|
-- : - Attach to the container, using logs=1 (to have stdout and
|
|
|
-+- If you are not in detached mode:
|
|
|
-+ : - Attach to the container, using logs=1 (to have stdout and
|
|
|
- stderr from the container’s start) and stream=1
|
|
|
-
|
|
|
--- If in detached mode or only stdin is attached:
|
|
|
-- : - Display the container’s id
|
|
|
-+- If in detached mode or only stdin is attached:
|
|
|
-+ : - Display the container’s id
|
|
|
-
|
|
|
--### Hijacking
|
|
|
-+### [3.2 Hijacking](#id36)
|
|
|
-
|
|
|
- In this first version of the API, some of the endpoints, like /attach,
|
|
|
- /pull or /push uses hijacking to transport stdin, stdout and stderr on
|
|
|
-diff --git a/docs/sources/reference/api/docker_remote_api_v1.1.md b/docs/sources/reference/api/docker_remote_api_v1.1.md
|
|
|
-index 476b942..2d510f4 100644
|
|
|
---- a/docs/sources/reference/api/docker_remote_api_v1.1.md
|
|
|
-+++ b/docs/sources/reference/api/docker_remote_api_v1.1.md
|
|
|
-@@ -2,21 +2,70 @@ page_title: Remote API v1.1
|
|
|
- page_description: API Documentation for Docker
|
|
|
- page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
--# Docker Remote API v1.1
|
|
|
--
|
|
|
--## Introduction
|
|
|
--
|
|
|
--- The Remote API is replacing rcli
|
|
|
--- Default port in the docker daemon is 4243
|
|
|
--- The API tends to be REST, but for some complex commands, like attach
|
|
|
-+# [Docker Remote API v1.1](#id1)
|
|
|
-+
|
|
|
-+Table of Contents
|
|
|
-+
|
|
|
-+- [Docker Remote API v1.1](#docker-remote-api-v1-1)
|
|
|
-+ - [1. Brief introduction](#brief-introduction)
|
|
|
-+ - [2. Endpoints](#endpoints)
|
|
|
-+ - [2.1 Containers](#containers)
|
|
|
-+ - [List containers](#list-containers)
|
|
|
-+ - [Create a container](#create-a-container)
|
|
|
-+ - [Inspect a container](#inspect-a-container)
|
|
|
-+ - [Inspect changes on a container’s
|
|
|
-+ filesystem](#inspect-changes-on-a-container-s-filesystem)
|
|
|
-+ - [Export a container](#export-a-container)
|
|
|
-+ - [Start a container](#start-a-container)
|
|
|
-+ - [Stop a container](#stop-a-container)
|
|
|
-+ - [Restart a container](#restart-a-container)
|
|
|
-+ - [Kill a container](#kill-a-container)
|
|
|
-+ - [Attach to a container](#attach-to-a-container)
|
|
|
-+ - [Wait a container](#wait-a-container)
|
|
|
-+ - [Remove a container](#remove-a-container)
|
|
|
-+ - [2.2 Images](#images)
|
|
|
-+ - [List Images](#list-images)
|
|
|
-+ - [Create an image](#create-an-image)
|
|
|
-+ - [Insert a file in an image](#insert-a-file-in-an-image)
|
|
|
-+ - [Inspect an image](#inspect-an-image)
|
|
|
-+ - [Get the history of an
|
|
|
-+ image](#get-the-history-of-an-image)
|
|
|
-+ - [Push an image on the
|
|
|
-+ registry](#push-an-image-on-the-registry)
|
|
|
-+ - [Tag an image into a
|
|
|
-+ repository](#tag-an-image-into-a-repository)
|
|
|
-+ - [Remove an image](#remove-an-image)
|
|
|
-+ - [Search images](#search-images)
|
|
|
-+ - [2.3 Misc](#misc)
|
|
|
-+ - [Build an image from Dockerfile via
|
|
|
-+ stdin](#build-an-image-from-dockerfile-via-stdin)
|
|
|
-+ - [Get default username and
|
|
|
-+ email](#get-default-username-and-email)
|
|
|
-+ - [Check auth configuration and store
|
|
|
-+ it](#check-auth-configuration-and-store-it)
|
|
|
-+ - [Display system-wide
|
|
|
-+ information](#display-system-wide-information)
|
|
|
-+ - [Show the docker version
|
|
|
-+ information](#show-the-docker-version-information)
|
|
|
-+ - [Create a new image from a container’s
|
|
|
-+ changes](#create-a-new-image-from-a-container-s-changes)
|
|
|
-+ - [3. Going further](#going-further)
|
|
|
-+ - [3.1 Inside ‘docker run’](#inside-docker-run)
|
|
|
-+ - [3.2 Hijacking](#hijacking)
|
|
|
-+
|
|
|
-+## [1. Brief introduction](#id2)
|
|
|
-+
|
|
|
-+- The Remote API is replacing rcli
|
|
|
-+- Default port in the docker daemon is 4243
|
|
|
-+- The API tends to be REST, but for some complex commands, like attach
|
|
|
- or pull, the HTTP connection is hijacked to transport stdout stdin
|
|
|
- and stderr
|
|
|
-
|
|
|
--## Endpoints
|
|
|
-+## [2. Endpoints](#id3)
|
|
|
-
|
|
|
--### Containers
|
|
|
-+### [2.1 Containers](#id4)
|
|
|
-
|
|
|
--### List containers:
|
|
|
-+#### [List containers](#id5)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/json`{.descname}
|
|
|
- : List containers
|
|
|
-@@ -65,22 +114,22 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **all** – 1/True/true or 0/False/false, Show all containers.
|
|
|
-+ - **all** – 1/True/true or 0/False/false, Show all containers.
|
|
|
- Only running containers are shown by default
|
|
|
-- - **limit** – Show `limit` last created
|
|
|
-+ - **limit** – Show `limit` last created
|
|
|
- containers, include non-running ones.
|
|
|
-- - **since** – Show only containers created since Id, include
|
|
|
-+ - **since** – Show only containers created since Id, include
|
|
|
- non-running ones.
|
|
|
-- - **before** – Show only containers created before Id, include
|
|
|
-+ - **before** – Show only containers created before Id, include
|
|
|
- non-running ones.
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Create a container:
|
|
|
-+#### [Create a container](#id6)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/create`{.descname}
|
|
|
- : Create a container
|
|
|
-@@ -126,16 +175,16 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **config** – the container’s configuration
|
|
|
-+ - **config** – the container’s configuration
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **201** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **406** – impossible to attach (container not running)
|
|
|
-- - **500** – server error
|
|
|
-+ - **201** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **406** – impossible to attach (container not running)
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Inspect a container:
|
|
|
-+#### [Inspect a container](#id7)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/`{.descname}(*id*)`/json`{.descname}
|
|
|
- : Return low-level information on the container `id`{.docutils
|
|
|
-@@ -198,11 +247,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Inspect changes on a container’s filesystem:]
|
|
|
-+#### [Inspect changes on a container’s filesystem](#id8)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/`{.descname}(*id*)`/changes`{.descname}
|
|
|
- : Inspect changes on container `id` ‘s filesystem
|
|
|
-@@ -233,11 +282,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Export a container:
|
|
|
-+#### [Export a container](#id9)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/`{.descname}(*id*)`/export`{.descname}
|
|
|
- : Export the contents of container `id`
|
|
|
-@@ -255,11 +304,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Start a container:
|
|
|
-+#### [Start a container](#id10)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/start`{.descname}
|
|
|
- : Start the container `id`
|
|
|
-@@ -274,11 +323,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Stop a container:
|
|
|
-+#### [Stop a container](#id11)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/stop`{.descname}
|
|
|
- : Stop the container `id`
|
|
|
-@@ -295,15 +344,15 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **t** – number of seconds to wait before killing the container
|
|
|
-+ - **t** – number of seconds to wait before killing the container
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Restart a container:
|
|
|
-+#### [Restart a container](#id12)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/restart`{.descname}
|
|
|
- : Restart the container `id`
|
|
|
-@@ -320,15 +369,15 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **t** – number of seconds to wait before killing the container
|
|
|
-+ - **t** – number of seconds to wait before killing the container
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Kill a container:
|
|
|
-+#### [Kill a container](#id13)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/kill`{.descname}
|
|
|
- : Kill the container `id`
|
|
|
-@@ -343,11 +392,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Attach to a container:
|
|
|
-+#### [Attach to a container](#id14)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/attach`{.descname}
|
|
|
- : Attach to the container `id`
|
|
|
-@@ -367,25 +416,25 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **logs** – 1/True/true or 0/False/false, return logs. Default
|
|
|
-+ - **logs** – 1/True/true or 0/False/false, return logs. Default
|
|
|
- false
|
|
|
-- - **stream** – 1/True/true or 0/False/false, return stream.
|
|
|
-+ - **stream** – 1/True/true or 0/False/false, return stream.
|
|
|
- Default false
|
|
|
-- - **stdin** – 1/True/true or 0/False/false, if stream=true, attach
|
|
|
-+ - **stdin** – 1/True/true or 0/False/false, if stream=true, attach
|
|
|
- to stdin. Default false
|
|
|
-- - **stdout** – 1/True/true or 0/False/false, if logs=true, return
|
|
|
-+ - **stdout** – 1/True/true or 0/False/false, if logs=true, return
|
|
|
- stdout log, if stream=true, attach to stdout. Default false
|
|
|
-- - **stderr** – 1/True/true or 0/False/false, if logs=true, return
|
|
|
-+ - **stderr** – 1/True/true or 0/False/false, if logs=true, return
|
|
|
- stderr log, if stream=true, attach to stderr. Default false
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Wait a container:
|
|
|
-+#### [Wait a container](#id15)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/wait`{.descname}
|
|
|
- : Block until container `id` stops, then returns
|
|
|
-@@ -404,11 +453,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Remove a container:
|
|
|
-+#### [Remove a container](#id16)
|
|
|
-
|
|
|
- `DELETE `{.descname}`/containers/`{.descname}(*id*)
|
|
|
- : Remove the container `id` from the filesystem
|
|
|
-@@ -425,19 +474,19 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **v** – 1/True/true or 0/False/false, Remove the volumes
|
|
|
-+ - **v** – 1/True/true or 0/False/false, Remove the volumes
|
|
|
- associated to the container. Default false
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--## Images
|
|
|
-+### [2.2 Images](#id17)
|
|
|
-
|
|
|
--### List images:
|
|
|
-+#### [List Images](#id18)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/`{.descname}(*format*)
|
|
|
- : List images `format` could be json or viz (json
|
|
|
-@@ -498,16 +547,16 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **all** – 1/True/true or 0/False/false, Show all containers.
|
|
|
-+ - **all** – 1/True/true or 0/False/false, Show all containers.
|
|
|
- Only running containers are shown by default
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Create an image:
|
|
|
-+#### [Create an image](#id19)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/create`{.descname}
|
|
|
- : Create an image, either by pull it from the registry or by importing
|
|
|
-@@ -531,18 +580,18 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **fromImage** – name of the image to pull
|
|
|
-- - **fromSrc** – source to import, - means stdin
|
|
|
-- - **repo** – repository
|
|
|
-- - **tag** – tag
|
|
|
-- - **registry** – the registry to pull from
|
|
|
-+ - **fromImage** – name of the image to pull
|
|
|
-+ - **fromSrc** – source to import, - means stdin
|
|
|
-+ - **repo** – repository
|
|
|
-+ - **tag** – tag
|
|
|
-+ - **registry** – the registry to pull from
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Insert a file in an image:
|
|
|
-+#### [Insert a file in an image](#id20)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/`{.descname}(*name*)`/insert`{.descname}
|
|
|
- : Insert a file from `url` in the image
|
|
|
-@@ -564,10 +613,10 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Inspect an image:
|
|
|
-+#### [Inspect an image](#id21)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/`{.descname}(*name*)`/json`{.descname}
|
|
|
- : Return low-level information on the image `name`
|
|
|
-@@ -610,11 +659,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such image
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Get the history of an image:
|
|
|
-+#### [Get the history of an image](#id22)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/`{.descname}(*name*)`/history`{.descname}
|
|
|
- : Return the history of the image `name`
|
|
|
-@@ -643,11 +692,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such image
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Push an image on the registry:
|
|
|
-+#### [Push an image on the registry](#id23)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/`{.descname}(*name*)`/push`{.descname}
|
|
|
- : Push the image `name` on the registry
|
|
|
-@@ -670,15 +719,15 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **registry** – the registry you wan to push, optional
|
|
|
-+ - **registry** – the registry you wan to push, optional
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such image
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Tag an image into a repository:
|
|
|
-+#### [Tag an image into a repository](#id24)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/`{.descname}(*name*)`/tag`{.descname}
|
|
|
- : Tag the image `name` into a repository
|
|
|
-@@ -695,18 +744,18 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **repo** – The repository to tag in
|
|
|
-- - **force** – 1/True/true or 0/False/false, default false
|
|
|
-+ - **repo** – The repository to tag in
|
|
|
-+ - **force** – 1/True/true or 0/False/false, default false
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **201** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **404** – no such image
|
|
|
-- - **409** – conflict
|
|
|
-- - **500** – server error
|
|
|
-+ - **201** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **409** – conflict
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Remove an image:
|
|
|
-+#### [Remove an image](#id25)
|
|
|
-
|
|
|
- `DELETE `{.descname}`/images/`{.descname}(*name*)
|
|
|
- : Remove the image `name` from the filesystem
|
|
|
-@@ -721,11 +770,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **404** – no such image
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Search images:
|
|
|
-+#### [Search images](#id26)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/search`{.descname}
|
|
|
- : Search for an image in the docker index
|
|
|
-@@ -758,9 +807,9 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
- :statuscode 200: no error
|
|
|
- :statuscode 500: server error
|
|
|
-
|
|
|
--## Misc
|
|
|
-+### [2.3 Misc](#id27)
|
|
|
-
|
|
|
--### Build an image from Dockerfile via stdin:
|
|
|
-+#### [Build an image from Dockerfile via stdin](#id28)
|
|
|
-
|
|
|
- `POST `{.descname}`/build`{.descname}
|
|
|
- : Build an image from Dockerfile via stdin
|
|
|
-@@ -781,15 +830,15 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **t** – tag to be applied to the resulting image in case of
|
|
|
-+ - **t** – tag to be applied to the resulting image in case of
|
|
|
- success
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--#### [Get default username and email
|
|
|
-+#### [Get default username and email](#id29)
|
|
|
-
|
|
|
- `GET `{.descname}`/auth`{.descname}
|
|
|
- : Get the default username and email
|
|
|
-@@ -810,10 +859,10 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Check auth configuration: and store it
|
|
|
-+#### [Check auth configuration and store it](#id30)
|
|
|
-
|
|
|
- `POST `{.descname}`/auth`{.descname}
|
|
|
- : Get the default username and email
|
|
|
-@@ -835,11 +884,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **204** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Display system-wide information:
|
|
|
-+#### [Display system-wide information](#id31)
|
|
|
-
|
|
|
- `GET `{.descname}`/info`{.descname}
|
|
|
- : Display system-wide information
|
|
|
-@@ -865,10 +914,10 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Show the docker version information:
|
|
|
-+#### [Show the docker version information](#id32)
|
|
|
-
|
|
|
- `GET `{.descname}`/version`{.descname}
|
|
|
- : Show the docker version information
|
|
|
-@@ -890,10 +939,10 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Create a new image from a container’s changes:
|
|
|
-+#### [Create a new image from a container’s changes](#id33)
|
|
|
-
|
|
|
- `POST `{.descname}`/commit`{.descname}
|
|
|
- : Create a new image from a container’s changes
|
|
|
-@@ -919,41 +968,41 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **container** – source container
|
|
|
-- - **repo** – repository
|
|
|
-- - **tag** – tag
|
|
|
-- - **m** – commit message
|
|
|
-- - **author** – author (eg. “John Hannibal Smith
|
|
|
-+ - **container** – source container
|
|
|
-+ - **repo** – repository
|
|
|
-+ - **tag** – tag
|
|
|
-+ - **m** – commit message
|
|
|
-+ - **author** – author (eg. “John Hannibal Smith
|
|
|
- \<[hannibal@a-team.com](mailto:hannibal%40a-team.com)\>”)
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **201** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **201** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--## Going Further
|
|
|
-+## [3. Going further](#id34)
|
|
|
-
|
|
|
--### Inside ‘docker run’
|
|
|
-+### [3.1 Inside ‘docker run’](#id35)
|
|
|
-
|
|
|
- Here are the steps of ‘docker run’ :
|
|
|
-
|
|
|
--- Create the container
|
|
|
-+- Create the container
|
|
|
-
|
|
|
--- If the status code is 404, it means the image doesn’t exists:
|
|
|
-- : - Try to pull it
|
|
|
-- - Then retry to create the container
|
|
|
-+- If the status code is 404, it means the image doesn’t exists:
|
|
|
-+ : - Try to pull it
|
|
|
-+ - Then retry to create the container
|
|
|
-
|
|
|
--- Start the container
|
|
|
-+- Start the container
|
|
|
-
|
|
|
--- If you are not in detached mode:
|
|
|
-- : - Attach to the container, using logs=1 (to have stdout and
|
|
|
-+- If you are not in detached mode:
|
|
|
-+ : - Attach to the container, using logs=1 (to have stdout and
|
|
|
- stderr from the container’s start) and stream=1
|
|
|
-
|
|
|
--- If in detached mode or only stdin is attached:
|
|
|
-- : - Display the container’s id
|
|
|
-+- If in detached mode or only stdin is attached:
|
|
|
-+ : - Display the container’s id
|
|
|
-
|
|
|
--### Hijacking
|
|
|
-+### [3.2 Hijacking](#id36)
|
|
|
-
|
|
|
- In this version of the API, /attach uses hijacking to transport stdin,
|
|
|
- stdout and stderr on the same socket. This might change in the future.
|
|
|
-diff --git a/docs/sources/reference/api/docker_remote_api_v1.10.md b/docs/sources/reference/api/docker_remote_api_v1.10.md
|
|
|
-index b6aa5bc..2a99f72 100644
|
|
|
---- a/docs/sources/reference/api/docker_remote_api_v1.10.md
|
|
|
-+++ b/docs/sources/reference/api/docker_remote_api_v1.10.md
|
|
|
-@@ -2,24 +2,80 @@ page_title: Remote API v1.10
|
|
|
- page_description: API Documentation for Docker
|
|
|
- page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
--# Docker Remote API v1.10
|
|
|
--
|
|
|
--## Introduction
|
|
|
--
|
|
|
--- The Remote API has replaced rcli
|
|
|
--- The daemon listens on `unix:///var/run/docker.sock`{.docutils
|
|
|
-+# [Docker Remote API v1.10](#id1)
|
|
|
-+
|
|
|
-+Table of Contents
|
|
|
-+
|
|
|
-+- [Docker Remote API v1.10](#docker-remote-api-v1-10)
|
|
|
-+ - [1. Brief introduction](#brief-introduction)
|
|
|
-+ - [2. Endpoints](#endpoints)
|
|
|
-+ - [2.1 Containers](#containers)
|
|
|
-+ - [List containers](#list-containers)
|
|
|
-+ - [Create a container](#create-a-container)
|
|
|
-+ - [Inspect a container](#inspect-a-container)
|
|
|
-+ - [List processes running inside a
|
|
|
-+ container](#list-processes-running-inside-a-container)
|
|
|
-+ - [Inspect changes on a container’s
|
|
|
-+ filesystem](#inspect-changes-on-a-container-s-filesystem)
|
|
|
-+ - [Export a container](#export-a-container)
|
|
|
-+ - [Start a container](#start-a-container)
|
|
|
-+ - [Stop a container](#stop-a-container)
|
|
|
-+ - [Restart a container](#restart-a-container)
|
|
|
-+ - [Kill a container](#kill-a-container)
|
|
|
-+ - [Attach to a container](#attach-to-a-container)
|
|
|
-+ - [Wait a container](#wait-a-container)
|
|
|
-+ - [Remove a container](#remove-a-container)
|
|
|
-+ - [Copy files or folders from a
|
|
|
-+ container](#copy-files-or-folders-from-a-container)
|
|
|
-+ - [2.2 Images](#images)
|
|
|
-+ - [List Images](#list-images)
|
|
|
-+ - [Create an image](#create-an-image)
|
|
|
-+ - [Insert a file in an image](#insert-a-file-in-an-image)
|
|
|
-+ - [Inspect an image](#inspect-an-image)
|
|
|
-+ - [Get the history of an
|
|
|
-+ image](#get-the-history-of-an-image)
|
|
|
-+ - [Push an image on the
|
|
|
-+ registry](#push-an-image-on-the-registry)
|
|
|
-+ - [Tag an image into a
|
|
|
-+ repository](#tag-an-image-into-a-repository)
|
|
|
-+ - [Remove an image](#remove-an-image)
|
|
|
-+ - [Search images](#search-images)
|
|
|
-+ - [2.3 Misc](#misc)
|
|
|
-+ - [Build an image from Dockerfile via
|
|
|
-+ stdin](#build-an-image-from-dockerfile-via-stdin)
|
|
|
-+ - [Check auth configuration](#check-auth-configuration)
|
|
|
-+ - [Display system-wide
|
|
|
-+ information](#display-system-wide-information)
|
|
|
-+ - [Show the docker version
|
|
|
-+ information](#show-the-docker-version-information)
|
|
|
-+ - [Create a new image from a container’s
|
|
|
-+ changes](#create-a-new-image-from-a-container-s-changes)
|
|
|
-+ - [Monitor Docker’s events](#monitor-docker-s-events)
|
|
|
-+ - [Get a tarball containing all images and tags in a
|
|
|
-+ repository](#get-a-tarball-containing-all-images-and-tags-in-a-repository)
|
|
|
-+ - [Load a tarball with a set of images and tags into
|
|
|
-+ docker](#load-a-tarball-with-a-set-of-images-and-tags-into-docker)
|
|
|
-+ - [3. Going further](#going-further)
|
|
|
-+ - [3.1 Inside ‘docker run’](#inside-docker-run)
|
|
|
-+ - [3.2 Hijacking](#hijacking)
|
|
|
-+ - [3.3 CORS Requests](#cors-requests)
|
|
|
-+
|
|
|
-+## [1. Brief introduction](#id2)
|
|
|
-+
|
|
|
-+- The Remote API has replaced rcli
|
|
|
-+- The daemon listens on `unix:///var/run/docker.sock`{.docutils
|
|
|
- .literal}, but you can [*Bind Docker to another host/port or a Unix
|
|
|
- socket*](../../../use/basics/#bind-docker).
|
|
|
--- The API tends to be REST, but for some complex commands, like
|
|
|
-+- The API tends to be REST, but for some complex commands, like
|
|
|
- `attach` or `pull`{.docutils .literal}, the HTTP
|
|
|
- connection is hijacked to transport `stdout, stdin`{.docutils
|
|
|
- .literal} and `stderr`
|
|
|
-
|
|
|
--## Endpoints
|
|
|
-+## [2. Endpoints](#id3)
|
|
|
-
|
|
|
--### Containers
|
|
|
-+### [2.1 Containers](#id4)
|
|
|
-
|
|
|
--### List containers:
|
|
|
-+#### [List containers](#id5)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/json`{.descname}
|
|
|
- : List containers
|
|
|
-@@ -80,24 +136,24 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **all** – 1/True/true or 0/False/false, Show all containers.
|
|
|
-+ - **all** – 1/True/true or 0/False/false, Show all containers.
|
|
|
- Only running containers are shown by default
|
|
|
-- - **limit** – Show `limit` last created
|
|
|
-+ - **limit** – Show `limit` last created
|
|
|
- containers, include non-running ones.
|
|
|
-- - **since** – Show only containers created since Id, include
|
|
|
-+ - **since** – Show only containers created since Id, include
|
|
|
- non-running ones.
|
|
|
-- - **before** – Show only containers created before Id, include
|
|
|
-+ - **before** – Show only containers created before Id, include
|
|
|
- non-running ones.
|
|
|
-- - **size** – 1/True/true or 0/False/false, Show the containers
|
|
|
-+ - **size** – 1/True/true or 0/False/false, Show the containers
|
|
|
- sizes
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Create a container:
|
|
|
-+#### [Create a container](#id6)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/create`{.descname}
|
|
|
- : Create a container
|
|
|
-@@ -130,6 +186,7 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
- },
|
|
|
- "VolumesFrom":"",
|
|
|
- "WorkingDir":"",
|
|
|
-+ "DisableNetwork": false,
|
|
|
- "ExposedPorts":{
|
|
|
- "22/tcp": {}
|
|
|
- }
|
|
|
-@@ -149,23 +206,23 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **config** – the container’s configuration
|
|
|
-+ - **config** – the container’s configuration
|
|
|
-
|
|
|
- Query Parameters:
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **name** – Assign the specified name to the container. Must
|
|
|
-+ - **name** – Assign the specified name to the container. Must
|
|
|
- match `/?[a-zA-Z0-9_-]+`.
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **201** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **406** – impossible to attach (container not running)
|
|
|
-- - **500** – server error
|
|
|
-+ - **201** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **406** – impossible to attach (container not running)
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Inspect a container:
|
|
|
-+#### [Inspect a container](#id7)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/`{.descname}(*id*)`/json`{.descname}
|
|
|
- : Return low-level information on the container `id`{.docutils
|
|
|
-@@ -246,11 +303,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### List processes running inside a container:
|
|
|
-+#### [List processes running inside a container](#id8)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/`{.descname}(*id*)`/top`{.descname}
|
|
|
- : List processes running inside the container `id`
|
|
|
-@@ -288,15 +345,15 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **ps\_args** – ps arguments to use (eg. aux)
|
|
|
-+ - **ps\_args** – ps arguments to use (eg. aux)
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Inspect changes on a container’s filesystem:
|
|
|
-+#### [Inspect changes on a container’s filesystem](#id9)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/`{.descname}(*id*)`/changes`{.descname}
|
|
|
- : Inspect changes on container `id` ‘s filesystem
|
|
|
-@@ -327,11 +384,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Export a container:
|
|
|
-+#### [Export a container](#id10)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/`{.descname}(*id*)`/export`{.descname}
|
|
|
- : Export the contents of container `id`
|
|
|
-@@ -349,11 +406,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Start a container:
|
|
|
-+#### [Start a container](#id11)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/start`{.descname}
|
|
|
- : Start the container `id`
|
|
|
-@@ -380,15 +437,15 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **hostConfig** – the container’s host configuration (optional)
|
|
|
-+ - **hostConfig** – the container’s host configuration (optional)
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Stop a container:
|
|
|
-+#### [Stop a container](#id12)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/stop`{.descname}
|
|
|
- : Stop the container `id`
|
|
|
-@@ -405,15 +462,15 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **t** – number of seconds to wait before killing the container
|
|
|
-+ - **t** – number of seconds to wait before killing the container
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Restart a container:
|
|
|
-+#### [Restart a container](#id13)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/restart`{.descname}
|
|
|
- : Restart the container `id`
|
|
|
-@@ -430,15 +487,15 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **t** – number of seconds to wait before killing the container
|
|
|
-+ - **t** – number of seconds to wait before killing the container
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Kill a container:
|
|
|
-+#### [Kill a container](#id14)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/kill`{.descname}
|
|
|
- : Kill the container `id`
|
|
|
-@@ -453,11 +510,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Attach to a container:
|
|
|
-+#### [Attach to a container](#id15)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/attach`{.descname}
|
|
|
- : Attach to the container `id`
|
|
|
-@@ -477,23 +534,23 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **logs** – 1/True/true or 0/False/false, return logs. Default
|
|
|
-+ - **logs** – 1/True/true or 0/False/false, return logs. Default
|
|
|
- false
|
|
|
-- - **stream** – 1/True/true or 0/False/false, return stream.
|
|
|
-+ - **stream** – 1/True/true or 0/False/false, return stream.
|
|
|
- Default false
|
|
|
-- - **stdin** – 1/True/true or 0/False/false, if stream=true, attach
|
|
|
-+ - **stdin** – 1/True/true or 0/False/false, if stream=true, attach
|
|
|
- to stdin. Default false
|
|
|
-- - **stdout** – 1/True/true or 0/False/false, if logs=true, return
|
|
|
-+ - **stdout** – 1/True/true or 0/False/false, if logs=true, return
|
|
|
- stdout log, if stream=true, attach to stdout. Default false
|
|
|
-- - **stderr** – 1/True/true or 0/False/false, if logs=true, return
|
|
|
-+ - **stderr** – 1/True/true or 0/False/false, if logs=true, return
|
|
|
- stderr log, if stream=true, attach to stderr. Default false
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
- **Stream details**:
|
|
|
-
|
|
|
-@@ -518,9 +575,9 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- `STREAM_TYPE` can be:
|
|
|
-
|
|
|
-- - 0: stdin (will be writen on stdout)
|
|
|
-- - 1: stdout
|
|
|
-- - 2: stderr
|
|
|
-+ - 0: stdin (will be writen on stdout)
|
|
|
-+ - 1: stdout
|
|
|
-+ - 2: stderr
|
|
|
-
|
|
|
- `SIZE1, SIZE2, SIZE3, SIZE4` are the 4 bytes of
|
|
|
- the uint32 size encoded as big endian.
|
|
|
-@@ -539,7 +596,7 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
- 4. Read the extracted size and output it on the correct output
|
|
|
- 5. Goto 1)
|
|
|
-
|
|
|
--### Wait a container:
|
|
|
-+#### [Wait a container](#id16)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/wait`{.descname}
|
|
|
- : Block until container `id` stops, then returns
|
|
|
-@@ -558,11 +615,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Remove a container:
|
|
|
-+#### [Remove a container](#id17)
|
|
|
-
|
|
|
- `DELETE `{.descname}`/containers/`{.descname}(*id*)
|
|
|
- : Remove the container `id` from the filesystem
|
|
|
-@@ -579,17 +636,19 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **v** – 1/True/true or 0/False/false, Remove the volumes
|
|
|
-+ - **v** – 1/True/true or 0/False/false, Remove the volumes
|
|
|
- associated to the container. Default false
|
|
|
-+ - **force** – 1/True/true or 0/False/false, Removes the container
|
|
|
-+ even if it was running. Default false
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Copy files or folders from a container:
|
|
|
-+#### [Copy files or folders from a container](#id18)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/copy`{.descname}
|
|
|
- : Copy files or folders of container `id`
|
|
|
-@@ -612,13 +671,13 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--## Images
|
|
|
-+### [2.2 Images](#id19)
|
|
|
-
|
|
|
--### List images:
|
|
|
-+#### [List Images](#id20)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/json`{.descname}
|
|
|
- : **Example request**:
|
|
|
-@@ -655,7 +714,7 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
- }
|
|
|
- ]
|
|
|
-
|
|
|
--### Create an image:
|
|
|
-+#### [Create an image](#id21)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/create`{.descname}
|
|
|
- : Create an image, either by pull it from the registry or by importing
|
|
|
-@@ -683,24 +742,24 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **fromImage** – name of the image to pull
|
|
|
-- - **fromSrc** – source to import, - means stdin
|
|
|
-- - **repo** – repository
|
|
|
-- - **tag** – tag
|
|
|
-- - **registry** – the registry to pull from
|
|
|
-+ - **fromImage** – name of the image to pull
|
|
|
-+ - **fromSrc** – source to import, - means stdin
|
|
|
-+ - **repo** – repository
|
|
|
-+ - **tag** – tag
|
|
|
-+ - **registry** – the registry to pull from
|
|
|
-
|
|
|
- Request Headers:
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **X-Registry-Auth** – base64-encoded AuthConfig object
|
|
|
-+ - **X-Registry-Auth** – base64-encoded AuthConfig object
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Insert a file in an image:
|
|
|
-+#### [Insert a file in an image](#id22)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/`{.descname}(*name*)`/insert`{.descname}
|
|
|
- : Insert a file from `url` in the image
|
|
|
-@@ -722,10 +781,10 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Inspect an image:
|
|
|
-+#### [Inspect an image](#id23)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/`{.descname}(*name*)`/json`{.descname}
|
|
|
- : Return low-level information on the image `name`
|
|
|
-@@ -770,11 +829,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such image
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Get the history of an image:
|
|
|
-+#### [Get the history of an image](#id24)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/`{.descname}(*name*)`/history`{.descname}
|
|
|
- : Return the history of the image `name`
|
|
|
-@@ -803,11 +862,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such image
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Push an image on the registry:
|
|
|
-+#### [Push an image on the registry](#id25)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/`{.descname}(*name*)`/push`{.descname}
|
|
|
- : Push the image `name` on the registry
|
|
|
-@@ -830,22 +889,22 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **registry** – the registry you wan to push, optional
|
|
|
-+ - **registry** – the registry you wan to push, optional
|
|
|
-
|
|
|
- Request Headers:
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **X-Registry-Auth** – include a base64-encoded AuthConfig
|
|
|
-+ - **X-Registry-Auth** – include a base64-encoded AuthConfig
|
|
|
- object.
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such image
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Tag an image into a repository:
|
|
|
-+#### [Tag an image into a repository](#id26)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/`{.descname}(*name*)`/tag`{.descname}
|
|
|
- : Tag the image `name` into a repository
|
|
|
-@@ -862,18 +921,18 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **repo** – The repository to tag in
|
|
|
-- - **force** – 1/True/true or 0/False/false, default false
|
|
|
-+ - **repo** – The repository to tag in
|
|
|
-+ - **force** – 1/True/true or 0/False/false, default false
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **201** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **404** – no such image
|
|
|
-- - **409** – conflict
|
|
|
-- - **500** – server error
|
|
|
-+ - **201** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **409** – conflict
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Remove an image:
|
|
|
-+#### [Remove an image](#id27)
|
|
|
-
|
|
|
- `DELETE `{.descname}`/images/`{.descname}(*name*)
|
|
|
- : Remove the image `name` from the filesystem
|
|
|
-@@ -897,16 +956,17 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **force** – 1/True/true or 0/False/false, default false
|
|
|
-+ - **force** – 1/True/true or 0/False/false, default false
|
|
|
-+ - **noprune** – 1/True/true or 0/False/false, default false
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such image
|
|
|
-- - **409** – conflict
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **409** – conflict
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Search images:
|
|
|
-+#### [Search images](#id28)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/search`{.descname}
|
|
|
- : Search for an image in the docker index.
|
|
|
-@@ -954,16 +1014,16 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **term** – term to search
|
|
|
-+ - **term** – term to search
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--## Misc
|
|
|
-+### [2.3 Misc](#id29)
|
|
|
-
|
|
|
--### Build an image from Dockerfile via stdin:
|
|
|
-+#### [Build an image from Dockerfile via stdin](#id30)
|
|
|
-
|
|
|
- `POST `{.descname}`/build`{.descname}
|
|
|
- : Build an image from Dockerfile via stdin
|
|
|
-@@ -995,25 +1055,25 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **t** – repository name (and optionally a tag) to be applied to
|
|
|
-+ - **t** – repository name (and optionally a tag) to be applied to
|
|
|
- the resulting image in case of success
|
|
|
-- - **q** – suppress verbose build output
|
|
|
-- - **nocache** – do not use the cache when building the image
|
|
|
-+ - **q** – suppress verbose build output
|
|
|
-+ - **nocache** – do not use the cache when building the image
|
|
|
-
|
|
|
- Request Headers:
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **Content-type** – should be set to
|
|
|
-+ - **Content-type** – should be set to
|
|
|
- `"application/tar"`.
|
|
|
-- - **X-Registry-Config** – base64-encoded ConfigFile object
|
|
|
-+ - **X-Registry-Config** – base64-encoded ConfigFile object
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Check auth configuration:
|
|
|
-+#### [Check auth configuration](#id31)
|
|
|
-
|
|
|
- `POST `{.descname}`/auth`{.descname}
|
|
|
- : Get the default username and email
|
|
|
-@@ -1036,11 +1096,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **204** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Display system-wide information:
|
|
|
-+#### [Display system-wide information](#id32)
|
|
|
-
|
|
|
- `GET `{.descname}`/info`{.descname}
|
|
|
- : Display system-wide information
|
|
|
-@@ -1067,10 +1127,10 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Show the docker version information:
|
|
|
-+#### [Show the docker version information](#id33)
|
|
|
-
|
|
|
- `GET `{.descname}`/version`{.descname}
|
|
|
- : Show the docker version information
|
|
|
-@@ -1092,10 +1152,10 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Create a new image from a container’s changes:
|
|
|
-+#### [Create a new image from a container’s changes](#id34)
|
|
|
-
|
|
|
- `POST `{.descname}`/commit`{.descname}
|
|
|
- : Create a new image from a container’s changes
|
|
|
-@@ -1115,22 +1175,22 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **container** – source container
|
|
|
-- - **repo** – repository
|
|
|
-- - **tag** – tag
|
|
|
-- - **m** – commit message
|
|
|
-- - **author** – author (eg. “John Hannibal Smith
|
|
|
-+ - **container** – source container
|
|
|
-+ - **repo** – repository
|
|
|
-+ - **tag** – tag
|
|
|
-+ - **m** – commit message
|
|
|
-+ - **author** – author (eg. “John Hannibal Smith
|
|
|
- \<[hannibal@a-team.com](mailto:hannibal%40a-team.com)\>”)
|
|
|
-- - **run** – config automatically applied when the image is run.
|
|
|
-+ - **run** – config automatically applied when the image is run.
|
|
|
- (ex: {“Cmd”: [“cat”, “/world”], “PortSpecs”:[“22”]})
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **201** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **201** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Monitor Docker’s events:
|
|
|
-+#### [Monitor Docker’s events](#id35)
|
|
|
-
|
|
|
- `GET `{.descname}`/events`{.descname}
|
|
|
- : Get events from docker, either in real time via streaming, or via
|
|
|
-@@ -1154,14 +1214,14 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **since** – timestamp used for polling
|
|
|
-+ - **since** – timestamp used for polling
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Get a tarball containing all images and tags in a repository:
|
|
|
-+#### [Get a tarball containing all images and tags in a repository](#id36)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/`{.descname}(*name*)`/get`{.descname}
|
|
|
- : Get a tarball containing all images and metadata for the repository
|
|
|
-@@ -1180,10 +1240,10 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Load a tarball with a set of images and tags into docker:
|
|
|
-+#### [Load a tarball with a set of images and tags into docker](#id37)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/load`{.descname}
|
|
|
- : Load a set of images and tags into the docker repository.
|
|
|
-@@ -1200,38 +1260,38 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--## Going Further
|
|
|
-+## [3. Going further](#id38)
|
|
|
-
|
|
|
--### Inside ‘docker run’
|
|
|
-+### [3.1 Inside ‘docker run’](#id39)
|
|
|
-
|
|
|
- Here are the steps of ‘docker run’ :
|
|
|
-
|
|
|
--- Create the container
|
|
|
-+- Create the container
|
|
|
-
|
|
|
--- If the status code is 404, it means the image doesn’t exists:
|
|
|
-- : - Try to pull it
|
|
|
-- - Then retry to create the container
|
|
|
-+- If the status code is 404, it means the image doesn’t exists:
|
|
|
-+ : - Try to pull it
|
|
|
-+ - Then retry to create the container
|
|
|
-
|
|
|
--- Start the container
|
|
|
-+- Start the container
|
|
|
-
|
|
|
--- If you are not in detached mode:
|
|
|
-- : - Attach to the container, using logs=1 (to have stdout and
|
|
|
-+- If you are not in detached mode:
|
|
|
-+ : - Attach to the container, using logs=1 (to have stdout and
|
|
|
- stderr from the container’s start) and stream=1
|
|
|
-
|
|
|
--- If in detached mode or only stdin is attached:
|
|
|
-- : - Display the container’s id
|
|
|
-+- If in detached mode or only stdin is attached:
|
|
|
-+ : - Display the container’s id
|
|
|
-
|
|
|
--### Hijacking
|
|
|
-+### [3.2 Hijacking](#id40)
|
|
|
-
|
|
|
- In this version of the API, /attach, uses hijacking to transport stdin,
|
|
|
- stdout and stderr on the same socket. This might change in the future.
|
|
|
-
|
|
|
--### CORS Requests
|
|
|
-+### [3.3 CORS Requests](#id41)
|
|
|
-
|
|
|
- To enable cross origin requests to the remote api add the flag
|
|
|
--“-api-enable-cors” when running docker in daemon mode.
|
|
|
-+“–api-enable-cors” when running docker in daemon mode.
|
|
|
-
|
|
|
-- docker -d -H="192.168.1.9:4243" -api-enable-cors
|
|
|
-+ docker -d -H="192.168.1.9:4243" --api-enable-cors
|
|
|
-diff --git a/docs/sources/reference/api/docker_remote_api_v1.2.md b/docs/sources/reference/api/docker_remote_api_v1.2.md
|
|
|
-index 5a70c94..b11bce6 100644
|
|
|
---- a/docs/sources/reference/api/docker_remote_api_v1.2.md
|
|
|
-+++ b/docs/sources/reference/api/docker_remote_api_v1.2.md
|
|
|
-@@ -2,21 +2,68 @@ page_title: Remote API v1.2
|
|
|
- page_description: API Documentation for Docker
|
|
|
- page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
--# Docker Remote API v1.2
|
|
|
--
|
|
|
--## Introduction
|
|
|
--
|
|
|
--- The Remote API is replacing rcli
|
|
|
--- Default port in the docker daemon is 4243
|
|
|
--- The API tends to be REST, but for some complex commands, like attach
|
|
|
-+# [Docker Remote API v1.2](#id1)
|
|
|
-+
|
|
|
-+Table of Contents
|
|
|
-+
|
|
|
-+- [Docker Remote API v1.2](#docker-remote-api-v1-2)
|
|
|
-+ - [1. Brief introduction](#brief-introduction)
|
|
|
-+ - [2. Endpoints](#endpoints)
|
|
|
-+ - [2.1 Containers](#containers)
|
|
|
-+ - [List containers](#list-containers)
|
|
|
-+ - [Create a container](#create-a-container)
|
|
|
-+ - [Inspect a container](#inspect-a-container)
|
|
|
-+ - [Inspect changes on a container’s
|
|
|
-+ filesystem](#inspect-changes-on-a-container-s-filesystem)
|
|
|
-+ - [Export a container](#export-a-container)
|
|
|
-+ - [Start a container](#start-a-container)
|
|
|
-+ - [Stop a container](#stop-a-container)
|
|
|
-+ - [Restart a container](#restart-a-container)
|
|
|
-+ - [Kill a container](#kill-a-container)
|
|
|
-+ - [Attach to a container](#attach-to-a-container)
|
|
|
-+ - [Wait a container](#wait-a-container)
|
|
|
-+ - [Remove a container](#remove-a-container)
|
|
|
-+ - [2.2 Images](#images)
|
|
|
-+ - [List Images](#list-images)
|
|
|
-+ - [Create an image](#create-an-image)
|
|
|
-+ - [Insert a file in an image](#insert-a-file-in-an-image)
|
|
|
-+ - [Inspect an image](#inspect-an-image)
|
|
|
-+ - [Get the history of an
|
|
|
-+ image](#get-the-history-of-an-image)
|
|
|
-+ - [Push an image on the
|
|
|
-+ registry](#push-an-image-on-the-registry)
|
|
|
-+ - [Tag an image into a
|
|
|
-+ repository](#tag-an-image-into-a-repository)
|
|
|
-+ - [Remove an image](#remove-an-image)
|
|
|
-+ - [Search images](#search-images)
|
|
|
-+ - [2.3 Misc](#misc)
|
|
|
-+ - [Build an image from Dockerfile via
|
|
|
-+ stdin](#build-an-image-from-dockerfile-via-stdin)
|
|
|
-+ - [Check auth configuration](#check-auth-configuration)
|
|
|
-+ - [Display system-wide
|
|
|
-+ information](#display-system-wide-information)
|
|
|
-+ - [Show the docker version
|
|
|
-+ information](#show-the-docker-version-information)
|
|
|
-+ - [Create a new image from a container’s
|
|
|
-+ changes](#create-a-new-image-from-a-container-s-changes)
|
|
|
-+ - [3. Going further](#going-further)
|
|
|
-+ - [3.1 Inside ‘docker run’](#inside-docker-run)
|
|
|
-+ - [3.2 Hijacking](#hijacking)
|
|
|
-+ - [3.3 CORS Requests](#cors-requests)
|
|
|
-+
|
|
|
-+## [1. Brief introduction](#id2)
|
|
|
-+
|
|
|
-+- The Remote API is replacing rcli
|
|
|
-+- Default port in the docker daemon is 4243
|
|
|
-+- The API tends to be REST, but for some complex commands, like attach
|
|
|
- or pull, the HTTP connection is hijacked to transport stdout stdin
|
|
|
- and stderr
|
|
|
-
|
|
|
--## Endpoints
|
|
|
-+## [2. Endpoints](#id3)
|
|
|
-
|
|
|
--### Containers
|
|
|
-+### [2.1 Containers](#id4)
|
|
|
-
|
|
|
--### List containers:
|
|
|
-+#### [List containers](#id5)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/json`{.descname}
|
|
|
- : List containers
|
|
|
-@@ -77,22 +124,22 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **all** – 1/True/true or 0/False/false, Show all containers.
|
|
|
-+ - **all** – 1/True/true or 0/False/false, Show all containers.
|
|
|
- Only running containers are shown by default
|
|
|
-- - **limit** – Show `limit` last created
|
|
|
-+ - **limit** – Show `limit` last created
|
|
|
- containers, include non-running ones.
|
|
|
-- - **since** – Show only containers created since Id, include
|
|
|
-+ - **since** – Show only containers created since Id, include
|
|
|
- non-running ones.
|
|
|
-- - **before** – Show only containers created before Id, include
|
|
|
-+ - **before** – Show only containers created before Id, include
|
|
|
- non-running ones.
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Create a container:
|
|
|
-+#### [Create a container](#id6)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/create`{.descname}
|
|
|
- : Create a container
|
|
|
-@@ -138,16 +185,16 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **config** – the container’s configuration
|
|
|
-+ - **config** – the container’s configuration
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **201** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **406** – impossible to attach (container not running)
|
|
|
-- - **500** – server error
|
|
|
-+ - **201** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **406** – impossible to attach (container not running)
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Inspect a container:
|
|
|
-+#### [Inspect a container](#id7)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/`{.descname}(*id*)`/json`{.descname}
|
|
|
- : Return low-level information on the container `id`{.docutils
|
|
|
-@@ -210,11 +257,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Inspect changes on a container’s filesystem:]
|
|
|
-+#### [Inspect changes on a container’s filesystem](#id8)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/`{.descname}(*id*)`/changes`{.descname}
|
|
|
- : Inspect changes on container `id` ‘s filesystem
|
|
|
-@@ -245,11 +292,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Export a container:
|
|
|
-+#### [Export a container](#id9)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/`{.descname}(*id*)`/export`{.descname}
|
|
|
- : Export the contents of container `id`
|
|
|
-@@ -267,11 +314,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Start a container:
|
|
|
-+#### [Start a container](#id10)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/start`{.descname}
|
|
|
- : Start the container `id`
|
|
|
-@@ -286,11 +333,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Stop a container:
|
|
|
-+#### [Stop a container](#id11)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/stop`{.descname}
|
|
|
- : Stop the container `id`
|
|
|
-@@ -307,15 +354,15 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **t** – number of seconds to wait before killing the container
|
|
|
-+ - **t** – number of seconds to wait before killing the container
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Restart a container:
|
|
|
-+#### [Restart a container](#id12)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/restart`{.descname}
|
|
|
- : Restart the container `id`
|
|
|
-@@ -332,15 +379,15 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **t** – number of seconds to wait before killing the container
|
|
|
-+ - **t** – number of seconds to wait before killing the container
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Kill a container:
|
|
|
-+#### [Kill a container](#id13)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/kill`{.descname}
|
|
|
- : Kill the container `id`
|
|
|
-@@ -355,11 +402,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Attach to a container:
|
|
|
-+#### [Attach to a container](#id14)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/attach`{.descname}
|
|
|
- : Attach to the container `id`
|
|
|
-@@ -379,25 +426,25 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **logs** – 1/True/true or 0/False/false, return logs. Default
|
|
|
-+ - **logs** – 1/True/true or 0/False/false, return logs. Default
|
|
|
- false
|
|
|
-- - **stream** – 1/True/true or 0/False/false, return stream.
|
|
|
-+ - **stream** – 1/True/true or 0/False/false, return stream.
|
|
|
- Default false
|
|
|
-- - **stdin** – 1/True/true or 0/False/false, if stream=true, attach
|
|
|
-+ - **stdin** – 1/True/true or 0/False/false, if stream=true, attach
|
|
|
- to stdin. Default false
|
|
|
-- - **stdout** – 1/True/true or 0/False/false, if logs=true, return
|
|
|
-+ - **stdout** – 1/True/true or 0/False/false, if logs=true, return
|
|
|
- stdout log, if stream=true, attach to stdout. Default false
|
|
|
-- - **stderr** – 1/True/true or 0/False/false, if logs=true, return
|
|
|
-+ - **stderr** – 1/True/true or 0/False/false, if logs=true, return
|
|
|
- stderr log, if stream=true, attach to stderr. Default false
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Wait a container:
|
|
|
-+#### [Wait a container](#id15)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/wait`{.descname}
|
|
|
- : Block until container `id` stops, then returns
|
|
|
-@@ -416,11 +463,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Remove a container:
|
|
|
-+#### [Remove a container](#id16)
|
|
|
-
|
|
|
- `DELETE `{.descname}`/containers/`{.descname}(*id*)
|
|
|
- : Remove the container `id` from the filesystem
|
|
|
-@@ -437,19 +484,19 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **v** – 1/True/true or 0/False/false, Remove the volumes
|
|
|
-+ - **v** – 1/True/true or 0/False/false, Remove the volumes
|
|
|
- associated to the container. Default false
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--## Images
|
|
|
-+### [2.2 Images](#id17)
|
|
|
-
|
|
|
--### List images:
|
|
|
-+#### [List Images](#id18)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/`{.descname}(*format*)
|
|
|
- : List images `format` could be json or viz (json
|
|
|
-@@ -514,16 +561,16 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **all** – 1/True/true or 0/False/false, Show all containers.
|
|
|
-+ - **all** – 1/True/true or 0/False/false, Show all containers.
|
|
|
- Only running containers are shown by default
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Create an image:
|
|
|
-+#### [Create an image](#id19)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/create`{.descname}
|
|
|
- : Create an image, either by pull it from the registry or by importing
|
|
|
-@@ -547,18 +594,18 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **fromImage** – name of the image to pull
|
|
|
-- - **fromSrc** – source to import, - means stdin
|
|
|
-- - **repo** – repository
|
|
|
-- - **tag** – tag
|
|
|
-- - **registry** – the registry to pull from
|
|
|
-+ - **fromImage** – name of the image to pull
|
|
|
-+ - **fromSrc** – source to import, - means stdin
|
|
|
-+ - **repo** – repository
|
|
|
-+ - **tag** – tag
|
|
|
-+ - **registry** – the registry to pull from
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Insert a file in an image:
|
|
|
-+#### [Insert a file in an image](#id20)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/`{.descname}(*name*)`/insert`{.descname}
|
|
|
- : Insert a file from `url` in the image
|
|
|
-@@ -580,10 +627,10 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Inspect an image:
|
|
|
-+#### [Inspect an image](#id21)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/`{.descname}(*name*)`/json`{.descname}
|
|
|
- : Return low-level information on the image `name`
|
|
|
-@@ -627,11 +674,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such image
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Get the history of an image:
|
|
|
-+#### [Get the history of an image](#id22)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/`{.descname}(*name*)`/history`{.descname}
|
|
|
- : Return the history of the image `name`
|
|
|
-@@ -661,11 +708,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such image
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Push an image on the registry:
|
|
|
-+#### [Push an image on the registry](#id23)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/`{.descname}(*name*)`/push`{.descname}
|
|
|
- : Push the image `name` on the registry
|
|
|
-@@ -689,15 +736,15 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **registry** – the registry you wan to push, optional
|
|
|
-+ - **registry** – the registry you wan to push, optional
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such image
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Tag an image into a repository:
|
|
|
-+#### [Tag an image into a repository](#id24)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/`{.descname}(*name*)`/tag`{.descname}
|
|
|
- : Tag the image `name` into a repository
|
|
|
-@@ -714,18 +761,18 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **repo** – The repository to tag in
|
|
|
-- - **force** – 1/True/true or 0/False/false, default false
|
|
|
-+ - **repo** – The repository to tag in
|
|
|
-+ - **force** – 1/True/true or 0/False/false, default false
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **201** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **404** – no such image
|
|
|
-- - **409** – conflict
|
|
|
-- - **500** – server error
|
|
|
-+ - **201** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **409** – conflict
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Remove an image:
|
|
|
-+#### [Remove an image](#id25)
|
|
|
-
|
|
|
- `DELETE `{.descname}`/images/`{.descname}(*name*)
|
|
|
- : Remove the image `name` from the filesystem
|
|
|
-@@ -747,12 +794,12 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **404** – no such image
|
|
|
-- - **409** – conflict
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **409** – conflict
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Search images:
|
|
|
-+#### [Search images](#id26)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/search`{.descname}
|
|
|
- : Search for an image in the docker index
|
|
|
-@@ -785,9 +832,9 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
- :statuscode 200: no error
|
|
|
- :statuscode 500: server error
|
|
|
-
|
|
|
--## Misc
|
|
|
-+### [2.3 Misc](#id27)
|
|
|
-
|
|
|
--### Build an image from Dockerfile via stdin:
|
|
|
-+#### [Build an image from Dockerfile via stdin](#id28)
|
|
|
-
|
|
|
- `POST `{.descname}`/build`{.descname}
|
|
|
- : Build an image from Dockerfile
|
|
|
-@@ -808,19 +855,19 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **t** – repository name to be applied to the resulting image in
|
|
|
-+ - **t** – repository name to be applied to the resulting image in
|
|
|
- case of success
|
|
|
-- - **remote** – resource to fetch, as URI
|
|
|
-+ - **remote** – resource to fetch, as URI
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
- {{ STREAM }} is the raw text output of the build command. It uses the
|
|
|
- HTTP Hijack method in order to stream.
|
|
|
-
|
|
|
--### Check auth configuration:
|
|
|
-+#### [Check auth configuration](#id29)
|
|
|
-
|
|
|
- `POST `{.descname}`/auth`{.descname}
|
|
|
- : Get the default username and email
|
|
|
-@@ -847,13 +894,13 @@ HTTP Hijack method in order to stream.
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **204** – no error
|
|
|
-- - **401** – unauthorized
|
|
|
-- - **403** – forbidden
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **401** – unauthorized
|
|
|
-+ - **403** – forbidden
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Display system-wide information:
|
|
|
-+#### [Display system-wide information](#id30)
|
|
|
-
|
|
|
- `GET `{.descname}`/info`{.descname}
|
|
|
- : Display system-wide information
|
|
|
-@@ -879,10 +926,10 @@ HTTP Hijack method in order to stream.
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Show the docker version information:
|
|
|
-+#### [Show the docker version information](#id31)
|
|
|
-
|
|
|
- `GET `{.descname}`/version`{.descname}
|
|
|
- : Show the docker version information
|
|
|
-@@ -904,10 +951,10 @@ HTTP Hijack method in order to stream.
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Create a new image from a container’s changes:
|
|
|
-+#### [Create a new image from a container’s changes](#id32)
|
|
|
-
|
|
|
- `POST `{.descname}`/commit`{.descname}
|
|
|
- : Create a new image from a container’s changes
|
|
|
-@@ -933,49 +980,49 @@ HTTP Hijack method in order to stream.
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **container** – source container
|
|
|
-- - **repo** – repository
|
|
|
-- - **tag** – tag
|
|
|
-- - **m** – commit message
|
|
|
-- - **author** – author (eg. “John Hannibal Smith
|
|
|
-+ - **container** – source container
|
|
|
-+ - **repo** – repository
|
|
|
-+ - **tag** – tag
|
|
|
-+ - **m** – commit message
|
|
|
-+ - **author** – author (eg. “John Hannibal Smith
|
|
|
- \<[hannibal@a-team.com](mailto:hannibal%40a-team.com)\>”)
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **201** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **201** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--## Going Further
|
|
|
-+## [3. Going further](#id33)
|
|
|
-
|
|
|
--### Inside ‘docker run’
|
|
|
-+### [3.1 Inside ‘docker run’](#id34)
|
|
|
-
|
|
|
- Here are the steps of ‘docker run’ :
|
|
|
-
|
|
|
--- Create the container
|
|
|
-+- Create the container
|
|
|
-
|
|
|
--- If the status code is 404, it means the image doesn’t exists:
|
|
|
-- : - Try to pull it
|
|
|
-- - Then retry to create the container
|
|
|
-+- If the status code is 404, it means the image doesn’t exists:
|
|
|
-+ : - Try to pull it
|
|
|
-+ - Then retry to create the container
|
|
|
-
|
|
|
--- Start the container
|
|
|
-+- Start the container
|
|
|
-
|
|
|
--- If you are not in detached mode:
|
|
|
-- : - Attach to the container, using logs=1 (to have stdout and
|
|
|
-+- If you are not in detached mode:
|
|
|
-+ : - Attach to the container, using logs=1 (to have stdout and
|
|
|
- stderr from the container’s start) and stream=1
|
|
|
-
|
|
|
--- If in detached mode or only stdin is attached:
|
|
|
-- : - Display the container’s id
|
|
|
-+- If in detached mode or only stdin is attached:
|
|
|
-+ : - Display the container’s id
|
|
|
-
|
|
|
--### Hijacking
|
|
|
-+### [3.2 Hijacking](#id35)
|
|
|
-
|
|
|
- In this version of the API, /attach, uses hijacking to transport stdin,
|
|
|
- stdout and stderr on the same socket. This might change in the future.
|
|
|
-
|
|
|
--### CORS Requests
|
|
|
-+### [3.3 CORS Requests](#id36)
|
|
|
-
|
|
|
- To enable cross origin requests to the remote api add the flag
|
|
|
--“-api-enable-cors” when running docker in daemon mode.
|
|
|
-+“–api-enable-cors” when running docker in daemon mode.
|
|
|
-
|
|
|
- > docker -d -H=”[tcp://192.168.1.9:4243](tcp://192.168.1.9:4243)”
|
|
|
--> -api-enable-cors
|
|
|
-+> –api-enable-cors
|
|
|
-diff --git a/docs/sources/reference/api/docker_remote_api_v1.3.md b/docs/sources/reference/api/docker_remote_api_v1.3.md
|
|
|
-index 7e0e6bd..4203699 100644
|
|
|
---- a/docs/sources/reference/api/docker_remote_api_v1.3.md
|
|
|
-+++ b/docs/sources/reference/api/docker_remote_api_v1.3.md
|
|
|
-@@ -2,74 +2,71 @@ page_title: Remote API v1.3
|
|
|
- page_description: API Documentation for Docker
|
|
|
- page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
--# Docker Remote API v1.3
|
|
|
-+# [Docker Remote API v1.3](#id1)
|
|
|
-
|
|
|
- Table of Contents
|
|
|
-
|
|
|
--- [Docker Remote API v1.3](#docker-remote-api-v1-3)
|
|
|
-- - [1. Brief introduction](#brief-introduction)
|
|
|
-- - [2. Endpoints](#endpoints)
|
|
|
-- - [2.1 Containers](#containers)
|
|
|
-- - [List containers](#list-containers)
|
|
|
-- - [Create a container](#create-a-container)
|
|
|
-- - [Inspect a container](#inspect-a-container)
|
|
|
-- - [List processes running inside a
|
|
|
-+- [Docker Remote API v1.3](#docker-remote-api-v1-3)
|
|
|
-+ - [1. Brief introduction](#brief-introduction)
|
|
|
-+ - [2. Endpoints](#endpoints)
|
|
|
-+ - [2.1 Containers](#containers)
|
|
|
-+ - [List containers](#list-containers)
|
|
|
-+ - [Create a container](#create-a-container)
|
|
|
-+ - [Inspect a container](#inspect-a-container)
|
|
|
-+ - [List processes running inside a
|
|
|
- container](#list-processes-running-inside-a-container)
|
|
|
-- - [Inspect changes on a container’s
|
|
|
-+ - [Inspect changes on a container’s
|
|
|
- filesystem](#inspect-changes-on-a-container-s-filesystem)
|
|
|
-- - [Export a container](#export-a-container)
|
|
|
-- - [Start a container](#start-a-container)
|
|
|
-- - [Stop a container](#stop-a-container)
|
|
|
-- - [Restart a container](#restart-a-container)
|
|
|
-- - [Kill a container](#kill-a-container)
|
|
|
-- - [Attach to a container](#attach-to-a-container)
|
|
|
-- - [Wait a container](#wait-a-container)
|
|
|
-- - [Remove a container](#remove-a-container)
|
|
|
--
|
|
|
-- - [2.2 Images](#images)
|
|
|
-- - [List Images](#list-images)
|
|
|
-- - [Create an image](#create-an-image)
|
|
|
-- - [Insert a file in an image](#insert-a-file-in-an-image)
|
|
|
-- - [Inspect an image](#inspect-an-image)
|
|
|
-- - [Get the history of an
|
|
|
-+ - [Export a container](#export-a-container)
|
|
|
-+ - [Start a container](#start-a-container)
|
|
|
-+ - [Stop a container](#stop-a-container)
|
|
|
-+ - [Restart a container](#restart-a-container)
|
|
|
-+ - [Kill a container](#kill-a-container)
|
|
|
-+ - [Attach to a container](#attach-to-a-container)
|
|
|
-+ - [Wait a container](#wait-a-container)
|
|
|
-+ - [Remove a container](#remove-a-container)
|
|
|
-+ - [2.2 Images](#images)
|
|
|
-+ - [List Images](#list-images)
|
|
|
-+ - [Create an image](#create-an-image)
|
|
|
-+ - [Insert a file in an image](#insert-a-file-in-an-image)
|
|
|
-+ - [Inspect an image](#inspect-an-image)
|
|
|
-+ - [Get the history of an
|
|
|
- image](#get-the-history-of-an-image)
|
|
|
-- - [Push an image on the
|
|
|
-+ - [Push an image on the
|
|
|
- registry](#push-an-image-on-the-registry)
|
|
|
-- - [Tag an image into a
|
|
|
-+ - [Tag an image into a
|
|
|
- repository](#tag-an-image-into-a-repository)
|
|
|
-- - [Remove an image](#remove-an-image)
|
|
|
-- - [Search images](#search-images)
|
|
|
--
|
|
|
-- - [2.3 Misc](#misc)
|
|
|
-- - [Build an image from Dockerfile via
|
|
|
-+ - [Remove an image](#remove-an-image)
|
|
|
-+ - [Search images](#search-images)
|
|
|
-+ - [2.3 Misc](#misc)
|
|
|
-+ - [Build an image from Dockerfile via
|
|
|
- stdin](#build-an-image-from-dockerfile-via-stdin)
|
|
|
-- - [Check auth configuration](#check-auth-configuration)
|
|
|
-- - [Display system-wide
|
|
|
-+ - [Check auth configuration](#check-auth-configuration)
|
|
|
-+ - [Display system-wide
|
|
|
- information](#display-system-wide-information)
|
|
|
-- - [Show the docker version
|
|
|
-+ - [Show the docker version
|
|
|
- information](#show-the-docker-version-information)
|
|
|
-- - [Create a new image from a container’s
|
|
|
-+ - [Create a new image from a container’s
|
|
|
- changes](#create-a-new-image-from-a-container-s-changes)
|
|
|
-- - [Monitor Docker’s events](#monitor-docker-s-events)
|
|
|
--
|
|
|
-- - [3. Going further](#going-further)
|
|
|
-- - [3.1 Inside ‘docker run’](#inside-docker-run)
|
|
|
-- - [3.2 Hijacking](#hijacking)
|
|
|
-- - [3.3 CORS Requests](#cors-requests)
|
|
|
-+ - [Monitor Docker’s events](#monitor-docker-s-events)
|
|
|
-+ - [3. Going further](#going-further)
|
|
|
-+ - [3.1 Inside ‘docker run’](#inside-docker-run)
|
|
|
-+ - [3.2 Hijacking](#hijacking)
|
|
|
-+ - [3.3 CORS Requests](#cors-requests)
|
|
|
-
|
|
|
--## Introduction
|
|
|
-+## [1. Brief introduction](#id2)
|
|
|
-
|
|
|
--- The Remote API is replacing rcli
|
|
|
--- Default port in the docker daemon is 4243
|
|
|
--- The API tends to be REST, but for some complex commands, like attach
|
|
|
-+- The Remote API is replacing rcli
|
|
|
-+- Default port in the docker daemon is 4243
|
|
|
-+- The API tends to be REST, but for some complex commands, like attach
|
|
|
- or pull, the HTTP connection is hijacked to transport stdout stdin
|
|
|
- and stderr
|
|
|
-
|
|
|
--## Endpoints
|
|
|
-+## [2. Endpoints](#id3)
|
|
|
-
|
|
|
--### Containers
|
|
|
-+### [2.1 Containers](#id4)
|
|
|
-
|
|
|
--### List containers:
|
|
|
-+#### [List containers](#id5)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/json`{.descname}
|
|
|
- : List containers
|
|
|
-@@ -130,24 +127,24 @@ Table of Contents
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **all** – 1/True/true or 0/False/false, Show all containers.
|
|
|
-+ - **all** – 1/True/true or 0/False/false, Show all containers.
|
|
|
- Only running containers are shown by default
|
|
|
-- - **limit** – Show `limit` last created
|
|
|
-+ - **limit** – Show `limit` last created
|
|
|
- containers, include non-running ones.
|
|
|
-- - **since** – Show only containers created since Id, include
|
|
|
-+ - **since** – Show only containers created since Id, include
|
|
|
- non-running ones.
|
|
|
-- - **before** – Show only containers created before Id, include
|
|
|
-+ - **before** – Show only containers created before Id, include
|
|
|
- non-running ones.
|
|
|
-- - **size** – 1/True/true or 0/False/false, Show the containers
|
|
|
-+ - **size** – 1/True/true or 0/False/false, Show the containers
|
|
|
- sizes
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Create a container:
|
|
|
-+#### [Create a container](#id6)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/create`{.descname}
|
|
|
- : Create a container
|
|
|
-@@ -193,16 +190,16 @@ Table of Contents
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **config** – the container’s configuration
|
|
|
-+ - **config** – the container’s configuration
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **201** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **406** – impossible to attach (container not running)
|
|
|
-- - **500** – server error
|
|
|
-+ - **201** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **406** – impossible to attach (container not running)
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Inspect a container:
|
|
|
-+#### [Inspect a container](#id7)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/`{.descname}(*id*)`/json`{.descname}
|
|
|
- : Return low-level information on the container `id`{.docutils
|
|
|
-@@ -265,11 +262,11 @@ Table of Contents
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### List processes running inside a container:
|
|
|
-+#### [List processes running inside a container](#id8)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/`{.descname}(*id*)`/top`{.descname}
|
|
|
- : List processes running inside the container `id`
|
|
|
-@@ -300,11 +297,11 @@ Table of Contents
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Inspect changes on a container’s filesystem:
|
|
|
-+#### [Inspect changes on a container’s filesystem](#id9)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/`{.descname}(*id*)`/changes`{.descname}
|
|
|
- : Inspect changes on container `id` ‘s filesystem
|
|
|
-@@ -335,11 +332,11 @@ Table of Contents
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Export a container:
|
|
|
-+#### [Export a container](#id10)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/`{.descname}(*id*)`/export`{.descname}
|
|
|
- : Export the contents of container `id`
|
|
|
-@@ -357,11 +354,11 @@ Table of Contents
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Start a container:
|
|
|
-+#### [Start a container](#id11)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/start`{.descname}
|
|
|
- : Start the container `id`
|
|
|
-@@ -384,15 +381,15 @@ Table of Contents
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **hostConfig** – the container’s host configuration (optional)
|
|
|
-+ - **hostConfig** – the container’s host configuration (optional)
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Stop a container:
|
|
|
-+#### [Stop a container](#id12)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/stop`{.descname}
|
|
|
- : Stop the container `id`
|
|
|
-@@ -409,15 +406,15 @@ Table of Contents
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **t** – number of seconds to wait before killing the container
|
|
|
-+ - **t** – number of seconds to wait before killing the container
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Restart a container:
|
|
|
-+#### [Restart a container](#id13)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/restart`{.descname}
|
|
|
- : Restart the container `id`
|
|
|
-@@ -434,15 +431,15 @@ Table of Contents
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **t** – number of seconds to wait before killing the container
|
|
|
-+ - **t** – number of seconds to wait before killing the container
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Kill a container:
|
|
|
-+#### [Kill a container](#id14)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/kill`{.descname}
|
|
|
- : Kill the container `id`
|
|
|
-@@ -457,11 +454,11 @@ Table of Contents
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Attach to a container:
|
|
|
-+#### [Attach to a container](#id15)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/attach`{.descname}
|
|
|
- : Attach to the container `id`
|
|
|
-@@ -481,25 +478,25 @@ Table of Contents
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **logs** – 1/True/true or 0/False/false, return logs. Default
|
|
|
-+ - **logs** – 1/True/true or 0/False/false, return logs. Default
|
|
|
- false
|
|
|
-- - **stream** – 1/True/true or 0/False/false, return stream.
|
|
|
-+ - **stream** – 1/True/true or 0/False/false, return stream.
|
|
|
- Default false
|
|
|
-- - **stdin** – 1/True/true or 0/False/false, if stream=true, attach
|
|
|
-+ - **stdin** – 1/True/true or 0/False/false, if stream=true, attach
|
|
|
- to stdin. Default false
|
|
|
-- - **stdout** – 1/True/true or 0/False/false, if logs=true, return
|
|
|
-+ - **stdout** – 1/True/true or 0/False/false, if logs=true, return
|
|
|
- stdout log, if stream=true, attach to stdout. Default false
|
|
|
-- - **stderr** – 1/True/true or 0/False/false, if logs=true, return
|
|
|
-+ - **stderr** – 1/True/true or 0/False/false, if logs=true, return
|
|
|
- stderr log, if stream=true, attach to stderr. Default false
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Wait a container:
|
|
|
-+#### [Wait a container](#id16)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/wait`{.descname}
|
|
|
- : Block until container `id` stops, then returns
|
|
|
-@@ -518,11 +515,11 @@ Table of Contents
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Remove a container:
|
|
|
-+#### [Remove a container](#id17)
|
|
|
-
|
|
|
- `DELETE `{.descname}`/containers/`{.descname}(*id*)
|
|
|
- : Remove the container `id` from the filesystem
|
|
|
-@@ -539,19 +536,19 @@ Table of Contents
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **v** – 1/True/true or 0/False/false, Remove the volumes
|
|
|
-+ - **v** – 1/True/true or 0/False/false, Remove the volumes
|
|
|
- associated to the container. Default false
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--## Images
|
|
|
-+### [2.2 Images](#id18)
|
|
|
-
|
|
|
--### List images:
|
|
|
-+#### [List Images](#id19)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/`{.descname}(*format*)
|
|
|
- : List images `format` could be json or viz (json
|
|
|
-@@ -616,16 +613,16 @@ Table of Contents
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **all** – 1/True/true or 0/False/false, Show all containers.
|
|
|
-+ - **all** – 1/True/true or 0/False/false, Show all containers.
|
|
|
- Only running containers are shown by default
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Create an image:
|
|
|
-+#### [Create an image](#id20)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/create`{.descname}
|
|
|
- : Create an image, either by pull it from the registry or by importing
|
|
|
-@@ -649,18 +646,18 @@ Table of Contents
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **fromImage** – name of the image to pull
|
|
|
-- - **fromSrc** – source to import, - means stdin
|
|
|
-- - **repo** – repository
|
|
|
-- - **tag** – tag
|
|
|
-- - **registry** – the registry to pull from
|
|
|
-+ - **fromImage** – name of the image to pull
|
|
|
-+ - **fromSrc** – source to import, - means stdin
|
|
|
-+ - **repo** – repository
|
|
|
-+ - **tag** – tag
|
|
|
-+ - **registry** – the registry to pull from
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Insert a file in an image:
|
|
|
-+#### [Insert a file in an image](#id21)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/`{.descname}(*name*)`/insert`{.descname}
|
|
|
- : Insert a file from `url` in the image
|
|
|
-@@ -682,10 +679,10 @@ Table of Contents
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Inspect an image:
|
|
|
-+#### [Inspect an image](#id22)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/`{.descname}(*name*)`/json`{.descname}
|
|
|
- : Return low-level information on the image `name`
|
|
|
-@@ -729,11 +726,11 @@ Table of Contents
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such image
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Get the history of an image:
|
|
|
-+#### [Get the history of an image](#id23)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/`{.descname}(*name*)`/history`{.descname}
|
|
|
- : Return the history of the image `name`
|
|
|
-@@ -762,11 +759,11 @@ Table of Contents
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such image
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Push an image on the registry:
|
|
|
-+#### [Push an image on the registry](#id24)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/`{.descname}(*name*)`/push`{.descname}
|
|
|
- : Push the image `name` on the registry
|
|
|
-@@ -790,15 +787,15 @@ Table of Contents
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **registry** – the registry you wan to push, optional
|
|
|
-+ - **registry** – the registry you wan to push, optional
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such image
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Tag an image into a repository:
|
|
|
-+#### [Tag an image into a repository](#id25)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/`{.descname}(*name*)`/tag`{.descname}
|
|
|
- : Tag the image `name` into a repository
|
|
|
-@@ -815,18 +812,18 @@ Table of Contents
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **repo** – The repository to tag in
|
|
|
-- - **force** – 1/True/true or 0/False/false, default false
|
|
|
-+ - **repo** – The repository to tag in
|
|
|
-+ - **force** – 1/True/true or 0/False/false, default false
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **201** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **404** – no such image
|
|
|
-- - **409** – conflict
|
|
|
-- - **500** – server error
|
|
|
-+ - **201** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **409** – conflict
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Remove an image:
|
|
|
-+#### [Remove an image](#id26)
|
|
|
-
|
|
|
- `DELETE `{.descname}`/images/`{.descname}(*name*)
|
|
|
- : Remove the image `name` from the filesystem
|
|
|
-@@ -848,12 +845,12 @@ Table of Contents
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such image
|
|
|
-- - **409** – conflict
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **409** – conflict
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Search images:
|
|
|
-+#### [Search images](#id27)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/search`{.descname}
|
|
|
- : Search for an image in the docker index
|
|
|
-@@ -886,9 +883,9 @@ Table of Contents
|
|
|
- :statuscode 200: no error
|
|
|
- :statuscode 500: server error
|
|
|
-
|
|
|
--## Misc
|
|
|
-+### [2.3 Misc](#id28)
|
|
|
-
|
|
|
--### Build an image from Dockerfile via stdin:
|
|
|
-+#### [Build an image from Dockerfile via stdin](#id29)
|
|
|
-
|
|
|
- `POST `{.descname}`/build`{.descname}
|
|
|
- : Build an image from Dockerfile via stdin
|
|
|
-@@ -917,16 +914,16 @@ Table of Contents
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **t** – repository name (and optionally a tag) to be applied to
|
|
|
-+ - **t** – repository name (and optionally a tag) to be applied to
|
|
|
- the resulting image in case of success
|
|
|
-- - **q** – suppress verbose build output
|
|
|
-+ - **q** – suppress verbose build output
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Check auth configuration:
|
|
|
-+#### [Check auth configuration](#id30)
|
|
|
-
|
|
|
- `POST `{.descname}`/auth`{.descname}
|
|
|
- : Get the default username and email
|
|
|
-@@ -948,11 +945,11 @@ Table of Contents
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **204** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Display system-wide information:
|
|
|
-+#### [Display system-wide information](#id31)
|
|
|
-
|
|
|
- `GET `{.descname}`/info`{.descname}
|
|
|
- : Display system-wide information
|
|
|
-@@ -981,10 +978,10 @@ Table of Contents
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Show the docker version information:
|
|
|
-+#### [Show the docker version information](#id32)
|
|
|
-
|
|
|
- `GET `{.descname}`/version`{.descname}
|
|
|
- : Show the docker version information
|
|
|
-@@ -1006,10 +1003,10 @@ Table of Contents
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Create a new image from a container’s changes:
|
|
|
-+#### [Create a new image from a container’s changes](#id33)
|
|
|
-
|
|
|
- `POST `{.descname}`/commit`{.descname}
|
|
|
- : Create a new image from a container’s changes
|
|
|
-@@ -1035,20 +1032,20 @@ Table of Contents
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **container** – source container
|
|
|
-- - **repo** – repository
|
|
|
-- - **tag** – tag
|
|
|
-- - **m** – commit message
|
|
|
-- - **author** – author (eg. “John Hannibal Smith
|
|
|
-+ - **container** – source container
|
|
|
-+ - **repo** – repository
|
|
|
-+ - **tag** – tag
|
|
|
-+ - **m** – commit message
|
|
|
-+ - **author** – author (eg. “John Hannibal Smith
|
|
|
- \<[hannibal@a-team.com](mailto:hannibal%40a-team.com)\>”)
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **201** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **201** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Monitor Docker’s events:
|
|
|
-+#### [Monitor Docker’s events](#id34)
|
|
|
-
|
|
|
- `GET `{.descname}`/events`{.descname}
|
|
|
- : Get events from docker, either in real time via streaming, or via
|
|
|
-@@ -1072,42 +1069,42 @@ Table of Contents
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **since** – timestamp used for polling
|
|
|
-+ - **since** – timestamp used for polling
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--## Going Further
|
|
|
-+## [3. Going further](#id35)
|
|
|
-
|
|
|
--### Inside ‘docker run’
|
|
|
-+### [3.1 Inside ‘docker run’](#id36)
|
|
|
-
|
|
|
- Here are the steps of ‘docker run’ :
|
|
|
-
|
|
|
--- Create the container
|
|
|
-+- Create the container
|
|
|
-
|
|
|
--- If the status code is 404, it means the image doesn’t exists:
|
|
|
-- : - Try to pull it
|
|
|
-- - Then retry to create the container
|
|
|
-+- If the status code is 404, it means the image doesn’t exists:
|
|
|
-+ : - Try to pull it
|
|
|
-+ - Then retry to create the container
|
|
|
-
|
|
|
--- Start the container
|
|
|
-+- Start the container
|
|
|
-
|
|
|
--- If you are not in detached mode:
|
|
|
-- : - Attach to the container, using logs=1 (to have stdout and
|
|
|
-+- If you are not in detached mode:
|
|
|
-+ : - Attach to the container, using logs=1 (to have stdout and
|
|
|
- stderr from the container’s start) and stream=1
|
|
|
-
|
|
|
--- If in detached mode or only stdin is attached:
|
|
|
-- : - Display the container’s id
|
|
|
-+- If in detached mode or only stdin is attached:
|
|
|
-+ : - Display the container’s id
|
|
|
-
|
|
|
--### Hijacking
|
|
|
-+### [3.2 Hijacking](#id37)
|
|
|
-
|
|
|
- In this version of the API, /attach, uses hijacking to transport stdin,
|
|
|
- stdout and stderr on the same socket. This might change in the future.
|
|
|
-
|
|
|
--### CORS Requests
|
|
|
-+### [3.3 CORS Requests](#id38)
|
|
|
-
|
|
|
- To enable cross origin requests to the remote api add the flag
|
|
|
--“-api-enable-cors” when running docker in daemon mode.
|
|
|
-+“–api-enable-cors” when running docker in daemon mode.
|
|
|
-
|
|
|
--> docker -d -H=”192.168.1.9:4243” -api-enable-cors
|
|
|
-+> docker -d -H=”192.168.1.9:4243” –api-enable-cors
|
|
|
-diff --git a/docs/sources/reference/api/docker_remote_api_v1.4.md b/docs/sources/reference/api/docker_remote_api_v1.4.md
|
|
|
-index f665b1e..4eca2a6 100644
|
|
|
---- a/docs/sources/reference/api/docker_remote_api_v1.4.md
|
|
|
-+++ b/docs/sources/reference/api/docker_remote_api_v1.4.md
|
|
|
-@@ -2,21 +2,73 @@ page_title: Remote API v1.4
|
|
|
- page_description: API Documentation for Docker
|
|
|
- page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
--# Docker Remote API v1.4
|
|
|
--
|
|
|
--## Introduction
|
|
|
--
|
|
|
--- The Remote API is replacing rcli
|
|
|
--- Default port in the docker daemon is 4243
|
|
|
--- The API tends to be REST, but for some complex commands, like attach
|
|
|
-+# [Docker Remote API v1.4](#id1)
|
|
|
-+
|
|
|
-+Table of Contents
|
|
|
-+
|
|
|
-+- [Docker Remote API v1.4](#docker-remote-api-v1-4)
|
|
|
-+ - [1. Brief introduction](#brief-introduction)
|
|
|
-+ - [2. Endpoints](#endpoints)
|
|
|
-+ - [2.1 Containers](#containers)
|
|
|
-+ - [List containers](#list-containers)
|
|
|
-+ - [Create a container](#create-a-container)
|
|
|
-+ - [Inspect a container](#inspect-a-container)
|
|
|
-+ - [List processes running inside a
|
|
|
-+ container](#list-processes-running-inside-a-container)
|
|
|
-+ - [Inspect changes on a container’s
|
|
|
-+ filesystem](#inspect-changes-on-a-container-s-filesystem)
|
|
|
-+ - [Export a container](#export-a-container)
|
|
|
-+ - [Start a container](#start-a-container)
|
|
|
-+ - [Stop a container](#stop-a-container)
|
|
|
-+ - [Restart a container](#restart-a-container)
|
|
|
-+ - [Kill a container](#kill-a-container)
|
|
|
-+ - [Attach to a container](#attach-to-a-container)
|
|
|
-+ - [Wait a container](#wait-a-container)
|
|
|
-+ - [Remove a container](#remove-a-container)
|
|
|
-+ - [Copy files or folders from a
|
|
|
-+ container](#copy-files-or-folders-from-a-container)
|
|
|
-+ - [2.2 Images](#images)
|
|
|
-+ - [List Images](#list-images)
|
|
|
-+ - [Create an image](#create-an-image)
|
|
|
-+ - [Insert a file in an image](#insert-a-file-in-an-image)
|
|
|
-+ - [Inspect an image](#inspect-an-image)
|
|
|
-+ - [Get the history of an
|
|
|
-+ image](#get-the-history-of-an-image)
|
|
|
-+ - [Push an image on the
|
|
|
-+ registry](#push-an-image-on-the-registry)
|
|
|
-+ - [Tag an image into a
|
|
|
-+ repository](#tag-an-image-into-a-repository)
|
|
|
-+ - [Remove an image](#remove-an-image)
|
|
|
-+ - [Search images](#search-images)
|
|
|
-+ - [2.3 Misc](#misc)
|
|
|
-+ - [Build an image from Dockerfile via
|
|
|
-+ stdin](#build-an-image-from-dockerfile-via-stdin)
|
|
|
-+ - [Check auth configuration](#check-auth-configuration)
|
|
|
-+ - [Display system-wide
|
|
|
-+ information](#display-system-wide-information)
|
|
|
-+ - [Show the docker version
|
|
|
-+ information](#show-the-docker-version-information)
|
|
|
-+ - [Create a new image from a container’s
|
|
|
-+ changes](#create-a-new-image-from-a-container-s-changes)
|
|
|
-+ - [Monitor Docker’s events](#monitor-docker-s-events)
|
|
|
-+ - [3. Going further](#going-further)
|
|
|
-+ - [3.1 Inside ‘docker run’](#inside-docker-run)
|
|
|
-+ - [3.2 Hijacking](#hijacking)
|
|
|
-+ - [3.3 CORS Requests](#cors-requests)
|
|
|
-+
|
|
|
-+## [1. Brief introduction](#id2)
|
|
|
-+
|
|
|
-+- The Remote API is replacing rcli
|
|
|
-+- Default port in the docker daemon is 4243
|
|
|
-+- The API tends to be REST, but for some complex commands, like attach
|
|
|
- or pull, the HTTP connection is hijacked to transport stdout stdin
|
|
|
- and stderr
|
|
|
-
|
|
|
--## Endpoints
|
|
|
-+## [2. Endpoints](#id3)
|
|
|
-
|
|
|
--### Containers
|
|
|
-+### [2.1 Containers](#id4)
|
|
|
-
|
|
|
--### List containers:
|
|
|
-+#### [List containers](#id5)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/json`{.descname}
|
|
|
- : List containers
|
|
|
-@@ -77,24 +129,24 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **all** – 1/True/true or 0/False/false, Show all containers.
|
|
|
-+ - **all** – 1/True/true or 0/False/false, Show all containers.
|
|
|
- Only running containers are shown by default
|
|
|
-- - **limit** – Show `limit` last created
|
|
|
-+ - **limit** – Show `limit` last created
|
|
|
- containers, include non-running ones.
|
|
|
-- - **since** – Show only containers created since Id, include
|
|
|
-+ - **since** – Show only containers created since Id, include
|
|
|
- non-running ones.
|
|
|
-- - **before** – Show only containers created before Id, include
|
|
|
-+ - **before** – Show only containers created before Id, include
|
|
|
- non-running ones.
|
|
|
-- - **size** – 1/True/true or 0/False/false, Show the containers
|
|
|
-+ - **size** – 1/True/true or 0/False/false, Show the containers
|
|
|
- sizes
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Create a container:
|
|
|
-+#### [Create a container](#id6)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/create`{.descname}
|
|
|
- : Create a container
|
|
|
-@@ -143,16 +195,16 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **config** – the container’s configuration
|
|
|
-+ - **config** – the container’s configuration
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **201** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **406** – impossible to attach (container not running)
|
|
|
-- - **500** – server error
|
|
|
-+ - **201** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **406** – impossible to attach (container not running)
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Inspect a container:
|
|
|
-+#### [Inspect a container](#id7)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/`{.descname}(*id*)`/json`{.descname}
|
|
|
- : Return low-level information on the container `id`{.docutils
|
|
|
-@@ -217,12 +269,12 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **409** – conflict between containers and images
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **409** – conflict between containers and images
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### List processes running inside a container:
|
|
|
-+#### [List processes running inside a container](#id8)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/`{.descname}(*id*)`/top`{.descname}
|
|
|
- : List processes running inside the container `id`
|
|
|
-@@ -260,15 +312,15 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **ps\_args** – ps arguments to use (eg. aux)
|
|
|
-+ - **ps\_args** – ps arguments to use (eg. aux)
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Inspect changes on a container’s filesystem:
|
|
|
-+#### [Inspect changes on a container’s filesystem](#id9)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/`{.descname}(*id*)`/changes`{.descname}
|
|
|
- : Inspect changes on container `id` ‘s filesystem
|
|
|
-@@ -299,11 +351,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Export a container:
|
|
|
-+#### [Export a container](#id10)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/`{.descname}(*id*)`/export`{.descname}
|
|
|
- : Export the contents of container `id`
|
|
|
-@@ -321,11 +373,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Start a container:
|
|
|
-+#### [Start a container](#id11)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/start`{.descname}
|
|
|
- : Start the container `id`
|
|
|
-@@ -349,15 +401,15 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **hostConfig** – the container’s host configuration (optional)
|
|
|
-+ - **hostConfig** – the container’s host configuration (optional)
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Stop a container:
|
|
|
-+#### [Stop a container](#id12)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/stop`{.descname}
|
|
|
- : Stop the container `id`
|
|
|
-@@ -374,15 +426,15 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **t** – number of seconds to wait before killing the container
|
|
|
-+ - **t** – number of seconds to wait before killing the container
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Restart a container:
|
|
|
-+#### [Restart a container](#id13)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/restart`{.descname}
|
|
|
- : Restart the container `id`
|
|
|
-@@ -399,15 +451,15 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **t** – number of seconds to wait before killing the container
|
|
|
-+ - **t** – number of seconds to wait before killing the container
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Kill a container:
|
|
|
-+#### [Kill a container](#id14)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/kill`{.descname}
|
|
|
- : Kill the container `id`
|
|
|
-@@ -422,11 +474,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Attach to a container:
|
|
|
-+#### [Attach to a container](#id15)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/attach`{.descname}
|
|
|
- : Attach to the container `id`
|
|
|
-@@ -446,25 +498,25 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **logs** – 1/True/true or 0/False/false, return logs. Default
|
|
|
-+ - **logs** – 1/True/true or 0/False/false, return logs. Default
|
|
|
- false
|
|
|
-- - **stream** – 1/True/true or 0/False/false, return stream.
|
|
|
-+ - **stream** – 1/True/true or 0/False/false, return stream.
|
|
|
- Default false
|
|
|
-- - **stdin** – 1/True/true or 0/False/false, if stream=true, attach
|
|
|
-+ - **stdin** – 1/True/true or 0/False/false, if stream=true, attach
|
|
|
- to stdin. Default false
|
|
|
-- - **stdout** – 1/True/true or 0/False/false, if logs=true, return
|
|
|
-+ - **stdout** – 1/True/true or 0/False/false, if logs=true, return
|
|
|
- stdout log, if stream=true, attach to stdout. Default false
|
|
|
-- - **stderr** – 1/True/true or 0/False/false, if logs=true, return
|
|
|
-+ - **stderr** – 1/True/true or 0/False/false, if logs=true, return
|
|
|
- stderr log, if stream=true, attach to stderr. Default false
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Wait a container:
|
|
|
-+#### [Wait a container](#id16)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/wait`{.descname}
|
|
|
- : Block until container `id` stops, then returns
|
|
|
-@@ -483,11 +535,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Remove a container:
|
|
|
-+#### [Remove a container](#id17)
|
|
|
-
|
|
|
- `DELETE `{.descname}`/containers/`{.descname}(*id*)
|
|
|
- : Remove the container `id` from the filesystem
|
|
|
-@@ -504,17 +556,17 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **v** – 1/True/true or 0/False/false, Remove the volumes
|
|
|
-+ - **v** – 1/True/true or 0/False/false, Remove the volumes
|
|
|
- associated to the container. Default false
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Copy files or folders from a container:
|
|
|
-+#### [Copy files or folders from a container](#id18)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/copy`{.descname}
|
|
|
- : Copy files or folders of container `id`
|
|
|
-@@ -537,13 +589,13 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--## Images
|
|
|
-+### [2.2 Images](#id19)
|
|
|
-
|
|
|
--### List images:
|
|
|
-+#### [List Images](#id20)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/`{.descname}(*format*)
|
|
|
- : List images `format` could be json or viz (json
|
|
|
-@@ -608,16 +660,16 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **all** – 1/True/true or 0/False/false, Show all containers.
|
|
|
-+ - **all** – 1/True/true or 0/False/false, Show all containers.
|
|
|
- Only running containers are shown by default
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Create an image:
|
|
|
-+#### [Create an image](#id21)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/create`{.descname}
|
|
|
- : Create an image, either by pull it from the registry or by importing
|
|
|
-@@ -641,18 +693,18 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **fromImage** – name of the image to pull
|
|
|
-- - **fromSrc** – source to import, - means stdin
|
|
|
-- - **repo** – repository
|
|
|
-- - **tag** – tag
|
|
|
-- - **registry** – the registry to pull from
|
|
|
-+ - **fromImage** – name of the image to pull
|
|
|
-+ - **fromSrc** – source to import, - means stdin
|
|
|
-+ - **repo** – repository
|
|
|
-+ - **tag** – tag
|
|
|
-+ - **registry** – the registry to pull from
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Insert a file in an image:
|
|
|
-+#### [Insert a file in an image](#id22)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/`{.descname}(*name*)`/insert`{.descname}
|
|
|
- : Insert a file from `url` in the image
|
|
|
-@@ -674,10 +726,10 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Inspect an image:
|
|
|
-+#### [Inspect an image](#id23)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/`{.descname}(*name*)`/json`{.descname}
|
|
|
- : Return low-level information on the image `name`
|
|
|
-@@ -722,12 +774,12 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such image
|
|
|
-- - **409** – conflict between containers and images
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **409** – conflict between containers and images
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Get the history of an image:
|
|
|
-+#### [Get the history of an image](#id24)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/`{.descname}(*name*)`/history`{.descname}
|
|
|
- : Return the history of the image `name`
|
|
|
-@@ -756,11 +808,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such image
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Push an image on the registry:
|
|
|
-+#### [Push an image on the registry](#id25)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/`{.descname}(*name*)`/push`{.descname}
|
|
|
- : Push the image `name` on the registry
|
|
|
-@@ -782,14 +834,14 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **registry** – the registry you wan to push, optional
|
|
|
-+ - **registry** – the registry you wan to push, optional
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error :statuscode 404: no such image :statuscode
|
|
|
-+ - **200** – no error :statuscode 404: no such image :statuscode
|
|
|
- 500: server error
|
|
|
-
|
|
|
--### Tag an image into a repository:
|
|
|
-+#### [Tag an image into a repository](#id26)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/`{.descname}(*name*)`/tag`{.descname}
|
|
|
- : Tag the image `name` into a repository
|
|
|
-@@ -806,18 +858,18 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **repo** – The repository to tag in
|
|
|
-- - **force** – 1/True/true or 0/False/false, default false
|
|
|
-+ - **repo** – The repository to tag in
|
|
|
-+ - **force** – 1/True/true or 0/False/false, default false
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **201** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **404** – no such image
|
|
|
-- - **409** – conflict
|
|
|
-- - **500** – server error
|
|
|
-+ - **201** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **409** – conflict
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Remove an image:
|
|
|
-+#### [Remove an image](#id27)
|
|
|
-
|
|
|
- `DELETE `{.descname}`/images/`{.descname}(*name*)
|
|
|
- : Remove the image `name` from the filesystem
|
|
|
-@@ -839,12 +891,12 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such image
|
|
|
-- - **409** – conflict
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **409** – conflict
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Search images:
|
|
|
-+#### [Search images](#id28)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/search`{.descname}
|
|
|
- : Search for an image in the docker index
|
|
|
-@@ -877,9 +929,9 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
- :statuscode 200: no error
|
|
|
- :statuscode 500: server error
|
|
|
-
|
|
|
--## Misc
|
|
|
-+### [2.3 Misc](#id29)
|
|
|
-
|
|
|
--### Build an image from Dockerfile via stdin:
|
|
|
-+#### [Build an image from Dockerfile via stdin](#id30)
|
|
|
-
|
|
|
- `POST `{.descname}`/build`{.descname}
|
|
|
- : Build an image from Dockerfile via stdin
|
|
|
-@@ -908,17 +960,17 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **t** – repository name (and optionally a tag) to be applied to
|
|
|
-+ - **t** – repository name (and optionally a tag) to be applied to
|
|
|
- the resulting image in case of success
|
|
|
-- - **q** – suppress verbose build output
|
|
|
-- - **nocache** – do not use the cache when building the image
|
|
|
-+ - **q** – suppress verbose build output
|
|
|
-+ - **nocache** – do not use the cache when building the image
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Check auth configuration:
|
|
|
-+#### [Check auth configuration](#id31)
|
|
|
-
|
|
|
- `POST `{.descname}`/auth`{.descname}
|
|
|
- : Get the default username and email
|
|
|
-@@ -941,11 +993,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **204** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Display system-wide information:
|
|
|
-+#### [Display system-wide information](#id32)
|
|
|
-
|
|
|
- `GET `{.descname}`/info`{.descname}
|
|
|
- : Display system-wide information
|
|
|
-@@ -972,10 +1024,10 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Show the docker version information:
|
|
|
-+#### [Show the docker version information](#id33)
|
|
|
-
|
|
|
- `GET `{.descname}`/version`{.descname}
|
|
|
- : Show the docker version information
|
|
|
-@@ -997,10 +1049,10 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Create a new image from a container’s changes:
|
|
|
-+#### [Create a new image from a container’s changes](#id34)
|
|
|
-
|
|
|
- `POST `{.descname}`/commit`{.descname}
|
|
|
- : Create a new image from a container’s changes
|
|
|
-@@ -1026,20 +1078,20 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **container** – source container
|
|
|
-- - **repo** – repository
|
|
|
-- - **tag** – tag
|
|
|
-- - **m** – commit message
|
|
|
-- - **author** – author (eg. “John Hannibal Smith
|
|
|
-+ - **container** – source container
|
|
|
-+ - **repo** – repository
|
|
|
-+ - **tag** – tag
|
|
|
-+ - **m** – commit message
|
|
|
-+ - **author** – author (eg. “John Hannibal Smith
|
|
|
- \<[hannibal@a-team.com](mailto:hannibal%40a-team.com)\>”)
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **201** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **201** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Monitor Docker’s events:
|
|
|
-+#### [Monitor Docker’s events](#id35)
|
|
|
-
|
|
|
- `GET `{.descname}`/events`{.descname}
|
|
|
- : Get events from docker, either in real time via streaming, or via
|
|
|
-@@ -1063,42 +1115,42 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **since** – timestamp used for polling
|
|
|
-+ - **since** – timestamp used for polling
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--## Going Further
|
|
|
-+## [3. Going further](#id36)
|
|
|
-
|
|
|
--### Inside ‘docker run’
|
|
|
-+### [3.1 Inside ‘docker run’](#id37)
|
|
|
-
|
|
|
- Here are the steps of ‘docker run’ :
|
|
|
-
|
|
|
--- Create the container
|
|
|
-+- Create the container
|
|
|
-
|
|
|
--- If the status code is 404, it means the image doesn’t exists:
|
|
|
-- : - Try to pull it
|
|
|
-- - Then retry to create the container
|
|
|
-+- If the status code is 404, it means the image doesn’t exists:
|
|
|
-+ : - Try to pull it
|
|
|
-+ - Then retry to create the container
|
|
|
-
|
|
|
--- Start the container
|
|
|
-+- Start the container
|
|
|
-
|
|
|
--- If you are not in detached mode:
|
|
|
-- : - Attach to the container, using logs=1 (to have stdout and
|
|
|
-+- If you are not in detached mode:
|
|
|
-+ : - Attach to the container, using logs=1 (to have stdout and
|
|
|
- stderr from the container’s start) and stream=1
|
|
|
-
|
|
|
--- If in detached mode or only stdin is attached:
|
|
|
-- : - Display the container’s id
|
|
|
-+- If in detached mode or only stdin is attached:
|
|
|
-+ : - Display the container’s id
|
|
|
-
|
|
|
--### Hijacking
|
|
|
-+### [3.2 Hijacking](#id38)
|
|
|
-
|
|
|
- In this version of the API, /attach, uses hijacking to transport stdin,
|
|
|
- stdout and stderr on the same socket. This might change in the future.
|
|
|
-
|
|
|
--### CORS Requests
|
|
|
-+### [3.3 CORS Requests](#id39)
|
|
|
-
|
|
|
- To enable cross origin requests to the remote api add the flag
|
|
|
--“-api-enable-cors” when running docker in daemon mode.
|
|
|
-+“–api-enable-cors” when running docker in daemon mode.
|
|
|
-
|
|
|
-- docker -d -H="192.168.1.9:4243" -api-enable-cors
|
|
|
-+ docker -d -H="192.168.1.9:4243" --api-enable-cors
|
|
|
-diff --git a/docs/sources/reference/api/docker_remote_api_v1.5.md b/docs/sources/reference/api/docker_remote_api_v1.5.md
|
|
|
-index d9c3542..ff11cd1 100644
|
|
|
---- a/docs/sources/reference/api/docker_remote_api_v1.5.md
|
|
|
-+++ b/docs/sources/reference/api/docker_remote_api_v1.5.md
|
|
|
-@@ -2,21 +2,73 @@ page_title: Remote API v1.5
|
|
|
- page_description: API Documentation for Docker
|
|
|
- page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
--# Docker Remote API v1.5
|
|
|
--
|
|
|
--## Introduction
|
|
|
--
|
|
|
--- The Remote API is replacing rcli
|
|
|
--- Default port in the docker daemon is 4243
|
|
|
--- The API tends to be REST, but for some complex commands, like attach
|
|
|
-+# [Docker Remote API v1.5](#id1)
|
|
|
-+
|
|
|
-+Table of Contents
|
|
|
-+
|
|
|
-+- [Docker Remote API v1.5](#docker-remote-api-v1-5)
|
|
|
-+ - [1. Brief introduction](#brief-introduction)
|
|
|
-+ - [2. Endpoints](#endpoints)
|
|
|
-+ - [2.1 Containers](#containers)
|
|
|
-+ - [List containers](#list-containers)
|
|
|
-+ - [Create a container](#create-a-container)
|
|
|
-+ - [Inspect a container](#inspect-a-container)
|
|
|
-+ - [List processes running inside a
|
|
|
-+ container](#list-processes-running-inside-a-container)
|
|
|
-+ - [Inspect changes on a container’s
|
|
|
-+ filesystem](#inspect-changes-on-a-container-s-filesystem)
|
|
|
-+ - [Export a container](#export-a-container)
|
|
|
-+ - [Start a container](#start-a-container)
|
|
|
-+ - [Stop a container](#stop-a-container)
|
|
|
-+ - [Restart a container](#restart-a-container)
|
|
|
-+ - [Kill a container](#kill-a-container)
|
|
|
-+ - [Attach to a container](#attach-to-a-container)
|
|
|
-+ - [Wait a container](#wait-a-container)
|
|
|
-+ - [Remove a container](#remove-a-container)
|
|
|
-+ - [Copy files or folders from a
|
|
|
-+ container](#copy-files-or-folders-from-a-container)
|
|
|
-+ - [2.2 Images](#images)
|
|
|
-+ - [List Images](#list-images)
|
|
|
-+ - [Create an image](#create-an-image)
|
|
|
-+ - [Insert a file in an image](#insert-a-file-in-an-image)
|
|
|
-+ - [Inspect an image](#inspect-an-image)
|
|
|
-+ - [Get the history of an
|
|
|
-+ image](#get-the-history-of-an-image)
|
|
|
-+ - [Push an image on the
|
|
|
-+ registry](#push-an-image-on-the-registry)
|
|
|
-+ - [Tag an image into a
|
|
|
-+ repository](#tag-an-image-into-a-repository)
|
|
|
-+ - [Remove an image](#remove-an-image)
|
|
|
-+ - [Search images](#search-images)
|
|
|
-+ - [2.3 Misc](#misc)
|
|
|
-+ - [Build an image from Dockerfile via
|
|
|
-+ stdin](#build-an-image-from-dockerfile-via-stdin)
|
|
|
-+ - [Check auth configuration](#check-auth-configuration)
|
|
|
-+ - [Display system-wide
|
|
|
-+ information](#display-system-wide-information)
|
|
|
-+ - [Show the docker version
|
|
|
-+ information](#show-the-docker-version-information)
|
|
|
-+ - [Create a new image from a container’s
|
|
|
-+ changes](#create-a-new-image-from-a-container-s-changes)
|
|
|
-+ - [Monitor Docker’s events](#monitor-docker-s-events)
|
|
|
-+ - [3. Going further](#going-further)
|
|
|
-+ - [3.1 Inside ‘docker run’](#inside-docker-run)
|
|
|
-+ - [3.2 Hijacking](#hijacking)
|
|
|
-+ - [3.3 CORS Requests](#cors-requests)
|
|
|
-+
|
|
|
-+## [1. Brief introduction](#id2)
|
|
|
-+
|
|
|
-+- The Remote API is replacing rcli
|
|
|
-+- Default port in the docker daemon is 4243
|
|
|
-+- The API tends to be REST, but for some complex commands, like attach
|
|
|
- or pull, the HTTP connection is hijacked to transport stdout stdin
|
|
|
- and stderr
|
|
|
-
|
|
|
--## Endpoints
|
|
|
-+## [2. Endpoints](#id3)
|
|
|
-
|
|
|
--### Containers
|
|
|
-+### [2.1 Containers](#id4)
|
|
|
-
|
|
|
--### List containers:
|
|
|
-+#### [List containers](#id5)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/json`{.descname}
|
|
|
- : List containers
|
|
|
-@@ -77,24 +129,24 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **all** – 1/True/true or 0/False/false, Show all containers.
|
|
|
-+ - **all** – 1/True/true or 0/False/false, Show all containers.
|
|
|
- Only running containers are shown by default
|
|
|
-- - **limit** – Show `limit` last created
|
|
|
-+ - **limit** – Show `limit` last created
|
|
|
- containers, include non-running ones.
|
|
|
-- - **since** – Show only containers created since Id, include
|
|
|
-+ - **since** – Show only containers created since Id, include
|
|
|
- non-running ones.
|
|
|
-- - **before** – Show only containers created before Id, include
|
|
|
-+ - **before** – Show only containers created before Id, include
|
|
|
- non-running ones.
|
|
|
-- - **size** – 1/True/true or 0/False/false, Show the containers
|
|
|
-+ - **size** – 1/True/true or 0/False/false, Show the containers
|
|
|
- sizes
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Create a container:
|
|
|
-+#### [Create a container](#id6)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/create`{.descname}
|
|
|
- : Create a container
|
|
|
-@@ -142,16 +194,16 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **config** – the container’s configuration
|
|
|
-+ - **config** – the container’s configuration
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **201** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **406** – impossible to attach (container not running)
|
|
|
-- - **500** – server error
|
|
|
-+ - **201** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **406** – impossible to attach (container not running)
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Inspect a container:
|
|
|
-+#### [Inspect a container](#id7)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/`{.descname}(*id*)`/json`{.descname}
|
|
|
- : Return low-level information on the container `id`{.docutils
|
|
|
-@@ -215,11 +267,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### List processes running inside a container:
|
|
|
-+#### [List processes running inside a container](#id8)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/`{.descname}(*id*)`/top`{.descname}
|
|
|
- : List processes running inside the container `id`
|
|
|
-@@ -257,15 +309,15 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **ps\_args** – ps arguments to use (eg. aux)
|
|
|
-+ - **ps\_args** – ps arguments to use (eg. aux)
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Inspect changes on a container’s filesystem:
|
|
|
-+#### [Inspect changes on a container’s filesystem](#id9)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/`{.descname}(*id*)`/changes`{.descname}
|
|
|
- : Inspect changes on container `id` ‘s filesystem
|
|
|
-@@ -296,11 +348,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Export a container:
|
|
|
-+#### [Export a container](#id10)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/`{.descname}(*id*)`/export`{.descname}
|
|
|
- : Export the contents of container `id`
|
|
|
-@@ -318,11 +370,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Start a container:
|
|
|
-+#### [Start a container](#id11)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/start`{.descname}
|
|
|
- : Start the container `id`
|
|
|
-@@ -346,15 +398,15 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **hostConfig** – the container’s host configuration (optional)
|
|
|
-+ - **hostConfig** – the container’s host configuration (optional)
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Stop a container:
|
|
|
-+#### [Stop a container](#id12)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/stop`{.descname}
|
|
|
- : Stop the container `id`
|
|
|
-@@ -371,15 +423,15 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **t** – number of seconds to wait before killing the container
|
|
|
-+ - **t** – number of seconds to wait before killing the container
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Restart a container:
|
|
|
-+#### [Restart a container](#id13)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/restart`{.descname}
|
|
|
- : Restart the container `id`
|
|
|
-@@ -396,15 +448,15 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **t** – number of seconds to wait before killing the container
|
|
|
-+ - **t** – number of seconds to wait before killing the container
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Kill a container:
|
|
|
-+#### [Kill a container](#id14)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/kill`{.descname}
|
|
|
- : Kill the container `id`
|
|
|
-@@ -419,11 +471,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Attach to a container:
|
|
|
-+#### [Attach to a container](#id15)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/attach`{.descname}
|
|
|
- : Attach to the container `id`
|
|
|
-@@ -443,25 +495,25 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **logs** – 1/True/true or 0/False/false, return logs. Default
|
|
|
-+ - **logs** – 1/True/true or 0/False/false, return logs. Default
|
|
|
- false
|
|
|
-- - **stream** – 1/True/true or 0/False/false, return stream.
|
|
|
-+ - **stream** – 1/True/true or 0/False/false, return stream.
|
|
|
- Default false
|
|
|
-- - **stdin** – 1/True/true or 0/False/false, if stream=true, attach
|
|
|
-+ - **stdin** – 1/True/true or 0/False/false, if stream=true, attach
|
|
|
- to stdin. Default false
|
|
|
-- - **stdout** – 1/True/true or 0/False/false, if logs=true, return
|
|
|
-+ - **stdout** – 1/True/true or 0/False/false, if logs=true, return
|
|
|
- stdout log, if stream=true, attach to stdout. Default false
|
|
|
-- - **stderr** – 1/True/true or 0/False/false, if logs=true, return
|
|
|
-+ - **stderr** – 1/True/true or 0/False/false, if logs=true, return
|
|
|
- stderr log, if stream=true, attach to stderr. Default false
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Wait a container:
|
|
|
-+#### [Wait a container](#id16)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/wait`{.descname}
|
|
|
- : Block until container `id` stops, then returns
|
|
|
-@@ -480,11 +532,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Remove a container:
|
|
|
-+#### [Remove a container](#id17)
|
|
|
-
|
|
|
- `DELETE `{.descname}`/containers/`{.descname}(*id*)
|
|
|
- : Remove the container `id` from the filesystem
|
|
|
-@@ -501,17 +553,17 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **v** – 1/True/true or 0/False/false, Remove the volumes
|
|
|
-+ - **v** – 1/True/true or 0/False/false, Remove the volumes
|
|
|
- associated to the container. Default false
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Copy files or folders from a container:
|
|
|
-+#### [Copy files or folders from a container](#id18)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/copy`{.descname}
|
|
|
- : Copy files or folders of container `id`
|
|
|
-@@ -534,13 +586,13 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--## Images
|
|
|
-+### [2.2 Images](#id19)
|
|
|
-
|
|
|
--### List images:
|
|
|
-+#### [List Images](#id20)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/`{.descname}(*format*)
|
|
|
- : List images `format` could be json or viz (json
|
|
|
-@@ -605,16 +657,16 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **all** – 1/True/true or 0/False/false, Show all containers.
|
|
|
-+ - **all** – 1/True/true or 0/False/false, Show all containers.
|
|
|
- Only running containers are shown by default
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Create an image:
|
|
|
-+#### [Create an image](#id21)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/create`{.descname}
|
|
|
- : Create an image, either by pull it from the registry or by importing
|
|
|
-@@ -642,18 +694,18 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **fromImage** – name of the image to pull
|
|
|
-- - **fromSrc** – source to import, - means stdin
|
|
|
-- - **repo** – repository
|
|
|
-- - **tag** – tag
|
|
|
-- - **registry** – the registry to pull from
|
|
|
-+ - **fromImage** – name of the image to pull
|
|
|
-+ - **fromSrc** – source to import, - means stdin
|
|
|
-+ - **repo** – repository
|
|
|
-+ - **tag** – tag
|
|
|
-+ - **registry** – the registry to pull from
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Insert a file in an image:
|
|
|
-+#### [Insert a file in an image](#id22)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/`{.descname}(*name*)`/insert`{.descname}
|
|
|
- : Insert a file from `url` in the image
|
|
|
-@@ -675,10 +727,10 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Inspect an image:
|
|
|
-+#### [Inspect an image](#id23)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/`{.descname}(*name*)`/json`{.descname}
|
|
|
- : Return low-level information on the image `name`
|
|
|
-@@ -723,11 +775,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such image
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Get the history of an image:
|
|
|
-+#### [Get the history of an image](#id24)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/`{.descname}(*name*)`/history`{.descname}
|
|
|
- : Return the history of the image `name`
|
|
|
-@@ -756,11 +808,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such image
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Push an image on the registry:
|
|
|
-+#### [Push an image on the registry](#id25)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/`{.descname}(*name*)`/push`{.descname}
|
|
|
- : Push the image `name` on the registry
|
|
|
-@@ -786,15 +838,15 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **registry** – the registry you wan to push, optional
|
|
|
-+ - **registry** – the registry you wan to push, optional
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such image
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Tag an image into a repository:
|
|
|
-+#### [Tag an image into a repository](#id26)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/`{.descname}(*name*)`/tag`{.descname}
|
|
|
- : Tag the image `name` into a repository
|
|
|
-@@ -811,18 +863,18 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **repo** – The repository to tag in
|
|
|
-- - **force** – 1/True/true or 0/False/false, default false
|
|
|
-+ - **repo** – The repository to tag in
|
|
|
-+ - **force** – 1/True/true or 0/False/false, default false
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **201** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **404** – no such image
|
|
|
-- - **409** – conflict
|
|
|
-- - **500** – server error
|
|
|
-+ - **201** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **409** – conflict
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Remove an image:
|
|
|
-+#### [Remove an image](#id27)
|
|
|
-
|
|
|
- `DELETE `{.descname}`/images/`{.descname}(*name*)
|
|
|
- : Remove the image `name` from the filesystem
|
|
|
-@@ -844,12 +896,12 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such image
|
|
|
-- - **409** – conflict
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **409** – conflict
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Search images:
|
|
|
-+#### [Search images](#id28)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/search`{.descname}
|
|
|
- : Search for an image in the docker index
|
|
|
-@@ -882,16 +934,16 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **term** – term to search
|
|
|
-+ - **term** – term to search
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--## Misc
|
|
|
-+### [2.3 Misc](#id29)
|
|
|
-
|
|
|
--### Build an image from Dockerfile via stdin:
|
|
|
-+#### [Build an image from Dockerfile via stdin](#id30)
|
|
|
-
|
|
|
- `POST `{.descname}`/build`{.descname}
|
|
|
- : Build an image from Dockerfile via stdin
|
|
|
-@@ -920,18 +972,18 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **t** – repository name (and optionally a tag) to be applied to
|
|
|
-+ - **t** – repository name (and optionally a tag) to be applied to
|
|
|
- the resulting image in case of success
|
|
|
-- - **q** – suppress verbose build output
|
|
|
-- - **nocache** – do not use the cache when building the image
|
|
|
-- - **rm** – remove intermediate containers after a successful build
|
|
|
-+ - **q** – suppress verbose build output
|
|
|
-+ - **nocache** – do not use the cache when building the image
|
|
|
-+ - **rm** – remove intermediate containers after a successful build
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Check auth configuration:
|
|
|
-+#### [Check auth configuration](#id31)
|
|
|
-
|
|
|
- `POST `{.descname}`/auth`{.descname}
|
|
|
- : Get the default username and email
|
|
|
-@@ -954,11 +1006,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **204** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Display system-wide information:
|
|
|
-+#### [Display system-wide information](#id32)
|
|
|
-
|
|
|
- `GET `{.descname}`/info`{.descname}
|
|
|
- : Display system-wide information
|
|
|
-@@ -985,10 +1037,10 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Show the docker version information:
|
|
|
-+#### [Show the docker version information](#id33)
|
|
|
-
|
|
|
- `GET `{.descname}`/version`{.descname}
|
|
|
- : Show the docker version information
|
|
|
-@@ -1010,10 +1062,10 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Create a new image from a container’s changes:
|
|
|
-+#### [Create a new image from a container’s changes](#id34)
|
|
|
-
|
|
|
- `POST `{.descname}`/commit`{.descname}
|
|
|
- : Create a new image from a container’s changes
|
|
|
-@@ -1039,20 +1091,20 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **container** – source container
|
|
|
-- - **repo** – repository
|
|
|
-- - **tag** – tag
|
|
|
-- - **m** – commit message
|
|
|
-- - **author** – author (eg. “John Hannibal Smith
|
|
|
-+ - **container** – source container
|
|
|
-+ - **repo** – repository
|
|
|
-+ - **tag** – tag
|
|
|
-+ - **m** – commit message
|
|
|
-+ - **author** – author (eg. “John Hannibal Smith
|
|
|
- \<[hannibal@a-team.com](mailto:hannibal%40a-team.com)\>”)
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **201** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **201** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Monitor Docker’s events:
|
|
|
-+#### [Monitor Docker’s events](#id35)
|
|
|
-
|
|
|
- `GET `{.descname}`/events`{.descname}
|
|
|
- : Get events from docker, either in real time via streaming, or via
|
|
|
-@@ -1076,37 +1128,37 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **since** – timestamp used for polling
|
|
|
-+ - **since** – timestamp used for polling
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--## Going Further
|
|
|
-+## [3. Going further](#id36)
|
|
|
-
|
|
|
--### Inside ‘docker run’
|
|
|
-+### [3.1 Inside ‘docker run’](#id37)
|
|
|
-
|
|
|
- Here are the steps of ‘docker run’ :
|
|
|
-
|
|
|
--- Create the container
|
|
|
--- If the status code is 404, it means the image doesn’t exists: \* Try
|
|
|
-+- Create the container
|
|
|
-+- If the status code is 404, it means the image doesn’t exists: \* Try
|
|
|
- to pull it \* Then retry to create the container
|
|
|
--- Start the container
|
|
|
--- If you are not in detached mode: \* Attach to the container, using
|
|
|
-+- Start the container
|
|
|
-+- If you are not in detached mode: \* Attach to the container, using
|
|
|
- logs=1 (to have stdout and stderr from the container’s start) and
|
|
|
- stream=1
|
|
|
--- If in detached mode or only stdin is attached: \* Display the
|
|
|
-+- If in detached mode or only stdin is attached: \* Display the
|
|
|
- container’s id
|
|
|
-
|
|
|
--### Hijacking
|
|
|
-+### [3.2 Hijacking](#id38)
|
|
|
-
|
|
|
- In this version of the API, /attach, uses hijacking to transport stdin,
|
|
|
- stdout and stderr on the same socket. This might change in the future.
|
|
|
-
|
|
|
--### CORS Requests
|
|
|
-+### [3.3 CORS Requests](#id39)
|
|
|
-
|
|
|
- To enable cross origin requests to the remote api add the flag
|
|
|
--“-api-enable-cors” when running docker in daemon mode.
|
|
|
-+“–api-enable-cors” when running docker in daemon mode.
|
|
|
-
|
|
|
-- docker -d -H="192.168.1.9:4243" -api-enable-cors
|
|
|
-+ docker -d -H="192.168.1.9:4243" --api-enable-cors
|
|
|
-diff --git a/docs/sources/reference/api/docker_remote_api_v1.6.md b/docs/sources/reference/api/docker_remote_api_v1.6.md
|
|
|
-index 4455608..fd6a650 100644
|
|
|
---- a/docs/sources/reference/api/docker_remote_api_v1.6.md
|
|
|
-+++ b/docs/sources/reference/api/docker_remote_api_v1.6.md
|
|
|
-@@ -2,24 +2,76 @@ page_title: Remote API v1.6
|
|
|
- page_description: API Documentation for Docker
|
|
|
- page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
--# Docker Remote API v1.6
|
|
|
--
|
|
|
--## Introduction
|
|
|
--
|
|
|
--- The Remote API has replaced rcli
|
|
|
--- The daemon listens on `unix:///var/run/docker.sock`{.docutils
|
|
|
-+# [Docker Remote API v1.6](#id1)
|
|
|
-+
|
|
|
-+Table of Contents
|
|
|
-+
|
|
|
-+- [Docker Remote API v1.6](#docker-remote-api-v1-6)
|
|
|
-+ - [1. Brief introduction](#brief-introduction)
|
|
|
-+ - [2. Endpoints](#endpoints)
|
|
|
-+ - [2.1 Containers](#containers)
|
|
|
-+ - [List containers](#list-containers)
|
|
|
-+ - [Create a container](#create-a-container)
|
|
|
-+ - [Inspect a container](#inspect-a-container)
|
|
|
-+ - [List processes running inside a
|
|
|
-+ container](#list-processes-running-inside-a-container)
|
|
|
-+ - [Inspect changes on a container’s
|
|
|
-+ filesystem](#inspect-changes-on-a-container-s-filesystem)
|
|
|
-+ - [Export a container](#export-a-container)
|
|
|
-+ - [Start a container](#start-a-container)
|
|
|
-+ - [Stop a container](#stop-a-container)
|
|
|
-+ - [Restart a container](#restart-a-container)
|
|
|
-+ - [Kill a container](#kill-a-container)
|
|
|
-+ - [Attach to a container](#attach-to-a-container)
|
|
|
-+ - [Wait a container](#wait-a-container)
|
|
|
-+ - [Remove a container](#remove-a-container)
|
|
|
-+ - [Copy files or folders from a
|
|
|
-+ container](#copy-files-or-folders-from-a-container)
|
|
|
-+ - [2.2 Images](#images)
|
|
|
-+ - [List Images](#list-images)
|
|
|
-+ - [Create an image](#create-an-image)
|
|
|
-+ - [Insert a file in an image](#insert-a-file-in-an-image)
|
|
|
-+ - [Inspect an image](#inspect-an-image)
|
|
|
-+ - [Get the history of an
|
|
|
-+ image](#get-the-history-of-an-image)
|
|
|
-+ - [Push an image on the
|
|
|
-+ registry](#push-an-image-on-the-registry)
|
|
|
-+ - [Tag an image into a
|
|
|
-+ repository](#tag-an-image-into-a-repository)
|
|
|
-+ - [Remove an image](#remove-an-image)
|
|
|
-+ - [Search images](#search-images)
|
|
|
-+ - [2.3 Misc](#misc)
|
|
|
-+ - [Build an image from Dockerfile via
|
|
|
-+ stdin](#build-an-image-from-dockerfile-via-stdin)
|
|
|
-+ - [Check auth configuration](#check-auth-configuration)
|
|
|
-+ - [Display system-wide
|
|
|
-+ information](#display-system-wide-information)
|
|
|
-+ - [Show the docker version
|
|
|
-+ information](#show-the-docker-version-information)
|
|
|
-+ - [Create a new image from a container’s
|
|
|
-+ changes](#create-a-new-image-from-a-container-s-changes)
|
|
|
-+ - [Monitor Docker’s events](#monitor-docker-s-events)
|
|
|
-+ - [3. Going further](#going-further)
|
|
|
-+ - [3.1 Inside ‘docker run’](#inside-docker-run)
|
|
|
-+ - [3.2 Hijacking](#hijacking)
|
|
|
-+ - [3.3 CORS Requests](#cors-requests)
|
|
|
-+
|
|
|
-+## [1. Brief introduction](#id2)
|
|
|
-+
|
|
|
-+- The Remote API has replaced rcli
|
|
|
-+- The daemon listens on `unix:///var/run/docker.sock`{.docutils
|
|
|
- .literal}, but you can [*Bind Docker to another host/port or a Unix
|
|
|
- socket*](../../../use/basics/#bind-docker).
|
|
|
--- The API tends to be REST, but for some complex commands, like
|
|
|
-+- The API tends to be REST, but for some complex commands, like
|
|
|
- `attach` or `pull`{.docutils .literal}, the HTTP
|
|
|
- connection is hijacked to transport `stdout, stdin`{.docutils
|
|
|
- .literal} and `stderr`
|
|
|
-
|
|
|
--## Endpoints
|
|
|
-+## [2. Endpoints](#id3)
|
|
|
-
|
|
|
--### Containers
|
|
|
-+### [2.1 Containers](#id4)
|
|
|
-
|
|
|
--### List containers:
|
|
|
-+#### [List containers](#id5)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/json`{.descname}
|
|
|
- : List containers
|
|
|
-@@ -80,24 +132,24 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **all** – 1/True/true or 0/False/false, Show all containers.
|
|
|
-+ - **all** – 1/True/true or 0/False/false, Show all containers.
|
|
|
- Only running containers are shown by default
|
|
|
-- - **limit** – Show `limit` last created
|
|
|
-+ - **limit** – Show `limit` last created
|
|
|
- containers, include non-running ones.
|
|
|
-- - **since** – Show only containers created since Id, include
|
|
|
-+ - **since** – Show only containers created since Id, include
|
|
|
- non-running ones.
|
|
|
-- - **before** – Show only containers created before Id, include
|
|
|
-+ - **before** – Show only containers created before Id, include
|
|
|
- non-running ones.
|
|
|
-- - **size** – 1/True/true or 0/False/false, Show the containers
|
|
|
-+ - **size** – 1/True/true or 0/False/false, Show the containers
|
|
|
- sizes
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Create a container:
|
|
|
-+#### [Create a container](#id6)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/create`{.descname}
|
|
|
- : Create a container
|
|
|
-@@ -144,20 +196,20 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **config** – the container’s configuration
|
|
|
-+ - **config** – the container’s configuration
|
|
|
-
|
|
|
- Query Parameters:
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **name** – container name to use
|
|
|
-+ - **name** – container name to use
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **201** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **406** – impossible to attach (container not running)
|
|
|
-- - **500** – server error
|
|
|
-+ - **201** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **406** – impossible to attach (container not running)
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
- **More Complex Example request, in 2 steps.** **First, use create to
|
|
|
- expose a Private Port, which can be bound back to a Public Port at
|
|
|
-@@ -202,7 +254,7 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- **Now you can ssh into your new container on port 11022.**
|
|
|
-
|
|
|
--### Inspect a container:
|
|
|
-+#### [Inspect a container](#id7)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/`{.descname}(*id*)`/json`{.descname}
|
|
|
- : Return low-level information on the container `id`{.docutils
|
|
|
-@@ -267,11 +319,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### List processes running inside a container:
|
|
|
-+#### [List processes running inside a container](#id8)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/`{.descname}(*id*)`/top`{.descname}
|
|
|
- : List processes running inside the container `id`
|
|
|
-@@ -309,15 +361,15 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **ps\_args** – ps arguments to use (eg. aux)
|
|
|
-+ - **ps\_args** – ps arguments to use (eg. aux)
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Inspect changes on a container’s filesystem:
|
|
|
-+#### [Inspect changes on a container’s filesystem](#id9)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/`{.descname}(*id*)`/changes`{.descname}
|
|
|
- : Inspect changes on container `id` ‘s filesystem
|
|
|
-@@ -348,11 +400,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Export a container:
|
|
|
-+#### [Export a container](#id10)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/`{.descname}(*id*)`/export`{.descname}
|
|
|
- : Export the contents of container `id`
|
|
|
-@@ -370,11 +422,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Start a container:
|
|
|
-+#### [Start a container](#id11)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/start`{.descname}
|
|
|
- : Start the container `id`
|
|
|
-@@ -403,15 +455,15 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **hostConfig** – the container’s host configuration (optional)
|
|
|
-+ - **hostConfig** – the container’s host configuration (optional)
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Stop a container:
|
|
|
-+#### [Stop a container](#id12)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/stop`{.descname}
|
|
|
- : Stop the container `id`
|
|
|
-@@ -428,15 +480,15 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **t** – number of seconds to wait before killing the container
|
|
|
-+ - **t** – number of seconds to wait before killing the container
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Restart a container:
|
|
|
-+#### [Restart a container](#id13)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/restart`{.descname}
|
|
|
- : Restart the container `id`
|
|
|
-@@ -453,15 +505,15 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **t** – number of seconds to wait before killing the container
|
|
|
-+ - **t** – number of seconds to wait before killing the container
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Kill a container:
|
|
|
-+#### [Kill a container](#id14)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/kill`{.descname}
|
|
|
- : Kill the container `id`
|
|
|
-@@ -478,17 +530,17 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **signal** – Signal to send to the container (integer). When not
|
|
|
-+ - **signal** – Signal to send to the container (integer). When not
|
|
|
- set, SIGKILL is assumed and the call will waits for the
|
|
|
- container to exit.
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Attach to a container:
|
|
|
-+#### [Attach to a container](#id15)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/attach`{.descname}
|
|
|
- : Attach to the container `id`
|
|
|
-@@ -508,23 +560,23 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **logs** – 1/True/true or 0/False/false, return logs. Default
|
|
|
-+ - **logs** – 1/True/true or 0/False/false, return logs. Default
|
|
|
- false
|
|
|
-- - **stream** – 1/True/true or 0/False/false, return stream.
|
|
|
-+ - **stream** – 1/True/true or 0/False/false, return stream.
|
|
|
- Default false
|
|
|
-- - **stdin** – 1/True/true or 0/False/false, if stream=true, attach
|
|
|
-+ - **stdin** – 1/True/true or 0/False/false, if stream=true, attach
|
|
|
- to stdin. Default false
|
|
|
-- - **stdout** – 1/True/true or 0/False/false, if logs=true, return
|
|
|
-+ - **stdout** – 1/True/true or 0/False/false, if logs=true, return
|
|
|
- stdout log, if stream=true, attach to stdout. Default false
|
|
|
-- - **stderr** – 1/True/true or 0/False/false, if logs=true, return
|
|
|
-+ - **stderr** – 1/True/true or 0/False/false, if logs=true, return
|
|
|
- stderr log, if stream=true, attach to stderr. Default false
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
- **Stream details**:
|
|
|
-
|
|
|
-@@ -549,9 +601,9 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- `STREAM_TYPE` can be:
|
|
|
-
|
|
|
-- - 0: stdin (will be writen on stdout)
|
|
|
-- - 1: stdout
|
|
|
-- - 2: stderr
|
|
|
-+ - 0: stdin (will be writen on stdout)
|
|
|
-+ - 1: stdout
|
|
|
-+ - 2: stderr
|
|
|
-
|
|
|
- `SIZE1, SIZE2, SIZE3, SIZE4` are the 4 bytes of
|
|
|
- the uint32 size encoded as big endian.
|
|
|
-@@ -570,7 +622,7 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
- 4. Read the extracted size and output it on the correct output
|
|
|
- 5. Goto 1)
|
|
|
-
|
|
|
--### Wait a container:
|
|
|
-+#### [Wait a container](#id16)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/wait`{.descname}
|
|
|
- : Block until container `id` stops, then returns
|
|
|
-@@ -589,11 +641,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Remove a container:
|
|
|
-+#### [Remove a container](#id17)
|
|
|
-
|
|
|
- `DELETE `{.descname}`/containers/`{.descname}(*id*)
|
|
|
- : Remove the container `id` from the filesystem
|
|
|
-@@ -610,17 +662,17 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **v** – 1/True/true or 0/False/false, Remove the volumes
|
|
|
-+ - **v** – 1/True/true or 0/False/false, Remove the volumes
|
|
|
- associated to the container. Default false
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Copy files or folders from a container:
|
|
|
-+#### [Copy files or folders from a container](#id18)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/copy`{.descname}
|
|
|
- : Copy files or folders of container `id`
|
|
|
-@@ -643,13 +695,13 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--## Images
|
|
|
-+### [2.2 Images](#id19)
|
|
|
-
|
|
|
--### List images:
|
|
|
-+#### [List Images](#id20)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/`{.descname}(*format*)
|
|
|
- : List images `format` could be json or viz (json
|
|
|
-@@ -714,16 +766,16 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **all** – 1/True/true or 0/False/false, Show all containers.
|
|
|
-+ - **all** – 1/True/true or 0/False/false, Show all containers.
|
|
|
- Only running containers are shown by default
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Create an image:
|
|
|
-+#### [Create an image](#id21)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/create`{.descname}
|
|
|
- : Create an image, either by pull it from the registry or by importing
|
|
|
-@@ -751,18 +803,18 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **fromImage** – name of the image to pull
|
|
|
-- - **fromSrc** – source to import, - means stdin
|
|
|
-- - **repo** – repository
|
|
|
-- - **tag** – tag
|
|
|
-- - **registry** – the registry to pull from
|
|
|
-+ - **fromImage** – name of the image to pull
|
|
|
-+ - **fromSrc** – source to import, - means stdin
|
|
|
-+ - **repo** – repository
|
|
|
-+ - **tag** – tag
|
|
|
-+ - **registry** – the registry to pull from
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Insert a file in an image:
|
|
|
-+#### [Insert a file in an image](#id22)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/`{.descname}(*name*)`/insert`{.descname}
|
|
|
- : Insert a file from `url` in the image
|
|
|
-@@ -784,10 +836,10 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Inspect an image:
|
|
|
-+#### [Inspect an image](#id23)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/`{.descname}(*name*)`/json`{.descname}
|
|
|
- : Return low-level information on the image `name`
|
|
|
-@@ -832,11 +884,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such image
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Get the history of an image:
|
|
|
-+#### [Get the history of an image](#id24)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/`{.descname}(*name*)`/history`{.descname}
|
|
|
- : Return the history of the image `name`
|
|
|
-@@ -865,11 +917,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such image
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Push an image on the registry:
|
|
|
-+#### [Push an image on the registry](#id25)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/`{.descname}(*name*)`/push`{.descname}
|
|
|
- : Push the image `name` on the registry
|
|
|
-@@ -893,14 +945,14 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **registry** – the registry you wan to push, optional
|
|
|
-+ - **registry** – the registry you wan to push, optional
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error :statuscode 404: no such image :statuscode
|
|
|
-+ - **200** – no error :statuscode 404: no such image :statuscode
|
|
|
- 500: server error
|
|
|
-
|
|
|
--### Tag an image into a repository:
|
|
|
-+#### [Tag an image into a repository](#id26)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/`{.descname}(*name*)`/tag`{.descname}
|
|
|
- : Tag the image `name` into a repository
|
|
|
-@@ -917,18 +969,18 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **repo** – The repository to tag in
|
|
|
-- - **force** – 1/True/true or 0/False/false, default false
|
|
|
-+ - **repo** – The repository to tag in
|
|
|
-+ - **force** – 1/True/true or 0/False/false, default false
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **201** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **404** – no such image
|
|
|
-- - **409** – conflict
|
|
|
-- - **500** – server error
|
|
|
-+ - **201** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **409** – conflict
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Remove an image:
|
|
|
-+#### [Remove an image](#id27)
|
|
|
-
|
|
|
- `DELETE `{.descname}`/images/`{.descname}(*name*)
|
|
|
- : Remove the image `name` from the filesystem
|
|
|
-@@ -950,12 +1002,12 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such image
|
|
|
-- - **409** – conflict
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **409** – conflict
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Search images:
|
|
|
-+#### [Search images](#id28)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/search`{.descname}
|
|
|
- : Search for an image in the docker index
|
|
|
-@@ -988,9 +1040,9 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
- :statuscode 200: no error
|
|
|
- :statuscode 500: server error
|
|
|
-
|
|
|
--## Misc
|
|
|
-+### [2.3 Misc](#id29)
|
|
|
-
|
|
|
--### Build an image from Dockerfile via stdin:
|
|
|
-+#### [Build an image from Dockerfile via stdin](#id30)
|
|
|
-
|
|
|
- `POST `{.descname}`/build`{.descname}
|
|
|
- : Build an image from Dockerfile via stdin
|
|
|
-@@ -1019,17 +1071,17 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **t** – repository name (and optionally a tag) to be applied to
|
|
|
-+ - **t** – repository name (and optionally a tag) to be applied to
|
|
|
- the resulting image in case of success
|
|
|
-- - **q** – suppress verbose build output
|
|
|
-- - **nocache** – do not use the cache when building the image
|
|
|
-+ - **q** – suppress verbose build output
|
|
|
-+ - **nocache** – do not use the cache when building the image
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Check auth configuration:
|
|
|
-+#### [Check auth configuration](#id31)
|
|
|
-
|
|
|
- `POST `{.descname}`/auth`{.descname}
|
|
|
- : Get the default username and email
|
|
|
-@@ -1052,11 +1104,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **204** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Display system-wide information:
|
|
|
-+#### [Display system-wide information](#id32)
|
|
|
-
|
|
|
- `GET `{.descname}`/info`{.descname}
|
|
|
- : Display system-wide information
|
|
|
-@@ -1083,10 +1135,10 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Show the docker version information:
|
|
|
-+#### [Show the docker version information](#id33)
|
|
|
-
|
|
|
- `GET `{.descname}`/version`{.descname}
|
|
|
- : Show the docker version information
|
|
|
-@@ -1108,10 +1160,10 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Create a new image from a container’s changes:
|
|
|
-+#### [Create a new image from a container’s changes](#id34)
|
|
|
-
|
|
|
- `POST `{.descname}`/commit`{.descname}
|
|
|
- : Create a new image from a container’s changes
|
|
|
-@@ -1137,20 +1189,20 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **container** – source container
|
|
|
-- - **repo** – repository
|
|
|
-- - **tag** – tag
|
|
|
-- - **m** – commit message
|
|
|
-- - **author** – author (eg. “John Hannibal Smith
|
|
|
-+ - **container** – source container
|
|
|
-+ - **repo** – repository
|
|
|
-+ - **tag** – tag
|
|
|
-+ - **m** – commit message
|
|
|
-+ - **author** – author (eg. “John Hannibal Smith
|
|
|
- \<[hannibal@a-team.com](mailto:hannibal%40a-team.com)\>”)
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **201** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **201** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Monitor Docker’s events:
|
|
|
-+#### [Monitor Docker’s events](#id35)
|
|
|
-
|
|
|
- `GET `{.descname}`/events`{.descname}
|
|
|
- : Get events from docker, either in real time via streaming, or via
|
|
|
-@@ -1174,42 +1226,42 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **since** – timestamp used for polling
|
|
|
-+ - **since** – timestamp used for polling
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--## Going Further
|
|
|
-+## [3. Going further](#id36)
|
|
|
-
|
|
|
--### Inside ‘docker run’
|
|
|
-+### [3.1 Inside ‘docker run’](#id37)
|
|
|
-
|
|
|
- Here are the steps of ‘docker run’ :
|
|
|
-
|
|
|
--- Create the container
|
|
|
-+- Create the container
|
|
|
-
|
|
|
--- If the status code is 404, it means the image doesn’t exists:
|
|
|
-- : - Try to pull it
|
|
|
-- - Then retry to create the container
|
|
|
-+- If the status code is 404, it means the image doesn’t exists:
|
|
|
-+ : - Try to pull it
|
|
|
-+ - Then retry to create the container
|
|
|
-
|
|
|
--- Start the container
|
|
|
-+- Start the container
|
|
|
-
|
|
|
--- If you are not in detached mode:
|
|
|
-- : - Attach to the container, using logs=1 (to have stdout and
|
|
|
-+- If you are not in detached mode:
|
|
|
-+ : - Attach to the container, using logs=1 (to have stdout and
|
|
|
- stderr from the container’s start) and stream=1
|
|
|
-
|
|
|
--- If in detached mode or only stdin is attached:
|
|
|
-- : - Display the container’s id
|
|
|
-+- If in detached mode or only stdin is attached:
|
|
|
-+ : - Display the container’s id
|
|
|
-
|
|
|
--### Hijacking
|
|
|
-+### [3.2 Hijacking](#id38)
|
|
|
-
|
|
|
- In this version of the API, /attach, uses hijacking to transport stdin,
|
|
|
- stdout and stderr on the same socket. This might change in the future.
|
|
|
-
|
|
|
--### CORS Requests
|
|
|
-+### [3.3 CORS Requests](#id39)
|
|
|
-
|
|
|
- To enable cross origin requests to the remote api add the flag
|
|
|
--“-api-enable-cors” when running docker in daemon mode.
|
|
|
-+“–api-enable-cors” when running docker in daemon mode.
|
|
|
-
|
|
|
-- docker -d -H="192.168.1.9:4243" -api-enable-cors
|
|
|
-+ docker -d -H="192.168.1.9:4243" --api-enable-cors
|
|
|
-diff --git a/docs/sources/reference/api/docker_remote_api_v1.7.md b/docs/sources/reference/api/docker_remote_api_v1.7.md
|
|
|
-index 1d1bd27..0c8c962 100644
|
|
|
---- a/docs/sources/reference/api/docker_remote_api_v1.7.md
|
|
|
-+++ b/docs/sources/reference/api/docker_remote_api_v1.7.md
|
|
|
-@@ -2,24 +2,80 @@ page_title: Remote API v1.7
|
|
|
- page_description: API Documentation for Docker
|
|
|
- page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
--# Docker Remote API v1.7
|
|
|
--
|
|
|
--## Introduction
|
|
|
--
|
|
|
--- The Remote API has replaced rcli
|
|
|
--- The daemon listens on `unix:///var/run/docker.sock`{.docutils
|
|
|
-+# [Docker Remote API v1.7](#id1)
|
|
|
-+
|
|
|
-+Table of Contents
|
|
|
-+
|
|
|
-+- [Docker Remote API v1.7](#docker-remote-api-v1-7)
|
|
|
-+ - [1. Brief introduction](#brief-introduction)
|
|
|
-+ - [2. Endpoints](#endpoints)
|
|
|
-+ - [2.1 Containers](#containers)
|
|
|
-+ - [List containers](#list-containers)
|
|
|
-+ - [Create a container](#create-a-container)
|
|
|
-+ - [Inspect a container](#inspect-a-container)
|
|
|
-+ - [List processes running inside a
|
|
|
-+ container](#list-processes-running-inside-a-container)
|
|
|
-+ - [Inspect changes on a container’s
|
|
|
-+ filesystem](#inspect-changes-on-a-container-s-filesystem)
|
|
|
-+ - [Export a container](#export-a-container)
|
|
|
-+ - [Start a container](#start-a-container)
|
|
|
-+ - [Stop a container](#stop-a-container)
|
|
|
-+ - [Restart a container](#restart-a-container)
|
|
|
-+ - [Kill a container](#kill-a-container)
|
|
|
-+ - [Attach to a container](#attach-to-a-container)
|
|
|
-+ - [Wait a container](#wait-a-container)
|
|
|
-+ - [Remove a container](#remove-a-container)
|
|
|
-+ - [Copy files or folders from a
|
|
|
-+ container](#copy-files-or-folders-from-a-container)
|
|
|
-+ - [2.2 Images](#images)
|
|
|
-+ - [List Images](#list-images)
|
|
|
-+ - [Create an image](#create-an-image)
|
|
|
-+ - [Insert a file in an image](#insert-a-file-in-an-image)
|
|
|
-+ - [Inspect an image](#inspect-an-image)
|
|
|
-+ - [Get the history of an
|
|
|
-+ image](#get-the-history-of-an-image)
|
|
|
-+ - [Push an image on the
|
|
|
-+ registry](#push-an-image-on-the-registry)
|
|
|
-+ - [Tag an image into a
|
|
|
-+ repository](#tag-an-image-into-a-repository)
|
|
|
-+ - [Remove an image](#remove-an-image)
|
|
|
-+ - [Search images](#search-images)
|
|
|
-+ - [2.3 Misc](#misc)
|
|
|
-+ - [Build an image from Dockerfile via
|
|
|
-+ stdin](#build-an-image-from-dockerfile-via-stdin)
|
|
|
-+ - [Check auth configuration](#check-auth-configuration)
|
|
|
-+ - [Display system-wide
|
|
|
-+ information](#display-system-wide-information)
|
|
|
-+ - [Show the docker version
|
|
|
-+ information](#show-the-docker-version-information)
|
|
|
-+ - [Create a new image from a container’s
|
|
|
-+ changes](#create-a-new-image-from-a-container-s-changes)
|
|
|
-+ - [Monitor Docker’s events](#monitor-docker-s-events)
|
|
|
-+ - [Get a tarball containing all images and tags in a
|
|
|
-+ repository](#get-a-tarball-containing-all-images-and-tags-in-a-repository)
|
|
|
-+ - [Load a tarball with a set of images and tags into
|
|
|
-+ docker](#load-a-tarball-with-a-set-of-images-and-tags-into-docker)
|
|
|
-+ - [3. Going further](#going-further)
|
|
|
-+ - [3.1 Inside ‘docker run’](#inside-docker-run)
|
|
|
-+ - [3.2 Hijacking](#hijacking)
|
|
|
-+ - [3.3 CORS Requests](#cors-requests)
|
|
|
-+
|
|
|
-+## [1. Brief introduction](#id2)
|
|
|
-+
|
|
|
-+- The Remote API has replaced rcli
|
|
|
-+- The daemon listens on `unix:///var/run/docker.sock`{.docutils
|
|
|
- .literal}, but you can [*Bind Docker to another host/port or a Unix
|
|
|
- socket*](../../../use/basics/#bind-docker).
|
|
|
--- The API tends to be REST, but for some complex commands, like
|
|
|
-+- The API tends to be REST, but for some complex commands, like
|
|
|
- `attach` or `pull`{.docutils .literal}, the HTTP
|
|
|
- connection is hijacked to transport `stdout, stdin`{.docutils
|
|
|
- .literal} and `stderr`
|
|
|
-
|
|
|
--## Endpoints
|
|
|
-+## [2. Endpoints](#id3)
|
|
|
-
|
|
|
--### Containers
|
|
|
-+### [2.1 Containers](#id4)
|
|
|
-
|
|
|
--### List containers:
|
|
|
-+#### [List containers](#id5)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/json`{.descname}
|
|
|
- : List containers
|
|
|
-@@ -80,24 +136,24 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **all** – 1/True/true or 0/False/false, Show all containers.
|
|
|
-+ - **all** – 1/True/true or 0/False/false, Show all containers.
|
|
|
- Only running containers are shown by default
|
|
|
-- - **limit** – Show `limit` last created
|
|
|
-+ - **limit** – Show `limit` last created
|
|
|
- containers, include non-running ones.
|
|
|
-- - **since** – Show only containers created since Id, include
|
|
|
-+ - **since** – Show only containers created since Id, include
|
|
|
- non-running ones.
|
|
|
-- - **before** – Show only containers created before Id, include
|
|
|
-+ - **before** – Show only containers created before Id, include
|
|
|
- non-running ones.
|
|
|
-- - **size** – 1/True/true or 0/False/false, Show the containers
|
|
|
-+ - **size** – 1/True/true or 0/False/false, Show the containers
|
|
|
- sizes
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Create a container:
|
|
|
-+#### [Create a container](#id6)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/create`{.descname}
|
|
|
- : Create a container
|
|
|
-@@ -149,16 +205,16 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **config** – the container’s configuration
|
|
|
-+ - **config** – the container’s configuration
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **201** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **406** – impossible to attach (container not running)
|
|
|
-- - **500** – server error
|
|
|
-+ - **201** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **406** – impossible to attach (container not running)
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Inspect a container:
|
|
|
-+#### [Inspect a container](#id7)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/`{.descname}(*id*)`/json`{.descname}
|
|
|
- : Return low-level information on the container `id`{.docutils
|
|
|
-@@ -223,11 +279,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### List processes running inside a container:
|
|
|
-+#### [List processes running inside a container](#id8)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/`{.descname}(*id*)`/top`{.descname}
|
|
|
- : List processes running inside the container `id`
|
|
|
-@@ -265,15 +321,15 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **ps\_args** – ps arguments to use (eg. aux)
|
|
|
-+ - **ps\_args** – ps arguments to use (eg. aux)
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Inspect changes on a container’s filesystem:
|
|
|
-+#### [Inspect changes on a container’s filesystem](#id9)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/`{.descname}(*id*)`/changes`{.descname}
|
|
|
- : Inspect changes on container `id` ‘s filesystem
|
|
|
-@@ -304,11 +360,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Export a container:
|
|
|
-+#### [Export a container](#id10)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/`{.descname}(*id*)`/export`{.descname}
|
|
|
- : Export the contents of container `id`
|
|
|
-@@ -326,11 +382,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Start a container:
|
|
|
-+#### [Start a container](#id11)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/start`{.descname}
|
|
|
- : Start the container `id`
|
|
|
-@@ -360,15 +416,15 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **hostConfig** – the container’s host configuration (optional)
|
|
|
-+ - **hostConfig** – the container’s host configuration (optional)
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Stop a container:
|
|
|
-+#### [Stop a container](#id12)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/stop`{.descname}
|
|
|
- : Stop the container `id`
|
|
|
-@@ -385,15 +441,15 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **t** – number of seconds to wait before killing the container
|
|
|
-+ - **t** – number of seconds to wait before killing the container
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Restart a container:
|
|
|
-+#### [Restart a container](#id13)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/restart`{.descname}
|
|
|
- : Restart the container `id`
|
|
|
-@@ -410,15 +466,15 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **t** – number of seconds to wait before killing the container
|
|
|
-+ - **t** – number of seconds to wait before killing the container
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Kill a container:
|
|
|
-+#### [Kill a container](#id14)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/kill`{.descname}
|
|
|
- : Kill the container `id`
|
|
|
-@@ -433,11 +489,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Attach to a container:
|
|
|
-+#### [Attach to a container](#id15)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/attach`{.descname}
|
|
|
- : Attach to the container `id`
|
|
|
-@@ -457,23 +513,23 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **logs** – 1/True/true or 0/False/false, return logs. Default
|
|
|
-+ - **logs** – 1/True/true or 0/False/false, return logs. Default
|
|
|
- false
|
|
|
-- - **stream** – 1/True/true or 0/False/false, return stream.
|
|
|
-+ - **stream** – 1/True/true or 0/False/false, return stream.
|
|
|
- Default false
|
|
|
-- - **stdin** – 1/True/true or 0/False/false, if stream=true, attach
|
|
|
-+ - **stdin** – 1/True/true or 0/False/false, if stream=true, attach
|
|
|
- to stdin. Default false
|
|
|
-- - **stdout** – 1/True/true or 0/False/false, if logs=true, return
|
|
|
-+ - **stdout** – 1/True/true or 0/False/false, if logs=true, return
|
|
|
- stdout log, if stream=true, attach to stdout. Default false
|
|
|
-- - **stderr** – 1/True/true or 0/False/false, if logs=true, return
|
|
|
-+ - **stderr** – 1/True/true or 0/False/false, if logs=true, return
|
|
|
- stderr log, if stream=true, attach to stderr. Default false
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
- **Stream details**:
|
|
|
-
|
|
|
-@@ -498,9 +554,9 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- `STREAM_TYPE` can be:
|
|
|
-
|
|
|
-- - 0: stdin (will be writen on stdout)
|
|
|
-- - 1: stdout
|
|
|
-- - 2: stderr
|
|
|
-+ - 0: stdin (will be writen on stdout)
|
|
|
-+ - 1: stdout
|
|
|
-+ - 2: stderr
|
|
|
-
|
|
|
- `SIZE1, SIZE2, SIZE3, SIZE4` are the 4 bytes of
|
|
|
- the uint32 size encoded as big endian.
|
|
|
-@@ -519,7 +575,7 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
- 4. Read the extracted size and output it on the correct output
|
|
|
- 5. Goto 1)
|
|
|
-
|
|
|
--### Wait a container:
|
|
|
-+#### [Wait a container](#id16)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/wait`{.descname}
|
|
|
- : Block until container `id` stops, then returns
|
|
|
-@@ -538,11 +594,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Remove a container:
|
|
|
-+#### [Remove a container](#id17)
|
|
|
-
|
|
|
- `DELETE `{.descname}`/containers/`{.descname}(*id*)
|
|
|
- : Remove the container `id` from the filesystem
|
|
|
-@@ -559,17 +615,17 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **v** – 1/True/true or 0/False/false, Remove the volumes
|
|
|
-+ - **v** – 1/True/true or 0/False/false, Remove the volumes
|
|
|
- associated to the container. Default false
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Copy files or folders from a container:
|
|
|
-+#### [Copy files or folders from a container](#id18)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/copy`{.descname}
|
|
|
- : Copy files or folders of container `id`
|
|
|
-@@ -592,13 +648,13 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--## Images
|
|
|
-+### [2.2 Images](#id19)
|
|
|
-
|
|
|
--### List images:
|
|
|
-+#### [List Images](#id20)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/json`{.descname}
|
|
|
- : **Example request**:
|
|
|
-@@ -635,7 +691,7 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
- }
|
|
|
- ]
|
|
|
-
|
|
|
--### Create an image:
|
|
|
-+#### [Create an image](#id21)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/create`{.descname}
|
|
|
- : Create an image, either by pull it from the registry or by importing
|
|
|
-@@ -663,24 +719,24 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **fromImage** – name of the image to pull
|
|
|
-- - **fromSrc** – source to import, - means stdin
|
|
|
-- - **repo** – repository
|
|
|
-- - **tag** – tag
|
|
|
-- - **registry** – the registry to pull from
|
|
|
-+ - **fromImage** – name of the image to pull
|
|
|
-+ - **fromSrc** – source to import, - means stdin
|
|
|
-+ - **repo** – repository
|
|
|
-+ - **tag** – tag
|
|
|
-+ - **registry** – the registry to pull from
|
|
|
-
|
|
|
- Request Headers:
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **X-Registry-Auth** – base64-encoded AuthConfig object
|
|
|
-+ - **X-Registry-Auth** – base64-encoded AuthConfig object
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Insert a file in an image:
|
|
|
-+#### [Insert a file in an image](#id22)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/`{.descname}(*name*)`/insert`{.descname}
|
|
|
- : Insert a file from `url` in the image
|
|
|
-@@ -702,10 +758,10 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Inspect an image:
|
|
|
-+#### [Inspect an image](#id23)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/`{.descname}(*name*)`/json`{.descname}
|
|
|
- : Return low-level information on the image `name`
|
|
|
-@@ -750,11 +806,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such image
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Get the history of an image:
|
|
|
-+#### [Get the history of an image](#id24)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/`{.descname}(*name*)`/history`{.descname}
|
|
|
- : Return the history of the image `name`
|
|
|
-@@ -783,11 +839,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such image
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Push an image on the registry:
|
|
|
-+#### [Push an image on the registry](#id25)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/`{.descname}(*name*)`/push`{.descname}
|
|
|
- : Push the image `name` on the registry
|
|
|
-@@ -810,22 +866,22 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **registry** – the registry you wan to push, optional
|
|
|
-+ - **registry** – the registry you wan to push, optional
|
|
|
-
|
|
|
- Request Headers:
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **X-Registry-Auth** – include a base64-encoded AuthConfig
|
|
|
-+ - **X-Registry-Auth** – include a base64-encoded AuthConfig
|
|
|
- object.
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such image
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Tag an image into a repository:
|
|
|
-+#### [Tag an image into a repository](#id26)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/`{.descname}(*name*)`/tag`{.descname}
|
|
|
- : Tag the image `name` into a repository
|
|
|
-@@ -842,18 +898,18 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **repo** – The repository to tag in
|
|
|
-- - **force** – 1/True/true or 0/False/false, default false
|
|
|
-+ - **repo** – The repository to tag in
|
|
|
-+ - **force** – 1/True/true or 0/False/false, default false
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **201** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **404** – no such image
|
|
|
-- - **409** – conflict
|
|
|
-- - **500** – server error
|
|
|
-+ - **201** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **409** – conflict
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Remove an image:
|
|
|
-+#### [Remove an image](#id27)
|
|
|
-
|
|
|
- `DELETE `{.descname}`/images/`{.descname}(*name*)
|
|
|
- : Remove the image `name` from the filesystem
|
|
|
-@@ -875,12 +931,12 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such image
|
|
|
-- - **409** – conflict
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **409** – conflict
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Search images:
|
|
|
-+#### [Search images](#id28)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/search`{.descname}
|
|
|
- : Search for an image in the docker index.
|
|
|
-@@ -928,16 +984,16 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **term** – term to search
|
|
|
-+ - **term** – term to search
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--## Misc
|
|
|
-+### [2.3 Misc](#id29)
|
|
|
-
|
|
|
--### Build an image from Dockerfile via stdin:
|
|
|
-+#### [Build an image from Dockerfile via stdin](#id30)
|
|
|
-
|
|
|
- `POST `{.descname}`/build`{.descname}
|
|
|
- : Build an image from Dockerfile via stdin
|
|
|
-@@ -967,24 +1023,24 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **t** – repository name (and optionally a tag) to be applied to
|
|
|
-+ - **t** – repository name (and optionally a tag) to be applied to
|
|
|
- the resulting image in case of success
|
|
|
-- - **q** – suppress verbose build output
|
|
|
-- - **nocache** – do not use the cache when building the image
|
|
|
-+ - **q** – suppress verbose build output
|
|
|
-+ - **nocache** – do not use the cache when building the image
|
|
|
-
|
|
|
- Request Headers:
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **Content-type** – should be set to
|
|
|
-+ - **Content-type** – should be set to
|
|
|
- `"application/tar"`.
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Check auth configuration:
|
|
|
-+#### [Check auth configuration](#id31)
|
|
|
-
|
|
|
- `POST `{.descname}`/auth`{.descname}
|
|
|
- : Get the default username and email
|
|
|
-@@ -1007,11 +1063,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **204** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Display system-wide information:
|
|
|
-+#### [Display system-wide information](#id32)
|
|
|
-
|
|
|
- `GET `{.descname}`/info`{.descname}
|
|
|
- : Display system-wide information
|
|
|
-@@ -1038,10 +1094,10 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Show the docker version information:
|
|
|
-+#### [Show the docker version information](#id33)
|
|
|
-
|
|
|
- `GET `{.descname}`/version`{.descname}
|
|
|
- : Show the docker version information
|
|
|
-@@ -1063,10 +1119,10 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Create a new image from a container’s changes:
|
|
|
-+#### [Create a new image from a container’s changes](#id34)
|
|
|
-
|
|
|
- `POST `{.descname}`/commit`{.descname}
|
|
|
- : Create a new image from a container’s changes
|
|
|
-@@ -1086,22 +1142,22 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **container** – source container
|
|
|
-- - **repo** – repository
|
|
|
-- - **tag** – tag
|
|
|
-- - **m** – commit message
|
|
|
-- - **author** – author (eg. “John Hannibal Smith
|
|
|
-+ - **container** – source container
|
|
|
-+ - **repo** – repository
|
|
|
-+ - **tag** – tag
|
|
|
-+ - **m** – commit message
|
|
|
-+ - **author** – author (eg. “John Hannibal Smith
|
|
|
- \<[hannibal@a-team.com](mailto:hannibal%40a-team.com)\>”)
|
|
|
-- - **run** – config automatically applied when the image is run.
|
|
|
-+ - **run** – config automatically applied when the image is run.
|
|
|
- (ex: {“Cmd”: [“cat”, “/world”], “PortSpecs”:[“22”]})
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **201** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **201** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Monitor Docker’s events:
|
|
|
-+#### [Monitor Docker’s events](#id35)
|
|
|
-
|
|
|
- `GET `{.descname}`/events`{.descname}
|
|
|
- : Get events from docker, either in real time via streaming, or via
|
|
|
-@@ -1125,14 +1181,14 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **since** – timestamp used for polling
|
|
|
-+ - **since** – timestamp used for polling
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Get a tarball containing all images and tags in a repository:
|
|
|
-+#### [Get a tarball containing all images and tags in a repository](#id36)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/`{.descname}(*name*)`/get`{.descname}
|
|
|
- : Get a tarball containing all images and metadata for the repository
|
|
|
-@@ -1153,7 +1209,7 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
- :statuscode 200: no error
|
|
|
- :statuscode 500: server error
|
|
|
-
|
|
|
--### Load a tarball with a set of images and tags into docker:
|
|
|
-+#### [Load a tarball with a set of images and tags into docker](#id37)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/load`{.descname}
|
|
|
- : Load a set of images and tags into the docker repository.
|
|
|
-@@ -1173,35 +1229,35 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
- :statuscode 200: no error
|
|
|
- :statuscode 500: server error
|
|
|
-
|
|
|
--## Going Further
|
|
|
-+## [3. Going further](#id38)
|
|
|
-
|
|
|
--### Inside ‘docker run’
|
|
|
-+### [3.1 Inside ‘docker run’](#id39)
|
|
|
-
|
|
|
- Here are the steps of ‘docker run’ :
|
|
|
-
|
|
|
--- Create the container
|
|
|
-+- Create the container
|
|
|
-
|
|
|
--- If the status code is 404, it means the image doesn’t exists:
|
|
|
-- : - Try to pull it
|
|
|
-- - Then retry to create the container
|
|
|
-+- If the status code is 404, it means the image doesn’t exists:
|
|
|
-+ : - Try to pull it
|
|
|
-+ - Then retry to create the container
|
|
|
-
|
|
|
--- Start the container
|
|
|
-+- Start the container
|
|
|
-
|
|
|
--- If you are not in detached mode:
|
|
|
-- : - Attach to the container, using logs=1 (to have stdout and
|
|
|
-+- If you are not in detached mode:
|
|
|
-+ : - Attach to the container, using logs=1 (to have stdout and
|
|
|
- stderr from the container’s start) and stream=1
|
|
|
-
|
|
|
--- If in detached mode or only stdin is attached:
|
|
|
-- : - Display the container’s id
|
|
|
-+- If in detached mode or only stdin is attached:
|
|
|
-+ : - Display the container’s id
|
|
|
-
|
|
|
--### Hijacking
|
|
|
-+### [3.2 Hijacking](#id40)
|
|
|
-
|
|
|
- In this version of the API, /attach, uses hijacking to transport stdin,
|
|
|
- stdout and stderr on the same socket. This might change in the future.
|
|
|
-
|
|
|
--### CORS Requests
|
|
|
-+### [3.3 CORS Requests](#id41)
|
|
|
-
|
|
|
- To enable cross origin requests to the remote api add the flag
|
|
|
--“-api-enable-cors” when running docker in daemon mode.
|
|
|
-+“–api-enable-cors” when running docker in daemon mode.
|
|
|
-
|
|
|
-- docker -d -H="192.168.1.9:4243" -api-enable-cors
|
|
|
-+ docker -d -H="192.168.1.9:4243" --api-enable-cors
|
|
|
-diff --git a/docs/sources/reference/api/docker_remote_api_v1.8.md b/docs/sources/reference/api/docker_remote_api_v1.8.md
|
|
|
-index 49c8fb6..115cabc 100644
|
|
|
---- a/docs/sources/reference/api/docker_remote_api_v1.8.md
|
|
|
-+++ b/docs/sources/reference/api/docker_remote_api_v1.8.md
|
|
|
-@@ -2,24 +2,80 @@ page_title: Remote API v1.8
|
|
|
- page_description: API Documentation for Docker
|
|
|
- page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
--# Docker Remote API v1.8
|
|
|
--
|
|
|
--## Introduction
|
|
|
--
|
|
|
--- The Remote API has replaced rcli
|
|
|
--- The daemon listens on `unix:///var/run/docker.sock`{.docutils
|
|
|
-- .literal}, but you can [*Bind Docker to another host/port or a Unix
|
|
|
-- socket*](../../../use/basics/#bind-docker).
|
|
|
--- The API tends to be REST, but for some complex commands, like
|
|
|
-- `attach` or `pull`{.docutils .literal}, the HTTP
|
|
|
-- connection is hijacked to transport `stdout, stdin`{.docutils
|
|
|
-- .literal} and `stderr`
|
|
|
--
|
|
|
--## Endpoints
|
|
|
--
|
|
|
--### Containers
|
|
|
--
|
|
|
--### List containers:
|
|
|
-+# [Docker Remote API v1.8](#id1)
|
|
|
-+
|
|
|
-+Table of Contents
|
|
|
-+
|
|
|
-+- [Docker Remote API v1.8](#docker-remote-api-v1-8)
|
|
|
-+ - [1. Brief introduction](#brief-introduction)
|
|
|
-+ - [2. Endpoints](#endpoints)
|
|
|
-+ - [2.1 Containers](#containers)
|
|
|
-+ - [List containers](#list-containers)
|
|
|
-+ - [Create a container](#create-a-container)
|
|
|
-+ - [Inspect a container](#inspect-a-container)
|
|
|
-+ - [List processes running inside a
|
|
|
-+ container](#list-processes-running-inside-a-container)
|
|
|
-+ - [Inspect changes on a container’s
|
|
|
-+ filesystem](#inspect-changes-on-a-container-s-filesystem)
|
|
|
-+ - [Export a container](#export-a-container)
|
|
|
-+ - [Start a container](#start-a-container)
|
|
|
-+ - [Stop a container](#stop-a-container)
|
|
|
-+ - [Restart a container](#restart-a-container)
|
|
|
-+ - [Kill a container](#kill-a-container)
|
|
|
-+ - [Attach to a container](#attach-to-a-container)
|
|
|
-+ - [Wait a container](#wait-a-container)
|
|
|
-+ - [Remove a container](#remove-a-container)
|
|
|
-+ - [Copy files or folders from a
|
|
|
-+ container](#copy-files-or-folders-from-a-container)
|
|
|
-+ - [2.2 Images](#images)
|
|
|
-+ - [List Images](#list-images)
|
|
|
-+ - [Create an image](#create-an-image)
|
|
|
-+ - [Insert a file in an image](#insert-a-file-in-an-image)
|
|
|
-+ - [Inspect an image](#inspect-an-image)
|
|
|
-+ - [Get the history of an
|
|
|
-+ image](#get-the-history-of-an-image)
|
|
|
-+ - [Push an image on the
|
|
|
-+ registry](#push-an-image-on-the-registry)
|
|
|
-+ - [Tag an image into a
|
|
|
-+ repository](#tag-an-image-into-a-repository)
|
|
|
-+ - [Remove an image](#remove-an-image)
|
|
|
-+ - [Search images](#search-images)
|
|
|
-+ - [2.3 Misc](#misc)
|
|
|
-+ - [Build an image from Dockerfile via
|
|
|
-+ stdin](#build-an-image-from-dockerfile-via-stdin)
|
|
|
-+ - [Check auth configuration](#check-auth-configuration)
|
|
|
-+ - [Display system-wide
|
|
|
-+ information](#display-system-wide-information)
|
|
|
-+ - [Show the docker version
|
|
|
-+ information](#show-the-docker-version-information)
|
|
|
-+ - [Create a new image from a container’s
|
|
|
-+ changes](#create-a-new-image-from-a-container-s-changes)
|
|
|
-+ - [Monitor Docker’s events](#monitor-docker-s-events)
|
|
|
-+ - [Get a tarball containing all images and tags in a
|
|
|
-+ repository](#get-a-tarball-containing-all-images-and-tags-in-a-repository)
|
|
|
-+ - [Load a tarball with a set of images and tags into
|
|
|
-+ docker](#load-a-tarball-with-a-set-of-images-and-tags-into-docker)
|
|
|
-+ - [3. Going further](#going-further)
|
|
|
-+ - [3.1 Inside ‘docker run’](#inside-docker-run)
|
|
|
-+ - [3.2 Hijacking](#hijacking)
|
|
|
-+ - [3.3 CORS Requests](#cors-requests)
|
|
|
-+
|
|
|
-+## [1. Brief introduction](#id2)
|
|
|
-+
|
|
|
-+- The Remote API has replaced rcli
|
|
|
-+- The daemon listens on `unix:///var/run/docker.sock`{.docutils
|
|
|
-+ .literal}, but you can [*Bind Docker to another host/port or a Unix
|
|
|
-+ socket*](../../../use/basics/#bind-docker).
|
|
|
-+- The API tends to be REST, but for some complex commands, like
|
|
|
-+ `attach` or `pull`{.docutils .literal}, the HTTP
|
|
|
-+ connection is hijacked to transport `stdout, stdin`{.docutils
|
|
|
-+ .literal} and `stderr`
|
|
|
-+
|
|
|
-+## [2. Endpoints](#id3)
|
|
|
-+
|
|
|
-+### [2.1 Containers](#id4)
|
|
|
-+
|
|
|
-+#### [List containers](#id5)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/json`{.descname}
|
|
|
- : List containers
|
|
|
-@@ -80,24 +136,24 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **all** – 1/True/true or 0/False/false, Show all containers.
|
|
|
-+ - **all** – 1/True/true or 0/False/false, Show all containers.
|
|
|
- Only running containers are shown by default
|
|
|
-- - **limit** – Show `limit` last created
|
|
|
-+ - **limit** – Show `limit` last created
|
|
|
- containers, include non-running ones.
|
|
|
-- - **since** – Show only containers created since Id, include
|
|
|
-+ - **since** – Show only containers created since Id, include
|
|
|
- non-running ones.
|
|
|
-- - **before** – Show only containers created before Id, include
|
|
|
-+ - **before** – Show only containers created before Id, include
|
|
|
- non-running ones.
|
|
|
-- - **size** – 1/True/true or 0/False/false, Show the containers
|
|
|
-+ - **size** – 1/True/true or 0/False/false, Show the containers
|
|
|
- sizes
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Create a container:
|
|
|
-+#### [Create a container](#id6)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/create`{.descname}
|
|
|
- : Create a container
|
|
|
-@@ -150,36 +206,36 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **Hostname** – Container host name
|
|
|
-- - **User** – Username or UID
|
|
|
-- - **Memory** – Memory Limit in bytes
|
|
|
-- - **CpuShares** – CPU shares (relative weight
|
|
|
-- - **AttachStdin** – 1/True/true or 0/False/false, attach to
|
|
|
-+ - **Hostname** – Container host name
|
|
|
-+ - **User** – Username or UID
|
|
|
-+ - **Memory** – Memory Limit in bytes
|
|
|
-+ - **CpuShares** – CPU shares (relative weight)
|
|
|
-+ - **AttachStdin** – 1/True/true or 0/False/false, attach to
|
|
|
- standard input. Default false
|
|
|
-- - **AttachStdout** – 1/True/true or 0/False/false, attach to
|
|
|
-+ - **AttachStdout** – 1/True/true or 0/False/false, attach to
|
|
|
- standard output. Default false
|
|
|
-- - **AttachStderr** – 1/True/true or 0/False/false, attach to
|
|
|
-+ - **AttachStderr** – 1/True/true or 0/False/false, attach to
|
|
|
- standard error. Default false
|
|
|
-- - **Tty** – 1/True/true or 0/False/false, allocate a pseudo-tty.
|
|
|
-+ - **Tty** – 1/True/true or 0/False/false, allocate a pseudo-tty.
|
|
|
- Default false
|
|
|
-- - **OpenStdin** – 1/True/true or 0/False/false, keep stdin open
|
|
|
-+ - **OpenStdin** – 1/True/true or 0/False/false, keep stdin open
|
|
|
- even if not attached. Default false
|
|
|
-
|
|
|
- Query Parameters:
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **name** – Assign the specified name to the container. Must
|
|
|
-+ - **name** – Assign the specified name to the container. Must
|
|
|
- match `/?[a-zA-Z0-9_-]+`.
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **201** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **406** – impossible to attach (container not running
|
|
|
-- - **500** – server error
|
|
|
-+ - **201** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **406** – impossible to attach (container not running)
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Inspect a container:
|
|
|
-+#### [Inspect a container](#id7)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/`{.descname}(*id*)`/json`{.descname}
|
|
|
- : Return low-level information on the container `id`{.docutils
|
|
|
-@@ -260,11 +316,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### List processes running inside a container:
|
|
|
-+#### [List processes running inside a container](#id8)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/`{.descname}(*id*)`/top`{.descname}
|
|
|
- : List processes running inside the container `id`
|
|
|
-@@ -302,15 +358,15 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **ps\_args** – ps arguments to use (eg. aux
|
|
|
-+ - **ps\_args** – ps arguments to use (eg. aux)
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Inspect changes on a container’s filesystem:
|
|
|
-+#### [Inspect changes on a container’s filesystem](#id9)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/`{.descname}(*id*)`/changes`{.descname}
|
|
|
- : Inspect changes on container `id` ‘s filesystem
|
|
|
-@@ -341,11 +397,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Export a container:
|
|
|
-+#### [Export a container](#id10)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/`{.descname}(*id*)`/export`{.descname}
|
|
|
- : Export the contents of container `id`
|
|
|
-@@ -363,11 +419,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Start a container:
|
|
|
-+#### [Start a container](#id11)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/start`{.descname}
|
|
|
- : Start the container `id`
|
|
|
-@@ -394,24 +450,24 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **Binds** – Create a bind mount to a directory or file with
|
|
|
-+ - **Binds** – Create a bind mount to a directory or file with
|
|
|
- [host-path]:[container-path]:[rw|ro]. If a directory
|
|
|
- “container-path” is missing, then docker creates a new volume.
|
|
|
-- - **LxcConf** – Map of custom lxc options
|
|
|
-- - **PortBindings** – Expose ports from the container, optionally
|
|
|
-+ - **LxcConf** – Map of custom lxc options
|
|
|
-+ - **PortBindings** – Expose ports from the container, optionally
|
|
|
- publishing them via the HostPort flag
|
|
|
-- - **PublishAllPorts** – 1/True/true or 0/False/false, publish all
|
|
|
-+ - **PublishAllPorts** – 1/True/true or 0/False/false, publish all
|
|
|
- exposed ports to the host interfaces. Default false
|
|
|
-- - **Privileged** – 1/True/true or 0/False/false, give extended
|
|
|
-+ - **Privileged** – 1/True/true or 0/False/false, give extended
|
|
|
- privileges to this container. Default false
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Stop a container:
|
|
|
-+#### [Stop a container](#id12)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/stop`{.descname}
|
|
|
- : Stop the container `id`
|
|
|
-@@ -428,15 +484,15 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **t** – number of seconds to wait before killing the container
|
|
|
-+ - **t** – number of seconds to wait before killing the container
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Restart a container:
|
|
|
-+#### [Restart a container](#id13)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/restart`{.descname}
|
|
|
- : Restart the container `id`
|
|
|
-@@ -453,15 +509,15 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **t** – number of seconds to wait before killing the container
|
|
|
-+ - **t** – number of seconds to wait before killing the container
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Kill a container:
|
|
|
-+#### [Kill a container](#id14)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/kill`{.descname}
|
|
|
- : Kill the container `id`
|
|
|
-@@ -476,11 +532,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Attach to a container:
|
|
|
-+#### [Attach to a container](#id15)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/attach`{.descname}
|
|
|
- : Attach to the container `id`
|
|
|
-@@ -500,23 +556,23 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **logs** – 1/True/true or 0/False/false, return logs. Default
|
|
|
-+ - **logs** – 1/True/true or 0/False/false, return logs. Default
|
|
|
- false
|
|
|
-- - **stream** – 1/True/true or 0/False/false, return stream.
|
|
|
-+ - **stream** – 1/True/true or 0/False/false, return stream.
|
|
|
- Default false
|
|
|
-- - **stdin** – 1/True/true or 0/False/false, if stream=true, attach
|
|
|
-+ - **stdin** – 1/True/true or 0/False/false, if stream=true, attach
|
|
|
- to stdin. Default false
|
|
|
-- - **stdout** – 1/True/true or 0/False/false, if logs=true, return
|
|
|
-+ - **stdout** – 1/True/true or 0/False/false, if logs=true, return
|
|
|
- stdout log, if stream=true, attach to stdout. Default false
|
|
|
-- - **stderr** – 1/True/true or 0/False/false, if logs=true, return
|
|
|
-+ - **stderr** – 1/True/true or 0/False/false, if logs=true, return
|
|
|
- stderr log, if stream=true, attach to stderr. Default false
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
- **Stream details**:
|
|
|
-
|
|
|
-@@ -541,9 +597,9 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- `STREAM_TYPE` can be:
|
|
|
-
|
|
|
-- - 0: stdin (will be writen on stdout
|
|
|
-- - 1: stdout
|
|
|
-- - 2: stderr
|
|
|
-+ - 0: stdin (will be writen on stdout)
|
|
|
-+ - 1: stdout
|
|
|
-+ - 2: stderr
|
|
|
-
|
|
|
- `SIZE1, SIZE2, SIZE3, SIZE4` are the 4 bytes of
|
|
|
- the uint32 size encoded as big endian.
|
|
|
-@@ -560,9 +616,9 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
- 2. chose stdout or stderr depending on the first byte
|
|
|
- 3. Extract the frame size from the last 4 byets
|
|
|
- 4. Read the extracted size and output it on the correct output
|
|
|
-- 5. Goto 1
|
|
|
-+ 5. Goto 1)
|
|
|
-
|
|
|
--### Wait a container:
|
|
|
-+#### [Wait a container](#id16)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/wait`{.descname}
|
|
|
- : Block until container `id` stops, then returns
|
|
|
-@@ -581,13 +637,13 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Remove a container:
|
|
|
-+#### [Remove a container](#id17)
|
|
|
-
|
|
|
-- `DELETE `{.descname}`/containers/`{.descname}(*id*
|
|
|
-+ `DELETE `{.descname}`/containers/`{.descname}(*id*)
|
|
|
- : Remove the container `id` from the filesystem
|
|
|
-
|
|
|
- **Example request**:
|
|
|
-@@ -602,17 +658,17 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **v** – 1/True/true or 0/False/false, Remove the volumes
|
|
|
-+ - **v** – 1/True/true or 0/False/false, Remove the volumes
|
|
|
- associated to the container. Default false
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Copy files or folders from a container:
|
|
|
-+#### [Copy files or folders from a container](#id18)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/copy`{.descname}
|
|
|
- : Copy files or folders of container `id`
|
|
|
-@@ -635,13 +691,13 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Images
|
|
|
-+### [2.2 Images](#id19)
|
|
|
-
|
|
|
--### List Images:
|
|
|
-+#### [List Images](#id20)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/json`{.descname}
|
|
|
- : **Example request**:
|
|
|
-@@ -678,7 +734,7 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
- }
|
|
|
- ]
|
|
|
-
|
|
|
--### Create an image:
|
|
|
-+#### [Create an image](#id21)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/create`{.descname}
|
|
|
- : Create an image, either by pull it from the registry or by importing
|
|
|
-@@ -706,24 +762,24 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **fromImage** – name of the image to pull
|
|
|
-- - **fromSrc** – source to import, - means stdin
|
|
|
-- - **repo** – repository
|
|
|
-- - **tag** – tag
|
|
|
-- - **registry** – the registry to pull from
|
|
|
-+ - **fromImage** – name of the image to pull
|
|
|
-+ - **fromSrc** – source to import, - means stdin
|
|
|
-+ - **repo** – repository
|
|
|
-+ - **tag** – tag
|
|
|
-+ - **registry** – the registry to pull from
|
|
|
-
|
|
|
- Request Headers:
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **X-Registry-Auth** – base64-encoded AuthConfig object
|
|
|
-+ - **X-Registry-Auth** – base64-encoded AuthConfig object
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Insert a file in an image:
|
|
|
-+#### [Insert a file in an image](#id22)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/`{.descname}(*name*)`/insert`{.descname}
|
|
|
- : Insert a file from `url` in the image
|
|
|
-@@ -745,10 +801,10 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Inspect an image:
|
|
|
-+#### [Inspect an image](#id23)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/`{.descname}(*name*)`/json`{.descname}
|
|
|
- : Return low-level information on the image `name`
|
|
|
-@@ -793,11 +849,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such image
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Get the history of an image:
|
|
|
-+#### [Get the history of an image](#id24)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/`{.descname}(*name*)`/history`{.descname}
|
|
|
- : Return the history of the image `name`
|
|
|
-@@ -826,11 +882,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such image
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Push an image on the registry:
|
|
|
-+#### [Push an image on the registry](#id25)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/`{.descname}(*name*)`/push`{.descname}
|
|
|
- : Push the image `name` on the registry
|
|
|
-@@ -853,22 +909,22 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **registry** – the registry you wan to push, optional
|
|
|
-+ - **registry** – the registry you wan to push, optional
|
|
|
-
|
|
|
- Request Headers:
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **X-Registry-Auth** – include a base64-encoded AuthConfig
|
|
|
-+ - **X-Registry-Auth** – include a base64-encoded AuthConfig
|
|
|
- object.
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such image
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Tag an image into a repository:
|
|
|
-+#### [Tag an image into a repository](#id26)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/`{.descname}(*name*)`/tag`{.descname}
|
|
|
- : Tag the image `name` into a repository
|
|
|
-@@ -885,20 +941,20 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **repo** – The repository to tag in
|
|
|
-- - **force** – 1/True/true or 0/False/false, default false
|
|
|
-+ - **repo** – The repository to tag in
|
|
|
-+ - **force** – 1/True/true or 0/False/false, default false
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **201** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **404** – no such image
|
|
|
-- - **409** – conflict
|
|
|
-- - **500** – server error
|
|
|
-+ - **201** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **409** – conflict
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Remove an image:
|
|
|
-+#### [Remove an image](#id27)
|
|
|
-
|
|
|
-- `DELETE `{.descname}`/images/`{.descname}(*name*
|
|
|
-+ `DELETE `{.descname}`/images/`{.descname}(*name*)
|
|
|
- : Remove the image `name` from the filesystem
|
|
|
-
|
|
|
- **Example request**:
|
|
|
-@@ -918,12 +974,12 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such image
|
|
|
-- - **409** – conflict
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **409** – conflict
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Search images:
|
|
|
-+#### [Search images](#id28)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/search`{.descname}
|
|
|
- : Search for an image in the docker index.
|
|
|
-@@ -971,16 +1027,16 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **term** – term to search
|
|
|
-+ - **term** – term to search
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Misc
|
|
|
-+### [2.3 Misc](#id29)
|
|
|
-
|
|
|
--### Build an image from Dockerfile via stdin:
|
|
|
-+#### [Build an image from Dockerfile via stdin](#id30)
|
|
|
-
|
|
|
- `POST `{.descname}`/build`{.descname}
|
|
|
- : Build an image from Dockerfile via stdin
|
|
|
-@@ -1012,25 +1068,25 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **t** – repository name (and optionally a tag) to be applied to
|
|
|
-+ - **t** – repository name (and optionally a tag) to be applied to
|
|
|
- the resulting image in case of success
|
|
|
-- - **q** – suppress verbose build output
|
|
|
-- - **nocache** – do not use the cache when building the image
|
|
|
-+ - **q** – suppress verbose build output
|
|
|
-+ - **nocache** – do not use the cache when building the image
|
|
|
-
|
|
|
- Request Headers:
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **Content-type** – should be set to
|
|
|
-+ - **Content-type** – should be set to
|
|
|
- `"application/tar"`.
|
|
|
-- - **X-Registry-Auth** – base64-encoded AuthConfig object
|
|
|
-+ - **X-Registry-Auth** – base64-encoded AuthConfig object
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Check auth configuration:
|
|
|
-+#### [Check auth configuration](#id31)
|
|
|
-
|
|
|
- `POST `{.descname}`/auth`{.descname}
|
|
|
- : Get the default username and email
|
|
|
-@@ -1053,11 +1109,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **204** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Display system-wide information:
|
|
|
-+#### [Display system-wide information](#id32)
|
|
|
-
|
|
|
- `GET `{.descname}`/info`{.descname}
|
|
|
- : Display system-wide information
|
|
|
-@@ -1084,10 +1140,10 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Show the docker version information:
|
|
|
-+#### [Show the docker version information](#id33)
|
|
|
-
|
|
|
- `GET `{.descname}`/version`{.descname}
|
|
|
- : Show the docker version information
|
|
|
-@@ -1109,10 +1165,10 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Create a new image from a container’s changes:
|
|
|
-+#### [Create a new image from a container’s changes](#id34)
|
|
|
-
|
|
|
- `POST `{.descname}`/commit`{.descname}
|
|
|
- : Create a new image from a container’s changes
|
|
|
-@@ -1132,26 +1188,26 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **container** – source container
|
|
|
-- - **repo** – repository
|
|
|
-- - **tag** – tag
|
|
|
-- - **m** – commit message
|
|
|
-- - **author** – author (eg. “John Hannibal Smith
|
|
|
-- \<[hannibal@a-team.com](mailto:hannibal%40a-team.com)\>”
|
|
|
-- - **run** – config automatically applied when the image is run.
|
|
|
-- (ex: {“Cmd”: [“cat”, “/world”], “PortSpecs”:[“22”]}
|
|
|
-+ - **container** – source container
|
|
|
-+ - **repo** – repository
|
|
|
-+ - **tag** – tag
|
|
|
-+ - **m** – commit message
|
|
|
-+ - **author** – author (eg. “John Hannibal Smith
|
|
|
-+ \<[hannibal@a-team.com](mailto:hannibal%40a-team.com)\>”)
|
|
|
-+ - **run** – config automatically applied when the image is run.
|
|
|
-+ (ex: {“Cmd”: [“cat”, “/world”], “PortSpecs”:[“22”]})
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **201** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **201** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Monitor Docker’s events:
|
|
|
-+#### [Monitor Docker’s events](#id35)
|
|
|
-
|
|
|
- `GET `{.descname}`/events`{.descname}
|
|
|
- : Get events from docker, either in real time via streaming, or via
|
|
|
-- polling (using since
|
|
|
-+ polling (using since)
|
|
|
-
|
|
|
- **Example request**:
|
|
|
-
|
|
|
-@@ -1171,14 +1227,14 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **since** – timestamp used for polling
|
|
|
-+ - **since** – timestamp used for polling
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Get a tarball containing all images and tags in a repository:
|
|
|
-+#### [Get a tarball containing all images and tags in a repository](#id36)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/`{.descname}(*name*)`/get`{.descname}
|
|
|
- : Get a tarball containing all images and metadata for the repository
|
|
|
-@@ -1197,10 +1253,10 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Load a tarball with a set of images and tags into docker:
|
|
|
-+#### [Load a tarball with a set of images and tags into docker](#id37)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/load`{.descname}
|
|
|
- : Load a set of images and tags into the docker repository.
|
|
|
-@@ -1217,38 +1273,38 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--## Going Further
|
|
|
-+## [3. Going further](#id38)
|
|
|
-
|
|
|
--### Inside ‘docker run’
|
|
|
-+### [3.1 Inside ‘docker run’](#id39)
|
|
|
-
|
|
|
- Here are the steps of ‘docker run’ :
|
|
|
-
|
|
|
--- Create the container
|
|
|
-+- Create the container
|
|
|
-
|
|
|
--- If the status code is 404, it means the image doesn’t exists:
|
|
|
-- : - Try to pull it
|
|
|
-- - Then retry to create the container
|
|
|
-+- If the status code is 404, it means the image doesn’t exists:
|
|
|
-+ : - Try to pull it
|
|
|
-+ - Then retry to create the container
|
|
|
-
|
|
|
--- Start the container
|
|
|
-+- Start the container
|
|
|
-
|
|
|
--- If you are not in detached mode:
|
|
|
-- : - Attach to the container, using logs=1 (to have stdout and
|
|
|
-+- If you are not in detached mode:
|
|
|
-+ : - Attach to the container, using logs=1 (to have stdout and
|
|
|
- stderr from the container’s start) and stream=1
|
|
|
-
|
|
|
--- If in detached mode or only stdin is attached:
|
|
|
-- : - Display the container’s id
|
|
|
-+- If in detached mode or only stdin is attached:
|
|
|
-+ : - Display the container’s id
|
|
|
-
|
|
|
--### Hijacking
|
|
|
-+### [3.2 Hijacking](#id40)
|
|
|
-
|
|
|
- In this version of the API, /attach, uses hijacking to transport stdin,
|
|
|
- stdout and stderr on the same socket. This might change in the future.
|
|
|
-
|
|
|
--### CORS Requests
|
|
|
-+### [3.3 CORS Requests](#id41)
|
|
|
-
|
|
|
- To enable cross origin requests to the remote api add the flag
|
|
|
--“-api-enable-cors” when running docker in daemon mode.
|
|
|
-+“–api-enable-cors” when running docker in daemon mode.
|
|
|
-
|
|
|
-- docker -d -H="192.168.1.9:4243" -api-enable-cors
|
|
|
-+ docker -d -H="192.168.1.9:4243" --api-enable-cors
|
|
|
-diff --git a/docs/sources/reference/api/docker_remote_api_v1.9.md b/docs/sources/reference/api/docker_remote_api_v1.9.md
|
|
|
-index 658835c..c25f837 100644
|
|
|
---- a/docs/sources/reference/api/docker_remote_api_v1.9.md
|
|
|
-+++ b/docs/sources/reference/api/docker_remote_api_v1.9.md
|
|
|
-@@ -2,24 +2,80 @@ page_title: Remote API v1.9
|
|
|
- page_description: API Documentation for Docker
|
|
|
- page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
--# Docker Remote API v1.9
|
|
|
--
|
|
|
--## Introduction
|
|
|
--
|
|
|
--- The Remote API has replaced rcli
|
|
|
--- The daemon listens on `unix:///var/run/docker.sock`{.docutils
|
|
|
-- .literal}, but you can [*Bind Docker to another host/port or a Unix
|
|
|
-- socket*](../../../use/basics/#bind-docker).
|
|
|
--- The API tends to be REST, but for some complex commands, like
|
|
|
-- `attach` or `pull`{.docutils .literal}, the HTTP
|
|
|
-- connection is hijacked to transport `stdout, stdin`{.docutils
|
|
|
-- .literal} and `stderr`
|
|
|
--
|
|
|
--## Endpoints
|
|
|
--
|
|
|
--## Containers
|
|
|
--
|
|
|
--### List containers:
|
|
|
-+# [Docker Remote API v1.9](#id1)
|
|
|
-+
|
|
|
-+Table of Contents
|
|
|
-+
|
|
|
-+- [Docker Remote API v1.9](#docker-remote-api-v1-9)
|
|
|
-+ - [1. Brief introduction](#brief-introduction)
|
|
|
-+ - [2. Endpoints](#endpoints)
|
|
|
-+ - [2.1 Containers](#containers)
|
|
|
-+ - [List containers](#list-containers)
|
|
|
-+ - [Create a container](#create-a-container)
|
|
|
-+ - [Inspect a container](#inspect-a-container)
|
|
|
-+ - [List processes running inside a
|
|
|
-+ container](#list-processes-running-inside-a-container)
|
|
|
-+ - [Inspect changes on a container’s
|
|
|
-+ filesystem](#inspect-changes-on-a-container-s-filesystem)
|
|
|
-+ - [Export a container](#export-a-container)
|
|
|
-+ - [Start a container](#start-a-container)
|
|
|
-+ - [Stop a container](#stop-a-container)
|
|
|
-+ - [Restart a container](#restart-a-container)
|
|
|
-+ - [Kill a container](#kill-a-container)
|
|
|
-+ - [Attach to a container](#attach-to-a-container)
|
|
|
-+ - [Wait a container](#wait-a-container)
|
|
|
-+ - [Remove a container](#remove-a-container)
|
|
|
-+ - [Copy files or folders from a
|
|
|
-+ container](#copy-files-or-folders-from-a-container)
|
|
|
-+ - [2.2 Images](#images)
|
|
|
-+ - [List Images](#list-images)
|
|
|
-+ - [Create an image](#create-an-image)
|
|
|
-+ - [Insert a file in an image](#insert-a-file-in-an-image)
|
|
|
-+ - [Inspect an image](#inspect-an-image)
|
|
|
-+ - [Get the history of an
|
|
|
-+ image](#get-the-history-of-an-image)
|
|
|
-+ - [Push an image on the
|
|
|
-+ registry](#push-an-image-on-the-registry)
|
|
|
-+ - [Tag an image into a
|
|
|
-+ repository](#tag-an-image-into-a-repository)
|
|
|
-+ - [Remove an image](#remove-an-image)
|
|
|
-+ - [Search images](#search-images)
|
|
|
-+ - [2.3 Misc](#misc)
|
|
|
-+ - [Build an image from
|
|
|
-+ Dockerfile](#build-an-image-from-dockerfile)
|
|
|
-+ - [Check auth configuration](#check-auth-configuration)
|
|
|
-+ - [Display system-wide
|
|
|
-+ information](#display-system-wide-information)
|
|
|
-+ - [Show the docker version
|
|
|
-+ information](#show-the-docker-version-information)
|
|
|
-+ - [Create a new image from a container’s
|
|
|
-+ changes](#create-a-new-image-from-a-container-s-changes)
|
|
|
-+ - [Monitor Docker’s events](#monitor-docker-s-events)
|
|
|
-+ - [Get a tarball containing all images and tags in a
|
|
|
-+ repository](#get-a-tarball-containing-all-images-and-tags-in-a-repository)
|
|
|
-+ - [Load a tarball with a set of images and tags into
|
|
|
-+ docker](#load-a-tarball-with-a-set-of-images-and-tags-into-docker)
|
|
|
-+ - [3. Going further](#going-further)
|
|
|
-+ - [3.1 Inside ‘docker run’](#inside-docker-run)
|
|
|
-+ - [3.2 Hijacking](#hijacking)
|
|
|
-+ - [3.3 CORS Requests](#cors-requests)
|
|
|
-+
|
|
|
-+## [1. Brief introduction](#id2)
|
|
|
-+
|
|
|
-+- The Remote API has replaced rcli
|
|
|
-+- The daemon listens on `unix:///var/run/docker.sock`{.docutils
|
|
|
-+ .literal}, but you can [*Bind Docker to another host/port or a Unix
|
|
|
-+ socket*](../../../use/basics/#bind-docker).
|
|
|
-+- The API tends to be REST, but for some complex commands, like
|
|
|
-+ `attach` or `pull`{.docutils .literal}, the HTTP
|
|
|
-+ connection is hijacked to transport `stdout, stdin`{.docutils
|
|
|
-+ .literal} and `stderr`
|
|
|
-+
|
|
|
-+## [2. Endpoints](#id3)
|
|
|
-+
|
|
|
-+### [2.1 Containers](#id4)
|
|
|
-+
|
|
|
-+#### [List containers](#id5)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/json`{.descname}
|
|
|
- : List containers
|
|
|
-@@ -80,24 +136,24 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **all** – 1/True/true or 0/False/false, Show all containers.
|
|
|
-+ - **all** – 1/True/true or 0/False/false, Show all containers.
|
|
|
- Only running containers are shown by default
|
|
|
-- - **limit** – Show `limit` last created
|
|
|
-+ - **limit** – Show `limit` last created
|
|
|
- containers, include non-running ones.
|
|
|
-- - **since** – Show only containers created since Id, include
|
|
|
-+ - **since** – Show only containers created since Id, include
|
|
|
- non-running ones.
|
|
|
-- - **before** – Show only containers created before Id, include
|
|
|
-+ - **before** – Show only containers created before Id, include
|
|
|
- non-running ones.
|
|
|
-- - **size** – 1/True/true or 0/False/false, Show the containers
|
|
|
-+ - **size** – 1/True/true or 0/False/false, Show the containers
|
|
|
- sizes
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Create a container:
|
|
|
-+#### [Create a container](#id6)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/create`{.descname}
|
|
|
- : Create a container
|
|
|
-@@ -150,36 +206,36 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **Hostname** – Container host name
|
|
|
-- - **User** – Username or UID
|
|
|
-- - **Memory** – Memory Limit in bytes
|
|
|
-- - **CpuShares** – CPU shares (relative weight)
|
|
|
-- - **AttachStdin** – 1/True/true or 0/False/false, attach to
|
|
|
-+ - **Hostname** – Container host name
|
|
|
-+ - **User** – Username or UID
|
|
|
-+ - **Memory** – Memory Limit in bytes
|
|
|
-+ - **CpuShares** – CPU shares (relative weight)
|
|
|
-+ - **AttachStdin** – 1/True/true or 0/False/false, attach to
|
|
|
- standard input. Default false
|
|
|
-- - **AttachStdout** – 1/True/true or 0/False/false, attach to
|
|
|
-+ - **AttachStdout** – 1/True/true or 0/False/false, attach to
|
|
|
- standard output. Default false
|
|
|
-- - **AttachStderr** – 1/True/true or 0/False/false, attach to
|
|
|
-+ - **AttachStderr** – 1/True/true or 0/False/false, attach to
|
|
|
- standard error. Default false
|
|
|
-- - **Tty** – 1/True/true or 0/False/false, allocate a pseudo-tty.
|
|
|
-+ - **Tty** – 1/True/true or 0/False/false, allocate a pseudo-tty.
|
|
|
- Default false
|
|
|
-- - **OpenStdin** – 1/True/true or 0/False/false, keep stdin open
|
|
|
-+ - **OpenStdin** – 1/True/true or 0/False/false, keep stdin open
|
|
|
- even if not attached. Default false
|
|
|
-
|
|
|
- Query Parameters:
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **name** – Assign the specified name to the container. Must
|
|
|
-+ - **name** – Assign the specified name to the container. Must
|
|
|
- match `/?[a-zA-Z0-9_-]+`.
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **201** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **406** – impossible to attach (container not running)
|
|
|
-- - **500** – server error
|
|
|
-+ - **201** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **406** – impossible to attach (container not running)
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Inspect a container:
|
|
|
-+#### [Inspect a container](#id7)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/`{.descname}(*id*)`/json`{.descname}
|
|
|
- : Return low-level information on the container `id`{.docutils
|
|
|
-@@ -260,11 +316,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### List processes running inside a container:
|
|
|
-+#### [List processes running inside a container](#id8)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/`{.descname}(*id*)`/top`{.descname}
|
|
|
- : List processes running inside the container `id`
|
|
|
-@@ -302,15 +358,15 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **ps\_args** – ps arguments to use (eg. aux)
|
|
|
-+ - **ps\_args** – ps arguments to use (eg. aux)
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Inspect changes on a container’s filesystem:
|
|
|
-+#### [Inspect changes on a container’s filesystem](#id9)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/`{.descname}(*id*)`/changes`{.descname}
|
|
|
- : Inspect changes on container `id` ‘s filesystem
|
|
|
-@@ -341,12 +397,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
--
|
|
|
--### Export a container:
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
-+#### [Export a container](#id10)
|
|
|
-
|
|
|
- `GET `{.descname}`/containers/`{.descname}(*id*)`/export`{.descname}
|
|
|
- : Export the contents of container `id`
|
|
|
-@@ -364,12 +419,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
--
|
|
|
--### Start a container:
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
-+#### [Start a container](#id11)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/start`{.descname}
|
|
|
- : Start the container `id`
|
|
|
-@@ -396,25 +450,24 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **Binds** – Create a bind mount to a directory or file with
|
|
|
-+ - **Binds** – Create a bind mount to a directory or file with
|
|
|
- [host-path]:[container-path]:[rw|ro]. If a directory
|
|
|
- “container-path” is missing, then docker creates a new volume.
|
|
|
-- - **LxcConf** – Map of custom lxc options
|
|
|
-- - **PortBindings** – Expose ports from the container, optionally
|
|
|
-+ - **LxcConf** – Map of custom lxc options
|
|
|
-+ - **PortBindings** – Expose ports from the container, optionally
|
|
|
- publishing them via the HostPort flag
|
|
|
-- - **PublishAllPorts** – 1/True/true or 0/False/false, publish all
|
|
|
-+ - **PublishAllPorts** – 1/True/true or 0/False/false, publish all
|
|
|
- exposed ports to the host interfaces. Default false
|
|
|
-- - **Privileged** – 1/True/true or 0/False/false, give extended
|
|
|
-+ - **Privileged** – 1/True/true or 0/False/false, give extended
|
|
|
- privileges to this container. Default false
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
--
|
|
|
--### Stop a container:
|
|
|
-+ - **204** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
-+#### [Stop a container](#id12)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/stop`{.descname}
|
|
|
- : Stop the container `id`
|
|
|
-@@ -431,16 +484,15 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **t** – number of seconds to wait before killing the container
|
|
|
-+ - **t** – number of seconds to wait before killing the container
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
--
|
|
|
--### Restart a container:
|
|
|
-+ - **204** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
-+#### [Restart a container](#id13)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/restart`{.descname}
|
|
|
- : Restart the container `id`
|
|
|
-@@ -457,16 +509,15 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **t** – number of seconds to wait before killing the container
|
|
|
-+ - **t** – number of seconds to wait before killing the container
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
--
|
|
|
--### Kill a container:
|
|
|
-+ - **204** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
-+#### [Kill a container](#id14)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/kill`{.descname}
|
|
|
- : Kill the container `id`
|
|
|
-@@ -481,12 +532,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
--
|
|
|
--### Attach to a container:
|
|
|
-+ - **204** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
-+#### [Attach to a container](#id15)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/attach`{.descname}
|
|
|
- : Attach to the container `id`
|
|
|
-@@ -506,23 +556,23 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **logs** – 1/True/true or 0/False/false, return logs. Default
|
|
|
-+ - **logs** – 1/True/true or 0/False/false, return logs. Default
|
|
|
- false
|
|
|
-- - **stream** – 1/True/true or 0/False/false, return stream.
|
|
|
-+ - **stream** – 1/True/true or 0/False/false, return stream.
|
|
|
- Default false
|
|
|
-- - **stdin** – 1/True/true or 0/False/false, if stream=true, attach
|
|
|
-+ - **stdin** – 1/True/true or 0/False/false, if stream=true, attach
|
|
|
- to stdin. Default false
|
|
|
-- - **stdout** – 1/True/true or 0/False/false, if logs=true, return
|
|
|
-+ - **stdout** – 1/True/true or 0/False/false, if logs=true, return
|
|
|
- stdout log, if stream=true, attach to stdout. Default false
|
|
|
-- - **stderr** – 1/True/true or 0/False/false, if logs=true, return
|
|
|
-+ - **stderr** – 1/True/true or 0/False/false, if logs=true, return
|
|
|
- stderr log, if stream=true, attach to stderr. Default false
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
- **Stream details**:
|
|
|
-
|
|
|
-@@ -547,9 +597,9 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- `STREAM_TYPE` can be:
|
|
|
-
|
|
|
-- - 0: stdin (will be writen on stdout)
|
|
|
-- - 1: stdout
|
|
|
-- - 2: stderr
|
|
|
-+ - 0: stdin (will be writen on stdout)
|
|
|
-+ - 1: stdout
|
|
|
-+ - 2: stderr
|
|
|
-
|
|
|
- `SIZE1, SIZE2, SIZE3, SIZE4` are the 4 bytes of
|
|
|
- the uint32 size encoded as big endian.
|
|
|
-@@ -568,7 +618,7 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
- 4. Read the extracted size and output it on the correct output
|
|
|
- 5. Goto 1)
|
|
|
-
|
|
|
--### Wait a container:
|
|
|
-+#### [Wait a container](#id16)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/wait`{.descname}
|
|
|
- : Block until container `id` stops, then returns
|
|
|
-@@ -587,11 +637,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Remove a container:
|
|
|
-+#### [Remove a container](#id17)
|
|
|
-
|
|
|
- `DELETE `{.descname}`/containers/`{.descname}(*id*)
|
|
|
- : Remove the container `id` from the filesystem
|
|
|
-@@ -608,17 +658,17 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **v** – 1/True/true or 0/False/false, Remove the volumes
|
|
|
-+ - **v** – 1/True/true or 0/False/false, Remove the volumes
|
|
|
- associated to the container. Default false
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Copy files or folders from a container:
|
|
|
-+#### [Copy files or folders from a container](#id18)
|
|
|
-
|
|
|
- `POST `{.descname}`/containers/`{.descname}(*id*)`/copy`{.descname}
|
|
|
- : Copy files or folders of container `id`
|
|
|
-@@ -641,13 +691,13 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--## Images
|
|
|
-+### [2.2 Images](#id19)
|
|
|
-
|
|
|
--### List Images:
|
|
|
-+#### [List Images](#id20)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/json`{.descname}
|
|
|
- : **Example request**:
|
|
|
-@@ -684,7 +734,7 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
- }
|
|
|
- ]
|
|
|
-
|
|
|
--### Create an image:
|
|
|
-+#### [Create an image](#id21)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/create`{.descname}
|
|
|
- : Create an image, either by pull it from the registry or by importing
|
|
|
-@@ -712,25 +762,24 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **fromImage** – name of the image to pull
|
|
|
-- - **fromSrc** – source to import, - means stdin
|
|
|
-- - **repo** – repository
|
|
|
-- - **tag** – tag
|
|
|
-- - **registry** – the registry to pull from
|
|
|
-+ - **fromImage** – name of the image to pull
|
|
|
-+ - **fromSrc** – source to import, - means stdin
|
|
|
-+ - **repo** – repository
|
|
|
-+ - **tag** – tag
|
|
|
-+ - **registry** – the registry to pull from
|
|
|
-
|
|
|
- Request Headers:
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **X-Registry-Auth** – base64-encoded AuthConfig object
|
|
|
-+ - **X-Registry-Auth** – base64-encoded AuthConfig object
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
--
|
|
|
--### Insert a file in an image:
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
-+#### [Insert a file in an image](#id22)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/`{.descname}(*name*)`/insert`{.descname}
|
|
|
- : Insert a file from `url` in the image
|
|
|
-@@ -752,10 +801,10 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Inspect an image:
|
|
|
-+#### [Inspect an image](#id23)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/`{.descname}(*name*)`/json`{.descname}
|
|
|
- : Return low-level information on the image `name`
|
|
|
-@@ -800,11 +849,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such image
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Get the history of an image:
|
|
|
-+#### [Get the history of an image](#id24)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/`{.descname}(*name*)`/history`{.descname}
|
|
|
- : Return the history of the image `name`
|
|
|
-@@ -833,12 +882,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such image
|
|
|
-- - **500** – server error
|
|
|
--
|
|
|
--### Push an image on the registry:
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
-+#### [Push an image on the registry](#id25)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/`{.descname}(*name*)`/push`{.descname}
|
|
|
- : Push the image `name` on the registry
|
|
|
-@@ -861,22 +909,22 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **registry** – the registry you wan to push, optional
|
|
|
-+ - **registry** – the registry you wan to push, optional
|
|
|
-
|
|
|
- Request Headers:
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **X-Registry-Auth** – include a base64-encoded AuthConfig
|
|
|
-+ - **X-Registry-Auth** – include a base64-encoded AuthConfig
|
|
|
- object.
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such image
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Tag an image into a repository:
|
|
|
-+#### [Tag an image into a repository](#id26)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/`{.descname}(*name*)`/tag`{.descname}
|
|
|
- : Tag the image `name` into a repository
|
|
|
-@@ -893,18 +941,18 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **repo** – The repository to tag in
|
|
|
-- - **force** – 1/True/true or 0/False/false, default false
|
|
|
-+ - **repo** – The repository to tag in
|
|
|
-+ - **force** – 1/True/true or 0/False/false, default false
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **201** – no error
|
|
|
-- - **400** – bad parameter
|
|
|
-- - **404** – no such image
|
|
|
-- - **409** – conflict
|
|
|
-- - **500** – server error
|
|
|
-+ - **201** – no error
|
|
|
-+ - **400** – bad parameter
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **409** – conflict
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Remove an image:
|
|
|
-+#### [Remove an image](#id27)
|
|
|
-
|
|
|
- `DELETE `{.descname}`/images/`{.descname}(*name*)
|
|
|
- : Remove the image `name` from the filesystem
|
|
|
-@@ -926,12 +974,12 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **404** – no such image
|
|
|
-- - **409** – conflict
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **404** – no such image
|
|
|
-+ - **409** – conflict
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Search images:
|
|
|
-+#### [Search images](#id28)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/search`{.descname}
|
|
|
- : Search for an image in the docker index.
|
|
|
-@@ -979,16 +1027,16 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **term** – term to search
|
|
|
-+ - **term** – term to search
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--## Misc
|
|
|
-+### [2.3 Misc](#id29)
|
|
|
-
|
|
|
--### Build an image from Dockerfile:
|
|
|
-+#### [Build an image from Dockerfile](#id30)
|
|
|
-
|
|
|
- `POST `{.descname}`/build`{.descname}
|
|
|
- : Build an image from Dockerfile using a POST body.
|
|
|
-@@ -1020,26 +1068,26 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **t** – repository name (and optionally a tag) to be applied to
|
|
|
-+ - **t** – repository name (and optionally a tag) to be applied to
|
|
|
- the resulting image in case of success
|
|
|
-- - **q** – suppress verbose build output
|
|
|
-- - **nocache** – do not use the cache when building the image
|
|
|
-- - **rm** – Remove intermediate containers after a successful build
|
|
|
-+ - **q** – suppress verbose build output
|
|
|
-+ - **nocache** – do not use the cache when building the image
|
|
|
-+ - **rm** – Remove intermediate containers after a successful build
|
|
|
-
|
|
|
- Request Headers:
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **Content-type** – should be set to
|
|
|
-+ - **Content-type** – should be set to
|
|
|
- `"application/tar"`.
|
|
|
-- - **X-Registry-Config** – base64-encoded ConfigFile object
|
|
|
-+ - **X-Registry-Config** – base64-encoded ConfigFile object
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Check auth configuration:
|
|
|
-+#### [Check auth configuration](#id31)
|
|
|
-
|
|
|
- `POST `{.descname}`/auth`{.descname}
|
|
|
- : Get the default username and email
|
|
|
-@@ -1062,11 +1110,11 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **204** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **204** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Display system-wide information:
|
|
|
-+#### [Display system-wide information](#id32)
|
|
|
-
|
|
|
- `GET `{.descname}`/info`{.descname}
|
|
|
- : Display system-wide information
|
|
|
-@@ -1093,10 +1141,10 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Show the docker version information:
|
|
|
-+#### [Show the docker version information](#id33)
|
|
|
-
|
|
|
- `GET `{.descname}`/version`{.descname}
|
|
|
- : Show the docker version information
|
|
|
-@@ -1118,10 +1166,10 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Create a new image from a container’s changes:
|
|
|
-+#### [Create a new image from a container’s changes](#id34)
|
|
|
-
|
|
|
- `POST `{.descname}`/commit`{.descname}
|
|
|
- : Create a new image from a container’s changes
|
|
|
-@@ -1141,22 +1189,22 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **container** – source container
|
|
|
-- - **repo** – repository
|
|
|
-- - **tag** – tag
|
|
|
-- - **m** – commit message
|
|
|
-- - **author** – author (eg. “John Hannibal Smith
|
|
|
-+ - **container** – source container
|
|
|
-+ - **repo** – repository
|
|
|
-+ - **tag** – tag
|
|
|
-+ - **m** – commit message
|
|
|
-+ - **author** – author (eg. “John Hannibal Smith
|
|
|
- \<[hannibal@a-team.com](mailto:hannibal%40a-team.com)\>”)
|
|
|
-- - **run** – config automatically applied when the image is run.
|
|
|
-+ - **run** – config automatically applied when the image is run.
|
|
|
- (ex: {“Cmd”: [“cat”, “/world”], “PortSpecs”:[“22”]})
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **201** – no error
|
|
|
-- - **404** – no such container
|
|
|
-- - **500** – server error
|
|
|
-+ - **201** – no error
|
|
|
-+ - **404** – no such container
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Monitor Docker’s events:
|
|
|
-+#### [Monitor Docker’s events](#id35)
|
|
|
-
|
|
|
- `GET `{.descname}`/events`{.descname}
|
|
|
- : Get events from docker, either in real time via streaming, or via
|
|
|
-@@ -1180,14 +1228,14 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **since** – timestamp used for polling
|
|
|
-+ - **since** – timestamp used for polling
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Get a tarball containing all images and tags in a repository:
|
|
|
-+#### [Get a tarball containing all images and tags in a repository](#id36)
|
|
|
-
|
|
|
- `GET `{.descname}`/images/`{.descname}(*name*)`/get`{.descname}
|
|
|
- : Get a tarball containing all images and metadata for the repository
|
|
|
-@@ -1206,10 +1254,10 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--### Load a tarball with a set of images and tags into docker:
|
|
|
-+#### [Load a tarball with a set of images and tags into docker](#id37)
|
|
|
-
|
|
|
- `POST `{.descname}`/images/load`{.descname}
|
|
|
- : Load a set of images and tags into the docker repository.
|
|
|
-@@ -1226,38 +1274,38 @@ page_keywords: API, Docker, rcli, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
--## Going Further
|
|
|
-+## [3. Going further](#id38)
|
|
|
-
|
|
|
--### Inside ‘docker run’
|
|
|
-+### [3.1 Inside ‘docker run’](#id39)
|
|
|
-
|
|
|
- Here are the steps of ‘docker run’ :
|
|
|
-
|
|
|
--- Create the container
|
|
|
-+- Create the container
|
|
|
-
|
|
|
--- If the status code is 404, it means the image doesn’t exists:
|
|
|
-- : - Try to pull it
|
|
|
-- - Then retry to create the container
|
|
|
-+- If the status code is 404, it means the image doesn’t exists:
|
|
|
-+ : - Try to pull it
|
|
|
-+ - Then retry to create the container
|
|
|
-
|
|
|
--- Start the container
|
|
|
-+- Start the container
|
|
|
-
|
|
|
--- If you are not in detached mode:
|
|
|
-- : - Attach to the container, using logs=1 (to have stdout and
|
|
|
-+- If you are not in detached mode:
|
|
|
-+ : - Attach to the container, using logs=1 (to have stdout and
|
|
|
- stderr from the container’s start) and stream=1
|
|
|
-
|
|
|
--- If in detached mode or only stdin is attached:
|
|
|
-- : - Display the container’s id
|
|
|
-+- If in detached mode or only stdin is attached:
|
|
|
-+ : - Display the container’s id
|
|
|
-
|
|
|
--### Hijacking
|
|
|
-+### [3.2 Hijacking](#id40)
|
|
|
-
|
|
|
- In this version of the API, /attach, uses hijacking to transport stdin,
|
|
|
- stdout and stderr on the same socket. This might change in the future.
|
|
|
-
|
|
|
--### CORS Requests
|
|
|
-+### [3.3 CORS Requests](#id41)
|
|
|
-
|
|
|
- To enable cross origin requests to the remote api add the flag
|
|
|
--“-api-enable-cors” when running docker in daemon mode.
|
|
|
-+“–api-enable-cors” when running docker in daemon mode.
|
|
|
-
|
|
|
-- docker -d -H="192.168.1.9:4243" -api-enable-cors
|
|
|
-+ docker -d -H="192.168.1.9:4243" --api-enable-cors
|
|
|
-diff --git a/docs/sources/reference/api/index_api.md b/docs/sources/reference/api/index_api.md
|
|
|
-index 83cf36b..e9bcc2b 100644
|
|
|
---- a/docs/sources/reference/api/index_api.md
|
|
|
-+++ b/docs/sources/reference/api/index_api.md
|
|
|
-@@ -4,17 +4,19 @@ page_keywords: API, Docker, index, REST, documentation
|
|
|
-
|
|
|
- # Docker Index API
|
|
|
-
|
|
|
--## Introduction
|
|
|
-+## 1. Brief introduction
|
|
|
-
|
|
|
--- This is the REST API for the Docker index
|
|
|
--- Authorization is done with basic auth over SSL
|
|
|
--- Not all commands require authentication, only those noted as such.
|
|
|
-+- This is the REST API for the Docker index
|
|
|
-+- Authorization is done with basic auth over SSL
|
|
|
-+- Not all commands require authentication, only those noted as such.
|
|
|
-
|
|
|
--## Repository
|
|
|
-+## 2. Endpoints
|
|
|
-
|
|
|
--### Repositories
|
|
|
-+### 2.1 Repository
|
|
|
-
|
|
|
--### User Repo
|
|
|
-+#### Repositories
|
|
|
-+
|
|
|
-+##### User Repo
|
|
|
-
|
|
|
- `PUT `{.descname}`/v1/repositories/`{.descname}(*namespace*)`/`{.descname}(*repo\_name*)`/`{.descname}
|
|
|
- : Create a user repository with the given `namespace`{.docutils
|
|
|
-@@ -33,8 +35,8 @@ page_keywords: API, Docker, index, REST, documentation
|
|
|
-
|
|
|
- Parameters:
|
|
|
-
|
|
|
-- - **namespace** – the namespace for the repo
|
|
|
-- - **repo\_name** – the name for the repo
|
|
|
-+ - **namespace** – the namespace for the repo
|
|
|
-+ - **repo\_name** – the name for the repo
|
|
|
-
|
|
|
- **Example Response**:
|
|
|
-
|
|
|
-@@ -49,10 +51,10 @@ page_keywords: API, Docker, index, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – Created
|
|
|
-- - **400** – Errors (invalid json, missing or invalid fields, etc)
|
|
|
-- - **401** – Unauthorized
|
|
|
-- - **403** – Account is not Active
|
|
|
-+ - **200** – Created
|
|
|
-+ - **400** – Errors (invalid json, missing or invalid fields, etc)
|
|
|
-+ - **401** – Unauthorized
|
|
|
-+ - **403** – Account is not Active
|
|
|
-
|
|
|
- `DELETE `{.descname}`/v1/repositories/`{.descname}(*namespace*)`/`{.descname}(*repo\_name*)`/`{.descname}
|
|
|
- : Delete a user repository with the given `namespace`{.docutils
|
|
|
-@@ -71,8 +73,8 @@ page_keywords: API, Docker, index, REST, documentation
|
|
|
-
|
|
|
- Parameters:
|
|
|
-
|
|
|
-- - **namespace** – the namespace for the repo
|
|
|
-- - **repo\_name** – the name for the repo
|
|
|
-+ - **namespace** – the namespace for the repo
|
|
|
-+ - **repo\_name** – the name for the repo
|
|
|
-
|
|
|
- **Example Response**:
|
|
|
-
|
|
|
-@@ -87,13 +89,13 @@ page_keywords: API, Docker, index, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – Deleted
|
|
|
-- - **202** – Accepted
|
|
|
-- - **400** – Errors (invalid json, missing or invalid fields, etc)
|
|
|
-- - **401** – Unauthorized
|
|
|
-- - **403** – Account is not Active
|
|
|
-+ - **200** – Deleted
|
|
|
-+ - **202** – Accepted
|
|
|
-+ - **400** – Errors (invalid json, missing or invalid fields, etc)
|
|
|
-+ - **401** – Unauthorized
|
|
|
-+ - **403** – Account is not Active
|
|
|
-
|
|
|
--### Library Repo
|
|
|
-+##### Library Repo
|
|
|
-
|
|
|
- `PUT `{.descname}`/v1/repositories/`{.descname}(*repo\_name*)`/`{.descname}
|
|
|
- : Create a library repository with the given `repo_name`{.docutils
|
|
|
-@@ -116,7 +118,7 @@ page_keywords: API, Docker, index, REST, documentation
|
|
|
-
|
|
|
- Parameters:
|
|
|
-
|
|
|
-- - **repo\_name** – the library name for the repo
|
|
|
-+ - **repo\_name** – the library name for the repo
|
|
|
-
|
|
|
- **Example Response**:
|
|
|
-
|
|
|
-@@ -131,10 +133,10 @@ page_keywords: API, Docker, index, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – Created
|
|
|
-- - **400** – Errors (invalid json, missing or invalid fields, etc)
|
|
|
-- - **401** – Unauthorized
|
|
|
-- - **403** – Account is not Active
|
|
|
-+ - **200** – Created
|
|
|
-+ - **400** – Errors (invalid json, missing or invalid fields, etc)
|
|
|
-+ - **401** – Unauthorized
|
|
|
-+ - **403** – Account is not Active
|
|
|
-
|
|
|
- `DELETE `{.descname}`/v1/repositories/`{.descname}(*repo\_name*)`/`{.descname}
|
|
|
- : Delete a library repository with the given `repo_name`{.docutils
|
|
|
-@@ -157,7 +159,7 @@ page_keywords: API, Docker, index, REST, documentation
|
|
|
-
|
|
|
- Parameters:
|
|
|
-
|
|
|
-- - **repo\_name** – the library name for the repo
|
|
|
-+ - **repo\_name** – the library name for the repo
|
|
|
-
|
|
|
- **Example Response**:
|
|
|
-
|
|
|
-@@ -172,15 +174,15 @@ page_keywords: API, Docker, index, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – Deleted
|
|
|
-- - **202** – Accepted
|
|
|
-- - **400** – Errors (invalid json, missing or invalid fields, etc)
|
|
|
-- - **401** – Unauthorized
|
|
|
-- - **403** – Account is not Active
|
|
|
-+ - **200** – Deleted
|
|
|
-+ - **202** – Accepted
|
|
|
-+ - **400** – Errors (invalid json, missing or invalid fields, etc)
|
|
|
-+ - **401** – Unauthorized
|
|
|
-+ - **403** – Account is not Active
|
|
|
-
|
|
|
--### Repository Images
|
|
|
-+#### Repository Images
|
|
|
-
|
|
|
--### User Repo Images
|
|
|
-+##### User Repo Images
|
|
|
-
|
|
|
- `PUT `{.descname}`/v1/repositories/`{.descname}(*namespace*)`/`{.descname}(*repo\_name*)`/images`{.descname}
|
|
|
- : Update the images for a user repo.
|
|
|
-@@ -198,8 +200,8 @@ page_keywords: API, Docker, index, REST, documentation
|
|
|
-
|
|
|
- Parameters:
|
|
|
-
|
|
|
-- - **namespace** – the namespace for the repo
|
|
|
-- - **repo\_name** – the name for the repo
|
|
|
-+ - **namespace** – the namespace for the repo
|
|
|
-+ - **repo\_name** – the name for the repo
|
|
|
-
|
|
|
- **Example Response**:
|
|
|
-
|
|
|
-@@ -211,10 +213,10 @@ page_keywords: API, Docker, index, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – Created
|
|
|
-- - **400** – Errors (invalid json, missing or invalid fields, etc)
|
|
|
-- - **401** – Unauthorized
|
|
|
-- - **403** – Account is not Active or permission denied
|
|
|
-+ - **204** – Created
|
|
|
-+ - **400** – Errors (invalid json, missing or invalid fields, etc)
|
|
|
-+ - **401** – Unauthorized
|
|
|
-+ - **403** – Account is not Active or permission denied
|
|
|
-
|
|
|
- `GET `{.descname}`/v1/repositories/`{.descname}(*namespace*)`/`{.descname}(*repo\_name*)`/images`{.descname}
|
|
|
- : get the images for a user repo.
|
|
|
-@@ -227,8 +229,8 @@ page_keywords: API, Docker, index, REST, documentation
|
|
|
-
|
|
|
- Parameters:
|
|
|
-
|
|
|
-- - **namespace** – the namespace for the repo
|
|
|
-- - **repo\_name** – the name for the repo
|
|
|
-+ - **namespace** – the namespace for the repo
|
|
|
-+ - **repo\_name** – the name for the repo
|
|
|
-
|
|
|
- **Example Response**:
|
|
|
-
|
|
|
-@@ -243,10 +245,10 @@ page_keywords: API, Docker, index, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – OK
|
|
|
-- - **404** – Not found
|
|
|
-+ - **200** – OK
|
|
|
-+ - **404** – Not found
|
|
|
-
|
|
|
--### Library Repo Images
|
|
|
-+##### Library Repo Images
|
|
|
-
|
|
|
- `PUT `{.descname}`/v1/repositories/`{.descname}(*repo\_name*)`/images`{.descname}
|
|
|
- : Update the images for a library repo.
|
|
|
-@@ -264,7 +266,7 @@ page_keywords: API, Docker, index, REST, documentation
|
|
|
-
|
|
|
- Parameters:
|
|
|
-
|
|
|
-- - **repo\_name** – the library name for the repo
|
|
|
-+ - **repo\_name** – the library name for the repo
|
|
|
-
|
|
|
- **Example Response**:
|
|
|
-
|
|
|
-@@ -276,10 +278,10 @@ page_keywords: API, Docker, index, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – Created
|
|
|
-- - **400** – Errors (invalid json, missing or invalid fields, etc)
|
|
|
-- - **401** – Unauthorized
|
|
|
-- - **403** – Account is not Active or permission denied
|
|
|
-+ - **204** – Created
|
|
|
-+ - **400** – Errors (invalid json, missing or invalid fields, etc)
|
|
|
-+ - **401** – Unauthorized
|
|
|
-+ - **403** – Account is not Active or permission denied
|
|
|
-
|
|
|
- `GET `{.descname}`/v1/repositories/`{.descname}(*repo\_name*)`/images`{.descname}
|
|
|
- : get the images for a library repo.
|
|
|
-@@ -292,7 +294,7 @@ page_keywords: API, Docker, index, REST, documentation
|
|
|
-
|
|
|
- Parameters:
|
|
|
-
|
|
|
-- - **repo\_name** – the library name for the repo
|
|
|
-+ - **repo\_name** – the library name for the repo
|
|
|
-
|
|
|
- **Example Response**:
|
|
|
-
|
|
|
-@@ -307,12 +309,12 @@ page_keywords: API, Docker, index, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – OK
|
|
|
-- - **404** – Not found
|
|
|
-+ - **200** – OK
|
|
|
-+ - **404** – Not found
|
|
|
-
|
|
|
--### Repository Authorization
|
|
|
-+#### Repository Authorization
|
|
|
-
|
|
|
--### Library Repo
|
|
|
-+##### Library Repo
|
|
|
-
|
|
|
- `PUT `{.descname}`/v1/repositories/`{.descname}(*repo\_name*)`/auth`{.descname}
|
|
|
- : authorize a token for a library repo
|
|
|
-@@ -326,7 +328,7 @@ page_keywords: API, Docker, index, REST, documentation
|
|
|
-
|
|
|
- Parameters:
|
|
|
-
|
|
|
-- - **repo\_name** – the library name for the repo
|
|
|
-+ - **repo\_name** – the library name for the repo
|
|
|
-
|
|
|
- **Example Response**:
|
|
|
-
|
|
|
-@@ -338,11 +340,11 @@ page_keywords: API, Docker, index, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – OK
|
|
|
-- - **403** – Permission denied
|
|
|
-- - **404** – Not found
|
|
|
-+ - **200** – OK
|
|
|
-+ - **403** – Permission denied
|
|
|
-+ - **404** – Not found
|
|
|
-
|
|
|
--### User Repo
|
|
|
-+##### User Repo
|
|
|
-
|
|
|
- `PUT `{.descname}`/v1/repositories/`{.descname}(*namespace*)`/`{.descname}(*repo\_name*)`/auth`{.descname}
|
|
|
- : authorize a token for a user repo
|
|
|
-@@ -356,8 +358,8 @@ page_keywords: API, Docker, index, REST, documentation
|
|
|
-
|
|
|
- Parameters:
|
|
|
-
|
|
|
-- - **namespace** – the namespace for the repo
|
|
|
-- - **repo\_name** – the name for the repo
|
|
|
-+ - **namespace** – the namespace for the repo
|
|
|
-+ - **repo\_name** – the name for the repo
|
|
|
-
|
|
|
- **Example Response**:
|
|
|
-
|
|
|
-@@ -369,13 +371,13 @@ page_keywords: API, Docker, index, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – OK
|
|
|
-- - **403** – Permission denied
|
|
|
-- - **404** – Not found
|
|
|
-+ - **200** – OK
|
|
|
-+ - **403** – Permission denied
|
|
|
-+ - **404** – Not found
|
|
|
-
|
|
|
--### Users
|
|
|
-+### 2.2 Users
|
|
|
-
|
|
|
--### User Login
|
|
|
-+#### User Login
|
|
|
-
|
|
|
- `GET `{.descname}`/v1/users`{.descname}
|
|
|
- : If you want to check your login, you can try this endpoint
|
|
|
-@@ -397,11 +399,11 @@ page_keywords: API, Docker, index, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **401** – Unauthorized
|
|
|
-- - **403** – Account is not Active
|
|
|
-+ - **200** – no error
|
|
|
-+ - **401** – Unauthorized
|
|
|
-+ - **403** – Account is not Active
|
|
|
-
|
|
|
--### User Register
|
|
|
-+#### User Register
|
|
|
-
|
|
|
- `POST `{.descname}`/v1/users`{.descname}
|
|
|
- : Registering a new account.
|
|
|
-@@ -421,10 +423,10 @@ page_keywords: API, Docker, index, REST, documentation
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-- - **email** – valid email address, that needs to be confirmed
|
|
|
-- - **username** – min 4 character, max 30 characters, must match
|
|
|
-+ - **email** – valid email address, that needs to be confirmed
|
|
|
-+ - **username** – min 4 character, max 30 characters, must match
|
|
|
- the regular expression [a-z0-9\_].
|
|
|
-- - **password** – min 5 characters
|
|
|
-+ - **password** – min 5 characters
|
|
|
-
|
|
|
- **Example Response**:
|
|
|
-
|
|
|
-@@ -436,10 +438,10 @@ page_keywords: API, Docker, index, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **201** – User Created
|
|
|
-- - **400** – Errors (invalid json, missing or invalid fields, etc)
|
|
|
-+ - **201** – User Created
|
|
|
-+ - **400** – Errors (invalid json, missing or invalid fields, etc)
|
|
|
-
|
|
|
--### Update User
|
|
|
-+#### Update User
|
|
|
-
|
|
|
- `PUT `{.descname}`/v1/users/`{.descname}(*username*)`/`{.descname}
|
|
|
- : Change a password or email address for given user. If you pass in an
|
|
|
-@@ -463,7 +465,7 @@ page_keywords: API, Docker, index, REST, documentation
|
|
|
-
|
|
|
- Parameters:
|
|
|
-
|
|
|
-- - **username** – username for the person you want to update
|
|
|
-+ - **username** – username for the person you want to update
|
|
|
-
|
|
|
- **Example Response**:
|
|
|
-
|
|
|
-@@ -475,17 +477,17 @@ page_keywords: API, Docker, index, REST, documentation
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **204** – User Updated
|
|
|
-- - **400** – Errors (invalid json, missing or invalid fields, etc)
|
|
|
-- - **401** – Unauthorized
|
|
|
-- - **403** – Account is not Active
|
|
|
-- - **404** – User not found
|
|
|
-+ - **204** – User Updated
|
|
|
-+ - **400** – Errors (invalid json, missing or invalid fields, etc)
|
|
|
-+ - **401** – Unauthorized
|
|
|
-+ - **403** – Account is not Active
|
|
|
-+ - **404** – User not found
|
|
|
-
|
|
|
--## Search
|
|
|
-+### 2.3 Search
|
|
|
-
|
|
|
- If you need to search the index, this is the endpoint you would use.
|
|
|
-
|
|
|
--### Search
|
|
|
-+#### Search
|
|
|
-
|
|
|
- `GET `{.descname}`/v1/search`{.descname}
|
|
|
- : Search the Index given a search term. It accepts
|
|
|
-@@ -515,11 +517,13 @@ If you need to search the index, this is the endpoint you would use.
|
|
|
-
|
|
|
- Query Parameters:
|
|
|
-
|
|
|
-- - **q** – what you want to search for
|
|
|
-+
|
|
|
-+
|
|
|
-+ - **q** – what you want to search for
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – no error
|
|
|
-- - **500** – server error
|
|
|
-+ - **200** – no error
|
|
|
-+ - **500** – server error
|
|
|
-
|
|
|
-
|
|
|
-diff --git a/docs/sources/reference/api/registry_api.md b/docs/sources/reference/api/registry_api.md
|
|
|
-index e067586..f251169 100644
|
|
|
---- a/docs/sources/reference/api/registry_api.md
|
|
|
-+++ b/docs/sources/reference/api/registry_api.md
|
|
|
-@@ -4,34 +4,34 @@ page_keywords: API, Docker, index, registry, REST, documentation
|
|
|
-
|
|
|
- # Docker Registry API
|
|
|
-
|
|
|
--## Introduction
|
|
|
-+## 1. Brief introduction
|
|
|
-
|
|
|
--- This is the REST API for the Docker Registry
|
|
|
--- It stores the images and the graph for a set of repositories
|
|
|
--- It does not have user accounts data
|
|
|
--- It has no notion of user accounts or authorization
|
|
|
--- It delegates authentication and authorization to the Index Auth
|
|
|
-+- This is the REST API for the Docker Registry
|
|
|
-+- It stores the images and the graph for a set of repositories
|
|
|
-+- It does not have user accounts data
|
|
|
-+- It has no notion of user accounts or authorization
|
|
|
-+- It delegates authentication and authorization to the Index Auth
|
|
|
- service using tokens
|
|
|
--- It supports different storage backends (S3, cloud files, local FS)
|
|
|
--- It doesn’t have a local database
|
|
|
--- It will be open-sourced at some point
|
|
|
-+- It supports different storage backends (S3, cloud files, local FS)
|
|
|
-+- It doesn’t have a local database
|
|
|
-+- It will be open-sourced at some point
|
|
|
-
|
|
|
- We expect that there will be multiple registries out there. To help to
|
|
|
- grasp the context, here are some examples of registries:
|
|
|
-
|
|
|
--- **sponsor registry**: such a registry is provided by a third-party
|
|
|
-+- **sponsor registry**: such a registry is provided by a third-party
|
|
|
- hosting infrastructure as a convenience for their customers and the
|
|
|
- docker community as a whole. Its costs are supported by the third
|
|
|
- party, but the management and operation of the registry are
|
|
|
- supported by dotCloud. It features read/write access, and delegates
|
|
|
- authentication and authorization to the Index.
|
|
|
--- **mirror registry**: such a registry is provided by a third-party
|
|
|
-+- **mirror registry**: such a registry is provided by a third-party
|
|
|
- hosting infrastructure but is targeted at their customers only. Some
|
|
|
- mechanism (unspecified to date) ensures that public images are
|
|
|
- pulled from a sponsor registry to the mirror registry, to make sure
|
|
|
- that the customers of the third-party provider can “docker pull”
|
|
|
- those images locally.
|
|
|
--- **vendor registry**: such a registry is provided by a software
|
|
|
-+- **vendor registry**: such a registry is provided by a software
|
|
|
- vendor, who wants to distribute docker images. It would be operated
|
|
|
- and managed by the vendor. Only users authorized by the vendor would
|
|
|
- be able to get write access. Some images would be public (accessible
|
|
|
-@@ -41,7 +41,7 @@ grasp the context, here are some examples of registries:
|
|
|
- basho/riak1.3” and automatically push from the vendor registry
|
|
|
- (instead of a sponsor registry); i.e. get all the convenience of a
|
|
|
- sponsor registry, while retaining control on the asset distribution.
|
|
|
--- **private registry**: such a registry is located behind a firewall,
|
|
|
-+- **private registry**: such a registry is located behind a firewall,
|
|
|
- or protected by an additional security layer (HTTP authorization,
|
|
|
- SSL client-side certificates, IP address authorization...). The
|
|
|
- registry is operated by a private entity, outside of dotCloud’s
|
|
|
-@@ -58,9 +58,9 @@ can be powered by a simple static HTTP server.
|
|
|
- Note
|
|
|
-
|
|
|
- The latter implies that while HTTP is the protocol of choice for a registry, multiple schemes are possible (and in some cases, trivial):
|
|
|
--: - HTTP with GET (and PUT for read-write registries);
|
|
|
-- - local mount point;
|
|
|
-- - remote docker addressed through SSH.
|
|
|
-+: - HTTP with GET (and PUT for read-write registries);
|
|
|
-+ - local mount point;
|
|
|
-+ - remote docker addressed through SSH.
|
|
|
-
|
|
|
- The latter would only require two new commands in docker, e.g.
|
|
|
- `registryget` and `registryput`{.docutils .literal},
|
|
|
-@@ -68,11 +68,11 @@ wrapping access to the local filesystem (and optionally doing
|
|
|
- consistency checks). Authentication and authorization are then delegated
|
|
|
- to SSH (e.g. with public keys).
|
|
|
-
|
|
|
--## Endpoints
|
|
|
-+## 2. Endpoints
|
|
|
-
|
|
|
--### Images
|
|
|
-+### 2.1 Images
|
|
|
-
|
|
|
--### Layer
|
|
|
-+#### Layer
|
|
|
-
|
|
|
- `GET `{.descname}`/v1/images/`{.descname}(*image\_id*)`/layer`{.descname}
|
|
|
- : get image layer for a given `image_id`
|
|
|
-@@ -87,7 +87,7 @@ to SSH (e.g. with public keys).
|
|
|
-
|
|
|
- Parameters:
|
|
|
-
|
|
|
-- - **image\_id** – the id for the layer you want to get
|
|
|
-+ - **image\_id** – the id for the layer you want to get
|
|
|
-
|
|
|
- **Example Response**:
|
|
|
-
|
|
|
-@@ -100,9 +100,9 @@ to SSH (e.g. with public keys).
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – OK
|
|
|
-- - **401** – Requires authorization
|
|
|
-- - **404** – Image not found
|
|
|
-+ - **200** – OK
|
|
|
-+ - **401** – Requires authorization
|
|
|
-+ - **404** – Image not found
|
|
|
-
|
|
|
- `PUT `{.descname}`/v1/images/`{.descname}(*image\_id*)`/layer`{.descname}
|
|
|
- : put image layer for a given `image_id`
|
|
|
-@@ -118,7 +118,7 @@ to SSH (e.g. with public keys).
|
|
|
-
|
|
|
- Parameters:
|
|
|
-
|
|
|
-- - **image\_id** – the id for the layer you want to get
|
|
|
-+ - **image\_id** – the id for the layer you want to get
|
|
|
-
|
|
|
- **Example Response**:
|
|
|
-
|
|
|
-@@ -131,11 +131,11 @@ to SSH (e.g. with public keys).
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – OK
|
|
|
-- - **401** – Requires authorization
|
|
|
-- - **404** – Image not found
|
|
|
-+ - **200** – OK
|
|
|
-+ - **401** – Requires authorization
|
|
|
-+ - **404** – Image not found
|
|
|
-
|
|
|
--### Image
|
|
|
-+#### Image
|
|
|
-
|
|
|
- `PUT `{.descname}`/v1/images/`{.descname}(*image\_id*)`/json`{.descname}
|
|
|
- : put image for a given `image_id`
|
|
|
-@@ -181,7 +181,7 @@ to SSH (e.g. with public keys).
|
|
|
-
|
|
|
- Parameters:
|
|
|
-
|
|
|
-- - **image\_id** – the id for the layer you want to get
|
|
|
-+ - **image\_id** – the id for the layer you want to get
|
|
|
-
|
|
|
- **Example Response**:
|
|
|
-
|
|
|
-@@ -194,8 +194,8 @@ to SSH (e.g. with public keys).
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – OK
|
|
|
-- - **401** – Requires authorization
|
|
|
-+ - **200** – OK
|
|
|
-+ - **401** – Requires authorization
|
|
|
-
|
|
|
- `GET `{.descname}`/v1/images/`{.descname}(*image\_id*)`/json`{.descname}
|
|
|
- : get image for a given `image_id`
|
|
|
-@@ -210,7 +210,7 @@ to SSH (e.g. with public keys).
|
|
|
-
|
|
|
- Parameters:
|
|
|
-
|
|
|
-- - **image\_id** – the id for the layer you want to get
|
|
|
-+ - **image\_id** – the id for the layer you want to get
|
|
|
-
|
|
|
- **Example Response**:
|
|
|
-
|
|
|
-@@ -254,11 +254,11 @@ to SSH (e.g. with public keys).
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – OK
|
|
|
-- - **401** – Requires authorization
|
|
|
-- - **404** – Image not found
|
|
|
-+ - **200** – OK
|
|
|
-+ - **401** – Requires authorization
|
|
|
-+ - **404** – Image not found
|
|
|
-
|
|
|
--### Ancestry
|
|
|
-+#### Ancestry
|
|
|
-
|
|
|
- `GET `{.descname}`/v1/images/`{.descname}(*image\_id*)`/ancestry`{.descname}
|
|
|
- : get ancestry for an image given an `image_id`
|
|
|
-@@ -273,7 +273,7 @@ to SSH (e.g. with public keys).
|
|
|
-
|
|
|
- Parameters:
|
|
|
-
|
|
|
-- - **image\_id** – the id for the layer you want to get
|
|
|
-+ - **image\_id** – the id for the layer you want to get
|
|
|
-
|
|
|
- **Example Response**:
|
|
|
-
|
|
|
-@@ -289,11 +289,11 @@ to SSH (e.g. with public keys).
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – OK
|
|
|
-- - **401** – Requires authorization
|
|
|
-- - **404** – Image not found
|
|
|
-+ - **200** – OK
|
|
|
-+ - **401** – Requires authorization
|
|
|
-+ - **404** – Image not found
|
|
|
-
|
|
|
--### Tags
|
|
|
-+### 2.2 Tags
|
|
|
-
|
|
|
- `GET `{.descname}`/v1/repositories/`{.descname}(*namespace*)`/`{.descname}(*repository*)`/tags`{.descname}
|
|
|
- : get all of the tags for the given repo.
|
|
|
-@@ -309,8 +309,8 @@ to SSH (e.g. with public keys).
|
|
|
-
|
|
|
- Parameters:
|
|
|
-
|
|
|
-- - **namespace** – namespace for the repo
|
|
|
-- - **repository** – name for the repo
|
|
|
-+ - **namespace** – namespace for the repo
|
|
|
-+ - **repository** – name for the repo
|
|
|
-
|
|
|
- **Example Response**:
|
|
|
-
|
|
|
-@@ -326,9 +326,9 @@ to SSH (e.g. with public keys).
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – OK
|
|
|
-- - **401** – Requires authorization
|
|
|
-- - **404** – Repository not found
|
|
|
-+ - **200** – OK
|
|
|
-+ - **401** – Requires authorization
|
|
|
-+ - **404** – Repository not found
|
|
|
-
|
|
|
- `GET `{.descname}`/v1/repositories/`{.descname}(*namespace*)`/`{.descname}(*repository*)`/tags/`{.descname}(*tag*)
|
|
|
- : get a tag for the given repo.
|
|
|
-@@ -344,9 +344,9 @@ to SSH (e.g. with public keys).
|
|
|
-
|
|
|
- Parameters:
|
|
|
-
|
|
|
-- - **namespace** – namespace for the repo
|
|
|
-- - **repository** – name for the repo
|
|
|
-- - **tag** – name of tag you want to get
|
|
|
-+ - **namespace** – namespace for the repo
|
|
|
-+ - **repository** – name for the repo
|
|
|
-+ - **tag** – name of tag you want to get
|
|
|
-
|
|
|
- **Example Response**:
|
|
|
-
|
|
|
-@@ -359,9 +359,9 @@ to SSH (e.g. with public keys).
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – OK
|
|
|
-- - **401** – Requires authorization
|
|
|
-- - **404** – Tag not found
|
|
|
-+ - **200** – OK
|
|
|
-+ - **401** – Requires authorization
|
|
|
-+ - **404** – Tag not found
|
|
|
-
|
|
|
- `DELETE `{.descname}`/v1/repositories/`{.descname}(*namespace*)`/`{.descname}(*repository*)`/tags/`{.descname}(*tag*)
|
|
|
- : delete the tag for the repo
|
|
|
-@@ -376,9 +376,9 @@ to SSH (e.g. with public keys).
|
|
|
-
|
|
|
- Parameters:
|
|
|
-
|
|
|
-- - **namespace** – namespace for the repo
|
|
|
-- - **repository** – name for the repo
|
|
|
-- - **tag** – name of tag you want to delete
|
|
|
-+ - **namespace** – namespace for the repo
|
|
|
-+ - **repository** – name for the repo
|
|
|
-+ - **tag** – name of tag you want to delete
|
|
|
-
|
|
|
- **Example Response**:
|
|
|
-
|
|
|
-@@ -391,9 +391,9 @@ to SSH (e.g. with public keys).
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – OK
|
|
|
-- - **401** – Requires authorization
|
|
|
-- - **404** – Tag not found
|
|
|
-+ - **200** – OK
|
|
|
-+ - **401** – Requires authorization
|
|
|
-+ - **404** – Tag not found
|
|
|
-
|
|
|
- `PUT `{.descname}`/v1/repositories/`{.descname}(*namespace*)`/`{.descname}(*repository*)`/tags/`{.descname}(*tag*)
|
|
|
- : put a tag for the given repo.
|
|
|
-@@ -410,9 +410,9 @@ to SSH (e.g. with public keys).
|
|
|
-
|
|
|
- Parameters:
|
|
|
-
|
|
|
-- - **namespace** – namespace for the repo
|
|
|
-- - **repository** – name for the repo
|
|
|
-- - **tag** – name of tag you want to add
|
|
|
-+ - **namespace** – namespace for the repo
|
|
|
-+ - **repository** – name for the repo
|
|
|
-+ - **tag** – name of tag you want to add
|
|
|
-
|
|
|
- **Example Response**:
|
|
|
-
|
|
|
-@@ -425,12 +425,12 @@ to SSH (e.g. with public keys).
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – OK
|
|
|
-- - **400** – Invalid data
|
|
|
-- - **401** – Requires authorization
|
|
|
-- - **404** – Image not found
|
|
|
-+ - **200** – OK
|
|
|
-+ - **400** – Invalid data
|
|
|
-+ - **401** – Requires authorization
|
|
|
-+ - **404** – Image not found
|
|
|
-
|
|
|
--### Repositories
|
|
|
-+### 2.3 Repositories
|
|
|
-
|
|
|
- `DELETE `{.descname}`/v1/repositories/`{.descname}(*namespace*)`/`{.descname}(*repository*)`/`{.descname}
|
|
|
- : delete a repository
|
|
|
-@@ -447,8 +447,8 @@ to SSH (e.g. with public keys).
|
|
|
-
|
|
|
- Parameters:
|
|
|
-
|
|
|
-- - **namespace** – namespace for the repo
|
|
|
-- - **repository** – name for the repo
|
|
|
-+ - **namespace** – namespace for the repo
|
|
|
-+ - **repository** – name for the repo
|
|
|
-
|
|
|
- **Example Response**:
|
|
|
-
|
|
|
-@@ -461,11 +461,11 @@ to SSH (e.g. with public keys).
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – OK
|
|
|
-- - **401** – Requires authorization
|
|
|
-- - **404** – Repository not found
|
|
|
-+ - **200** – OK
|
|
|
-+ - **401** – Requires authorization
|
|
|
-+ - **404** – Repository not found
|
|
|
-
|
|
|
--### Status
|
|
|
-+### 2.4 Status
|
|
|
-
|
|
|
- `GET `{.descname}`/v1/_ping`{.descname}
|
|
|
- : Check status of the registry. This endpoint is also used to
|
|
|
-@@ -491,9 +491,9 @@ to SSH (e.g. with public keys).
|
|
|
-
|
|
|
- Status Codes:
|
|
|
-
|
|
|
-- - **200** – OK
|
|
|
-+ - **200** – OK
|
|
|
-
|
|
|
--## Authorization
|
|
|
-+## 3 Authorization
|
|
|
-
|
|
|
- This is where we describe the authorization process, including the
|
|
|
- tokens and cookies.
|
|
|
-diff --git a/docs/sources/reference/api/registry_index_spec.md b/docs/sources/reference/api/registry_index_spec.md
|
|
|
-index dc0dd80..281fe07 100644
|
|
|
---- a/docs/sources/reference/api/registry_index_spec.md
|
|
|
-+++ b/docs/sources/reference/api/registry_index_spec.md
|
|
|
-@@ -4,55 +4,55 @@ page_keywords: docker, registry, api, index
|
|
|
-
|
|
|
- # Registry & Index Spec
|
|
|
-
|
|
|
--## The 3 roles
|
|
|
-+## 1. The 3 roles
|
|
|
-
|
|
|
--### Index
|
|
|
-+### 1.1 Index
|
|
|
-
|
|
|
- The Index is responsible for centralizing information about:
|
|
|
-
|
|
|
--- User accounts
|
|
|
--- Checksums of the images
|
|
|
--- Public namespaces
|
|
|
-+- User accounts
|
|
|
-+- Checksums of the images
|
|
|
-+- Public namespaces
|
|
|
-
|
|
|
- The Index has different components:
|
|
|
-
|
|
|
--- Web UI
|
|
|
--- Meta-data store (comments, stars, list public repositories)
|
|
|
--- Authentication service
|
|
|
--- Tokenization
|
|
|
-+- Web UI
|
|
|
-+- Meta-data store (comments, stars, list public repositories)
|
|
|
-+- Authentication service
|
|
|
-+- Tokenization
|
|
|
-
|
|
|
- The index is authoritative for those information.
|
|
|
-
|
|
|
- We expect that there will be only one instance of the index, run and
|
|
|
- managed by Docker Inc.
|
|
|
-
|
|
|
--### Registry
|
|
|
-+### 1.2 Registry
|
|
|
-
|
|
|
--- It stores the images and the graph for a set of repositories
|
|
|
--- It does not have user accounts data
|
|
|
--- It has no notion of user accounts or authorization
|
|
|
--- It delegates authentication and authorization to the Index Auth
|
|
|
-+- It stores the images and the graph for a set of repositories
|
|
|
-+- It does not have user accounts data
|
|
|
-+- It has no notion of user accounts or authorization
|
|
|
-+- It delegates authentication and authorization to the Index Auth
|
|
|
- service using tokens
|
|
|
--- It supports different storage backends (S3, cloud files, local FS)
|
|
|
--- It doesn’t have a local database
|
|
|
--- [Source Code](https://github.com/dotcloud/docker-registry)
|
|
|
-+- It supports different storage backends (S3, cloud files, local FS)
|
|
|
-+- It doesn’t have a local database
|
|
|
-+- [Source Code](https://github.com/dotcloud/docker-registry)
|
|
|
-
|
|
|
- We expect that there will be multiple registries out there. To help to
|
|
|
- grasp the context, here are some examples of registries:
|
|
|
-
|
|
|
--- **sponsor registry**: such a registry is provided by a third-party
|
|
|
-+- **sponsor registry**: such a registry is provided by a third-party
|
|
|
- hosting infrastructure as a convenience for their customers and the
|
|
|
- docker community as a whole. Its costs are supported by the third
|
|
|
- party, but the management and operation of the registry are
|
|
|
- supported by dotCloud. It features read/write access, and delegates
|
|
|
- authentication and authorization to the Index.
|
|
|
--- **mirror registry**: such a registry is provided by a third-party
|
|
|
-+- **mirror registry**: such a registry is provided by a third-party
|
|
|
- hosting infrastructure but is targeted at their customers only. Some
|
|
|
- mechanism (unspecified to date) ensures that public images are
|
|
|
- pulled from a sponsor registry to the mirror registry, to make sure
|
|
|
- that the customers of the third-party provider can “docker pull”
|
|
|
- those images locally.
|
|
|
--- **vendor registry**: such a registry is provided by a software
|
|
|
-+- **vendor registry**: such a registry is provided by a software
|
|
|
- vendor, who wants to distribute docker images. It would be operated
|
|
|
- and managed by the vendor. Only users authorized by the vendor would
|
|
|
- be able to get write access. Some images would be public (accessible
|
|
|
-@@ -62,20 +62,19 @@ grasp the context, here are some examples of registries:
|
|
|
- basho/riak1.3” and automatically push from the vendor registry
|
|
|
- (instead of a sponsor registry); i.e. get all the convenience of a
|
|
|
- sponsor registry, while retaining control on the asset distribution.
|
|
|
--- **private registry**: such a registry is located behind a firewall,
|
|
|
-+- **private registry**: such a registry is located behind a firewall,
|
|
|
- or protected by an additional security layer (HTTP authorization,
|
|
|
- SSL client-side certificates, IP address authorization...). The
|
|
|
- registry is operated by a private entity, outside of dotCloud’s
|
|
|
- control. It can optionally delegate additional authorization to the
|
|
|
- Index, but it is not mandatory.
|
|
|
-
|
|
|
--> **Note:** The latter implies that while HTTP is the protocol
|
|
|
--> of choice for a registry, multiple schemes are possible (and
|
|
|
--> in some cases, trivial):
|
|
|
-->
|
|
|
--> - HTTP with GET (and PUT for read-write registries);
|
|
|
--> - local mount point;
|
|
|
--> - remote docker addressed through SSH.
|
|
|
-+Note
|
|
|
-+
|
|
|
-+The latter implies that while HTTP is the protocol of choice for a registry, multiple schemes are possible (and in some cases, trivial):
|
|
|
-+: - HTTP with GET (and PUT for read-write registries);
|
|
|
-+ - local mount point;
|
|
|
-+ - remote docker addressed through SSH.
|
|
|
-
|
|
|
- The latter would only require two new commands in docker, e.g.
|
|
|
- `registryget` and `registryput`{.docutils .literal},
|
|
|
-@@ -83,17 +82,17 @@ wrapping access to the local filesystem (and optionally doing
|
|
|
- consistency checks). Authentication and authorization are then delegated
|
|
|
- to SSH (e.g. with public keys).
|
|
|
-
|
|
|
--### Docker
|
|
|
-+### 1.3 Docker
|
|
|
-
|
|
|
- On top of being a runtime for LXC, Docker is the Registry client. It
|
|
|
- supports:
|
|
|
-
|
|
|
--- Push / Pull on the registry
|
|
|
--- Client authentication on the Index
|
|
|
-+- Push / Pull on the registry
|
|
|
-+- Client authentication on the Index
|
|
|
-
|
|
|
--## Workflow
|
|
|
-+## 2. Workflow
|
|
|
-
|
|
|
--### Pull
|
|
|
-+### 2.1 Pull
|
|
|
-
|
|
|
- 
|
|
|
-
|
|
|
-@@ -147,9 +146,9 @@ and for an active account.
|
|
|
- 2. (Index -\> Docker) HTTP 200 OK
|
|
|
-
|
|
|
- > **Headers**:
|
|
|
-- > : - Authorization: Token
|
|
|
-+ > : - Authorization: Token
|
|
|
- > signature=123abc,repository=”foo/bar”,access=write
|
|
|
-- > - X-Docker-Endpoints: registry.docker.io [,
|
|
|
-+ > - X-Docker-Endpoints: registry.docker.io [,
|
|
|
- > registry2.docker.io]
|
|
|
- >
|
|
|
- > **Body**:
|
|
|
-@@ -188,7 +187,7 @@ Note
|
|
|
- If someone makes a second request, then we will always give a new token,
|
|
|
- never reuse tokens.
|
|
|
-
|
|
|
--### Push
|
|
|
-+### 2.2 Push
|
|
|
-
|
|
|
- 
|
|
|
-
|
|
|
-@@ -204,15 +203,17 @@ never reuse tokens.
|
|
|
- pushed by docker and store the repository (with its images)
|
|
|
- 6. docker contacts the index to give checksums for upload images
|
|
|
-
|
|
|
--> **Note:**
|
|
|
--> **It’s possible not to use the Index at all!** In this case, a deployed
|
|
|
--> version of the Registry is deployed to store and serve images. Those
|
|
|
--> images are not authenticated and the security is not guaranteed.
|
|
|
-+Note
|
|
|
-+
|
|
|
-+**It’s possible not to use the Index at all!** In this case, a deployed
|
|
|
-+version of the Registry is deployed to store and serve images. Those
|
|
|
-+images are not authenticated and the security is not guaranteed.
|
|
|
-+
|
|
|
-+Note
|
|
|
-
|
|
|
--> **Note:**
|
|
|
--> **Index can be replaced!** For a private Registry deployed, a custom
|
|
|
--> Index can be used to serve and validate token according to different
|
|
|
--> policies.
|
|
|
-+**Index can be replaced!** For a private Registry deployed, a custom
|
|
|
-+Index can be used to serve and validate token according to different
|
|
|
-+policies.
|
|
|
-
|
|
|
- Docker computes the checksums and submit them to the Index at the end of
|
|
|
- the push. When a repository name does not have checksums on the Index,
|
|
|
-@@ -227,7 +228,7 @@ the end).
|
|
|
- true
|
|
|
-
|
|
|
- **Action**::
|
|
|
-- : - in index, we allocated a new repository, and set to
|
|
|
-+ : - in index, we allocated a new repository, and set to
|
|
|
- initialized
|
|
|
-
|
|
|
- **Body**::
|
|
|
-@@ -239,9 +240,9 @@ the end).
|
|
|
-
|
|
|
- 2. (Index -\> Docker) 200 Created
|
|
|
- : **Headers**:
|
|
|
-- : - WWW-Authenticate: Token
|
|
|
-+ : - WWW-Authenticate: Token
|
|
|
- signature=123abc,repository=”foo/bar”,access=write
|
|
|
-- - X-Docker-Endpoints: registry.docker.io [,
|
|
|
-+ - X-Docker-Endpoints: registry.docker.io [,
|
|
|
- registry2.docker.io]
|
|
|
-
|
|
|
- 3. (Docker -\> Registry) PUT /v1/images/98765432\_parent/json
|
|
|
-@@ -255,18 +256,18 @@ the end).
|
|
|
- signature=123abc,repository=”foo/bar”,access=write
|
|
|
-
|
|
|
- **Action**::
|
|
|
-- : - Index:
|
|
|
-+ : - Index:
|
|
|
- : will invalidate the token.
|
|
|
-
|
|
|
-- - Registry:
|
|
|
-+ - Registry:
|
|
|
- : grants a session (if token is approved) and fetches
|
|
|
- the images id
|
|
|
-
|
|
|
- 5. (Docker -\> Registry) PUT /v1/images/98765432\_parent/json
|
|
|
- : **Headers**::
|
|
|
-- : - Authorization: Token
|
|
|
-+ : - Authorization: Token
|
|
|
- signature=123abc,repository=”foo/bar”,access=write
|
|
|
-- - Cookie: (Cookie provided by the Registry)
|
|
|
-+ - Cookie: (Cookie provided by the Registry)
|
|
|
-
|
|
|
- 6. (Docker -\> Registry) PUT /v1/images/98765432/json
|
|
|
- : **Headers**:
|
|
|
-@@ -303,17 +304,19 @@ the end).
|
|
|
-
|
|
|
- **Return** HTTP 204
|
|
|
-
|
|
|
--> **Note:** If push fails and they need to start again, what happens in the index,
|
|
|
--> there will already be a record for the namespace/name, but it will be
|
|
|
--> initialized. Should we allow it, or mark as name already used? One edge
|
|
|
--> case could be if someone pushes the same thing at the same time with two
|
|
|
--> different shells.
|
|
|
-+Note
|
|
|
-+
|
|
|
-+If push fails and they need to start again, what happens in the index,
|
|
|
-+there will already be a record for the namespace/name, but it will be
|
|
|
-+initialized. Should we allow it, or mark as name already used? One edge
|
|
|
-+case could be if someone pushes the same thing at the same time with two
|
|
|
-+different shells.
|
|
|
-
|
|
|
- If it’s a retry on the Registry, Docker has a cookie (provided by the
|
|
|
- registry after token validation). So the Index won’t have to provide a
|
|
|
- new token.
|
|
|
-
|
|
|
--### Delete
|
|
|
-+### 2.3 Delete
|
|
|
-
|
|
|
- If you need to delete something from the index or registry, we need a
|
|
|
- nice clean way to do that. Here is the workflow.
|
|
|
-@@ -333,9 +336,11 @@ nice clean way to do that. Here is the workflow.
|
|
|
- 6. docker contacts the index to let it know it was removed from the
|
|
|
- registry, the index removes all records from the database.
|
|
|
-
|
|
|
--> **Note:** The Docker client should present an “Are you sure?” prompt to confirm
|
|
|
--> the deletion before starting the process. Once it starts it can’t be
|
|
|
--> undone.
|
|
|
-+Note
|
|
|
-+
|
|
|
-+The Docker client should present an “Are you sure?” prompt to confirm
|
|
|
-+the deletion before starting the process. Once it starts it can’t be
|
|
|
-+undone.
|
|
|
-
|
|
|
- #### API (deleting repository foo/bar):
|
|
|
-
|
|
|
-@@ -345,7 +350,7 @@ nice clean way to do that. Here is the workflow.
|
|
|
- true
|
|
|
-
|
|
|
- **Action**::
|
|
|
-- : - in index, we make sure it is a valid repository, and set
|
|
|
-+ : - in index, we make sure it is a valid repository, and set
|
|
|
- to deleted (logically)
|
|
|
-
|
|
|
- **Body**::
|
|
|
-@@ -353,9 +358,9 @@ nice clean way to do that. Here is the workflow.
|
|
|
-
|
|
|
- 2. (Index -\> Docker) 202 Accepted
|
|
|
- : **Headers**:
|
|
|
-- : - WWW-Authenticate: Token
|
|
|
-+ : - WWW-Authenticate: Token
|
|
|
- signature=123abc,repository=”foo/bar”,access=delete
|
|
|
-- - X-Docker-Endpoints: registry.docker.io [,
|
|
|
-+ - X-Docker-Endpoints: registry.docker.io [,
|
|
|
- registry2.docker.io] \# list of endpoints where this
|
|
|
- repo lives.
|
|
|
-
|
|
|
-@@ -370,10 +375,10 @@ nice clean way to do that. Here is the workflow.
|
|
|
- signature=123abc,repository=”foo/bar”,access=delete
|
|
|
-
|
|
|
- **Action**::
|
|
|
-- : - Index:
|
|
|
-+ : - Index:
|
|
|
- : will invalidate the token.
|
|
|
-
|
|
|
-- - Registry:
|
|
|
-+ - Registry:
|
|
|
- : deletes the repository (if token is approved)
|
|
|
-
|
|
|
- 5. (Registry -\> Docker) 200 OK
|
|
|
-@@ -391,20 +396,20 @@ nice clean way to do that. Here is the workflow.
|
|
|
- >
|
|
|
- > **Return** HTTP 200
|
|
|
-
|
|
|
--## How to use the Registry in standalone mode
|
|
|
-+## 3. How to use the Registry in standalone mode
|
|
|
-
|
|
|
- The Index has two main purposes (along with its fancy social features):
|
|
|
-
|
|
|
--- Resolve short names (to avoid passing absolute URLs all the time)
|
|
|
-- : - username/projectname -\>
|
|
|
-+- Resolve short names (to avoid passing absolute URLs all the time)
|
|
|
-+ : - username/projectname -\>
|
|
|
- https://registry.docker.io/users/\<username\>/repositories/\<projectname\>/
|
|
|
-- - team/projectname -\>
|
|
|
-+ - team/projectname -\>
|
|
|
- https://registry.docker.io/team/\<team\>/repositories/\<projectname\>/
|
|
|
-
|
|
|
--- Authenticate a user as a repos owner (for a central referenced
|
|
|
-+- Authenticate a user as a repos owner (for a central referenced
|
|
|
- repository)
|
|
|
-
|
|
|
--### Without an Index
|
|
|
-+### 3.1 Without an Index
|
|
|
-
|
|
|
- Using the Registry without the Index can be useful to store the images
|
|
|
- on a private network without having to rely on an external entity
|
|
|
-@@ -425,12 +430,12 @@ As hinted previously, a standalone registry can also be implemented by
|
|
|
- any HTTP server handling GET/PUT requests (or even only GET requests if
|
|
|
- no write access is necessary).
|
|
|
-
|
|
|
--### With an Index
|
|
|
-+### 3.2 With an Index
|
|
|
-
|
|
|
- The Index data needed by the Registry are simple:
|
|
|
-
|
|
|
--- Serve the checksums
|
|
|
--- Provide and authorize a Token
|
|
|
-+- Serve the checksums
|
|
|
-+- Provide and authorize a Token
|
|
|
-
|
|
|
- In the scenario of a Registry running on a private network with the need
|
|
|
- of centralizing and authorizing, it’s easy to use a custom Index.
|
|
|
-@@ -441,12 +446,12 @@ specific Index, it’ll be the private entity responsibility (basically
|
|
|
- the organization who uses Docker in a private environment) to maintain
|
|
|
- the Index and the Docker’s configuration among its consumers.
|
|
|
-
|
|
|
--## The API
|
|
|
-+## 4. The API
|
|
|
-
|
|
|
- The first version of the api is available here:
|
|
|
- [https://github.com/jpetazzo/docker/blob/acd51ecea8f5d3c02b00a08176171c59442df8b3/docs/images-repositories-push-pull.md](https://github.com/jpetazzo/docker/blob/acd51ecea8f5d3c02b00a08176171c59442df8b3/docs/images-repositories-push-pull.md)
|
|
|
-
|
|
|
--### Images
|
|
|
-+### 4.1 Images
|
|
|
-
|
|
|
- The format returned in the images is not defined here (for layer and
|
|
|
- JSON), basically because Registry stores exactly the same kind of
|
|
|
-@@ -464,9 +469,9 @@ file is empty.
|
|
|
- GET /v1/images/<image_id>/ancestry
|
|
|
- PUT /v1/images/<image_id>/ancestry
|
|
|
-
|
|
|
--### Users
|
|
|
-+### 4.2 Users
|
|
|
-
|
|
|
--### Create a user (Index)
|
|
|
-+#### 4.2.1 Create a user (Index)
|
|
|
-
|
|
|
- POST /v1/users
|
|
|
-
|
|
|
-@@ -474,9 +479,9 @@ POST /v1/users
|
|
|
- : {“email”: “[sam@dotcloud.com](mailto:sam%40dotcloud.com)”,
|
|
|
- “password”: “toto42”, “username”: “foobar”’}
|
|
|
- **Validation**:
|
|
|
--: - **username**: min 4 character, max 30 characters, must match the
|
|
|
-+: - **username**: min 4 character, max 30 characters, must match the
|
|
|
- regular expression [a-z0-9\_].
|
|
|
-- - **password**: min 5 characters
|
|
|
-+ - **password**: min 5 characters
|
|
|
-
|
|
|
- **Valid**: return HTTP 200
|
|
|
-
|
|
|
-@@ -489,7 +494,7 @@ Note
|
|
|
- A user account will be valid only if the email has been validated (a
|
|
|
- validation link is sent to the email address).
|
|
|
-
|
|
|
--### Update a user (Index)
|
|
|
-+#### 4.2.2 Update a user (Index)
|
|
|
-
|
|
|
- PUT /v1/users/\<username\>
|
|
|
-
|
|
|
-@@ -501,7 +506,7 @@ Note
|
|
|
- We can also update email address, if they do, they will need to reverify
|
|
|
- their new email address.
|
|
|
-
|
|
|
--### Login (Index)
|
|
|
-+#### 4.2.3 Login (Index)
|
|
|
-
|
|
|
- Does nothing else but asking for a user authentication. Can be used to
|
|
|
- validate credentials. HTTP Basic Auth for now, maybe change in future.
|
|
|
-@@ -509,11 +514,11 @@ validate credentials. HTTP Basic Auth for now, maybe change in future.
|
|
|
- GET /v1/users
|
|
|
-
|
|
|
- **Return**:
|
|
|
--: - Valid: HTTP 200
|
|
|
-- - Invalid login: HTTP 401
|
|
|
-- - Account inactive: HTTP 403 Account is not Active
|
|
|
-+: - Valid: HTTP 200
|
|
|
-+ - Invalid login: HTTP 401
|
|
|
-+ - Account inactive: HTTP 403 Account is not Active
|
|
|
-
|
|
|
--### Tags (Registry)
|
|
|
-+### 4.3 Tags (Registry)
|
|
|
-
|
|
|
- The Registry does not know anything about users. Even though
|
|
|
- repositories are under usernames, it’s just a namespace for the
|
|
|
-@@ -522,11 +527,11 @@ per user later, without modifying the Registry’s API.
|
|
|
-
|
|
|
- The following naming restrictions apply:
|
|
|
-
|
|
|
--- Namespaces must match the same regular expression as usernames (See
|
|
|
-+- Namespaces must match the same regular expression as usernames (See
|
|
|
- 4.2.1.)
|
|
|
--- Repository names must match the regular expression [a-zA-Z0-9-\_.]
|
|
|
-+- Repository names must match the regular expression [a-zA-Z0-9-\_.]
|
|
|
-
|
|
|
--### Get all tags:
|
|
|
-+#### 4.3.1 Get all tags
|
|
|
-
|
|
|
- GET /v1/repositories/\<namespace\>/\<repository\_name\>/tags
|
|
|
-
|
|
|
-@@ -536,25 +541,25 @@ GET /v1/repositories/\<namespace\>/\<repository\_name\>/tags
|
|
|
- “0.1.1”:
|
|
|
- “b486531f9a779a0c17e3ed29dae8f12c4f9e89cc6f0bc3c38722009fe6857087” }
|
|
|
-
|
|
|
--### Read the content of a tag (resolve the image id):
|
|
|
-+#### 4.3.2 Read the content of a tag (resolve the image id)
|
|
|
-
|
|
|
- GET /v1/repositories/\<namespace\>/\<repo\_name\>/tags/\<tag\>
|
|
|
-
|
|
|
- **Return**:
|
|
|
- : “9e89cc6f0bc3c38722009fe6857087b486531f9a779a0c17e3ed29dae8f12c4f”
|
|
|
-
|
|
|
--### Delete a tag (registry):
|
|
|
-+#### 4.3.3 Delete a tag (registry)
|
|
|
-
|
|
|
- DELETE /v1/repositories/\<namespace\>/\<repo\_name\>/tags/\<tag\>
|
|
|
-
|
|
|
--## Images (Index)
|
|
|
-+### 4.4 Images (Index)
|
|
|
-
|
|
|
- For the Index to “resolve” the repository name to a Registry location,
|
|
|
- it uses the X-Docker-Endpoints header. In other terms, this requests
|
|
|
- always add a `X-Docker-Endpoints` to indicate the
|
|
|
- location of the registry which hosts this repository.
|
|
|
-
|
|
|
--### Get the images:
|
|
|
-+#### 4.4.1 Get the images
|
|
|
-
|
|
|
- GET /v1/repositories/\<namespace\>/\<repo\_name\>/images
|
|
|
-
|
|
|
-@@ -562,9 +567,9 @@ GET /v1/repositories/\<namespace\>/\<repo\_name\>/images
|
|
|
- : [{“id”:
|
|
|
- “9e89cc6f0bc3c38722009fe6857087b486531f9a779a0c17e3ed29dae8f12c4f”,
|
|
|
- “checksum”:
|
|
|
-- “[md5:b486531f9a779a0c17e3ed29dae8f12c4f9e89cc6f0bc3c38722009fe6857087](md5:b486531f9a779a0c17e3ed29dae8f12c4f9e89cc6f0bc3c38722009fe6857087)”}]
|
|
|
-+ “<md5:b486531f9a779a0c17e3ed29dae8f12c4f9e89cc6f0bc3c38722009fe6857087>”}]
|
|
|
-
|
|
|
--### Add/update the images:
|
|
|
-+#### 4.4.2 Add/update the images
|
|
|
-
|
|
|
- You always add images, you never remove them.
|
|
|
-
|
|
|
-@@ -579,15 +584,15 @@ PUT /v1/repositories/\<namespace\>/\<repo\_name\>/images
|
|
|
-
|
|
|
- **Return** 204
|
|
|
-
|
|
|
--### Repositories
|
|
|
-+### 4.5 Repositories
|
|
|
-
|
|
|
--### Remove a Repository (Registry)
|
|
|
-+#### 4.5.1 Remove a Repository (Registry)
|
|
|
-
|
|
|
- DELETE /v1/repositories/\<namespace\>/\<repo\_name\>
|
|
|
-
|
|
|
- Return 200 OK
|
|
|
-
|
|
|
--### Remove a Repository (Index)
|
|
|
-+#### 4.5.2 Remove a Repository (Index)
|
|
|
-
|
|
|
- This starts the delete process. see 2.3 for more details.
|
|
|
-
|
|
|
-@@ -595,12 +600,12 @@ DELETE /v1/repositories/\<namespace\>/\<repo\_name\>
|
|
|
-
|
|
|
- Return 202 OK
|
|
|
-
|
|
|
--## Chaining Registries
|
|
|
-+## 5. Chaining Registries
|
|
|
-
|
|
|
- It’s possible to chain Registries server for several reasons:
|
|
|
-
|
|
|
--- Load balancing
|
|
|
--- Delegate the next request to another server
|
|
|
-+- Load balancing
|
|
|
-+- Delegate the next request to another server
|
|
|
-
|
|
|
- When a Registry is a reference for a repository, it should host the
|
|
|
- entire images chain in order to avoid breaking the chain during the
|
|
|
-@@ -618,9 +623,9 @@ On every request, a special header can be returned:
|
|
|
- On the next request, the client will always pick a server from this
|
|
|
- list.
|
|
|
-
|
|
|
--## Authentication & Authorization
|
|
|
-+## 6. Authentication & Authorization
|
|
|
-
|
|
|
--### On the Index
|
|
|
-+### 6.1 On the Index
|
|
|
-
|
|
|
- The Index supports both “Basic” and “Token” challenges. Usually when
|
|
|
- there is a `401 Unauthorized`, the Index replies
|
|
|
-@@ -634,16 +639,16 @@ You have 3 options:
|
|
|
- 1. Provide user credentials and ask for a token
|
|
|
-
|
|
|
- > **Header**:
|
|
|
-- > : - Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
|
|
|
-- > - X-Docker-Token: true
|
|
|
-+ > : - Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
|
|
|
-+ > - X-Docker-Token: true
|
|
|
- >
|
|
|
- > In this case, along with the 200 response, you’ll get a new token
|
|
|
- > (if user auth is ok): If authorization isn’t correct you get a 401
|
|
|
- > response. If account isn’t active you will get a 403 response.
|
|
|
- >
|
|
|
- > **Response**:
|
|
|
-- > : - 200 OK
|
|
|
-- > - X-Docker-Token: Token
|
|
|
-+ > : - 200 OK
|
|
|
-+ > - X-Docker-Token: Token
|
|
|
- > signature=123abc,repository=”foo/bar”,access=read
|
|
|
- >
|
|
|
- 2. Provide user credentials only
|
|
|
-@@ -681,9 +686,9 @@ Next request:
|
|
|
- GET /(...)
|
|
|
- Cookie: session="wD/J7LqL5ctqw8haL10vgfhrb2Q=?foo=UydiYXInCnAxCi4=×tamp=RjEzNjYzMTQ5NDcuNDc0NjQzCi4="
|
|
|
-
|
|
|
--## Document Version
|
|
|
-+## 7 Document Version
|
|
|
-
|
|
|
--- 1.0 : May 6th 2013 : initial release
|
|
|
--- 1.1 : June 1st 2013 : Added Delete Repository and way to handle new
|
|
|
-+- 1.0 : May 6th 2013 : initial release
|
|
|
-+- 1.1 : June 1st 2013 : Added Delete Repository and way to handle new
|
|
|
- source namespace.
|
|
|
-
|
|
|
-diff --git a/docs/sources/reference/api/remote_api_client_libraries.md b/docs/sources/reference/api/remote_api_client_libraries.md
|
|
|
-index 0392da3..4991924 100644
|
|
|
---- a/docs/sources/reference/api/remote_api_client_libraries.md
|
|
|
-+++ b/docs/sources/reference/api/remote_api_client_libraries.md
|
|
|
-@@ -4,115 +4,82 @@ page_keywords: API, Docker, index, registry, REST, documentation, clients, Pytho
|
|
|
-
|
|
|
- # Docker Remote API Client Libraries
|
|
|
-
|
|
|
--## Introduction
|
|
|
--
|
|
|
- These libraries have not been tested by the Docker Maintainers for
|
|
|
- compatibility. Please file issues with the library owners. If you find
|
|
|
- more library implementations, please list them in Docker doc bugs and we
|
|
|
- will add the libraries here.
|
|
|
-
|
|
|
--Language/Framework
|
|
|
--
|
|
|
--Name
|
|
|
--
|
|
|
--Repository
|
|
|
--
|
|
|
--Status
|
|
|
--
|
|
|
--Python
|
|
|
--
|
|
|
--docker-py
|
|
|
--
|
|
|
--[https://github.com/dotcloud/docker-py](https://github.com/dotcloud/docker-py)
|
|
|
--
|
|
|
--Active
|
|
|
--
|
|
|
--Ruby
|
|
|
--
|
|
|
--docker-client
|
|
|
--
|
|
|
--[https://github.com/geku/docker-client](https://github.com/geku/docker-client)
|
|
|
--
|
|
|
--Outdated
|
|
|
--
|
|
|
--Ruby
|
|
|
--
|
|
|
--docker-api
|
|
|
--
|
|
|
--[https://github.com/swipely/docker-api](https://github.com/swipely/docker-api)
|
|
|
--
|
|
|
--Active
|
|
|
--
|
|
|
--JavaScript (NodeJS)
|
|
|
--
|
|
|
--dockerode
|
|
|
--
|
|
|
--[https://github.com/apocas/dockerode](https://github.com/apocas/dockerode)
|
|
|
--Install via NPM: npm install dockerode
|
|
|
--
|
|
|
--Active
|
|
|
--
|
|
|
--JavaScript (NodeJS)
|
|
|
--
|
|
|
--docker.io
|
|
|
--
|
|
|
--[https://github.com/appersonlabs/docker.io](https://github.com/appersonlabs/docker.io)
|
|
|
--Install via NPM: npm install docker.io
|
|
|
--
|
|
|
--Active
|
|
|
--
|
|
|
--JavaScript
|
|
|
--
|
|
|
--docker-js
|
|
|
--
|
|
|
--[https://github.com/dgoujard/docker-js](https://github.com/dgoujard/docker-js)
|
|
|
--
|
|
|
--Active
|
|
|
--
|
|
|
--JavaScript (Angular) **WebUI**
|
|
|
--
|
|
|
--docker-cp
|
|
|
--
|
|
|
--[https://github.com/13W/docker-cp](https://github.com/13W/docker-cp)
|
|
|
--
|
|
|
--Active
|
|
|
--
|
|
|
--JavaScript (Angular) **WebUI**
|
|
|
--
|
|
|
--dockerui
|
|
|
--
|
|
|
--[https://github.com/crosbymichael/dockerui](https://github.com/crosbymichael/dockerui)
|
|
|
-+ -------------------------------------------------------------------------
|
|
|
-+ Language/Framewor Name Repository Status
|
|
|
-+ k
|
|
|
-+ ----------------- ------------ ---------------------------------- -------
|
|
|
-+ Python docker-py [https://github.com/dotcloud/docke Active
|
|
|
-+ r-py](https://github.com/dotcloud/
|
|
|
-+ docker-py)
|
|
|
-
|
|
|
--Active
|
|
|
-+ Ruby docker-clien [https://github.com/geku/docker-cl Outdate
|
|
|
-+ t ient](https://github.com/geku/dock d
|
|
|
-+ er-client)
|
|
|
-
|
|
|
--Java
|
|
|
-+ Ruby docker-api [https://github.com/swipely/docker Active
|
|
|
-+ -api](https://github.com/swipely/d
|
|
|
-+ ocker-api)
|
|
|
-
|
|
|
--docker-java
|
|
|
-+ JavaScript dockerode [https://github.com/apocas/dockero Active
|
|
|
-+ (NodeJS) de](https://github.com/apocas/dock
|
|
|
-+ erode)
|
|
|
-+ Install via NPM: npm install
|
|
|
-+ dockerode
|
|
|
-
|
|
|
--[https://github.com/kpelykh/docker-java](https://github.com/kpelykh/docker-java)
|
|
|
-+ JavaScript docker.io [https://github.com/appersonlabs/d Active
|
|
|
-+ (NodeJS) ocker.io](https://github.com/apper
|
|
|
-+ sonlabs/docker.io)
|
|
|
-+ Install via NPM: npm install
|
|
|
-+ docker.io
|
|
|
-
|
|
|
--Active
|
|
|
-+ JavaScript docker-js [https://github.com/dgoujard/docke Outdate
|
|
|
-+ r-js](https://github.com/dgoujard/ d
|
|
|
-+ docker-js)
|
|
|
-
|
|
|
--Erlang
|
|
|
-+ JavaScript docker-cp [https://github.com/13W/docker-cp] Active
|
|
|
-+ (Angular) (https://github.com/13W/docker-cp)
|
|
|
-+ **WebUI**
|
|
|
-
|
|
|
--erldocker
|
|
|
-+ JavaScript dockerui [https://github.com/crosbymichael/ Active
|
|
|
-+ (Angular) dockerui](https://github.com/crosb
|
|
|
-+ **WebUI** ymichael/dockerui)
|
|
|
-
|
|
|
--[https://github.com/proger/erldocker](https://github.com/proger/erldocker)
|
|
|
-+ Java docker-java [https://github.com/kpelykh/docker Active
|
|
|
-+ -java](https://github.com/kpelykh/
|
|
|
-+ docker-java)
|
|
|
-
|
|
|
--Active
|
|
|
-+ Erlang erldocker [https://github.com/proger/erldock Active
|
|
|
-+ er](https://github.com/proger/erld
|
|
|
-+ ocker)
|
|
|
-
|
|
|
--Go
|
|
|
-+ Go go-dockercli [https://github.com/fsouza/go-dock Active
|
|
|
-+ ent erclient](https://github.com/fsouz
|
|
|
-+ a/go-dockerclient)
|
|
|
-
|
|
|
--go-dockerclient
|
|
|
-+ Go dockerclient [https://github.com/samalba/docker Active
|
|
|
-+ client](https://github.com/samalba
|
|
|
-+ /dockerclient)
|
|
|
-
|
|
|
--[https://github.com/fsouza/go-dockerclient](https://github.com/fsouza/go-dockerclient)
|
|
|
-+ PHP Alvine [http://pear.alvine.io/](http://pe Active
|
|
|
-+ ar.alvine.io/)
|
|
|
-+ (alpha)
|
|
|
-
|
|
|
--Active
|
|
|
-+ PHP Docker-PHP [http://stage1.github.io/docker-ph Active
|
|
|
-+ p/](http://stage1.github.io/docker
|
|
|
-+ -php/)
|
|
|
-
|
|
|
--PHP
|
|
|
-+ Perl Net::Docker [https://metacpan.org/pod/Net::Doc Active
|
|
|
-+ ker](https://metacpan.org/pod/Net:
|
|
|
-+ :Docker)
|
|
|
-
|
|
|
--Alvine
|
|
|
-+ Perl Eixo::Docker [https://github.com/alambike/eixo- Active
|
|
|
-+ docker](https://github.com/alambik
|
|
|
-+ e/eixo-docker)
|
|
|
-+ -------------------------------------------------------------------------
|
|
|
-
|
|
|
--[http://pear.alvine.io/](http://pear.alvine.io/) (alpha)
|
|
|
-
|
|
|
--Active
|
|
|
-diff --git a/docs/sources/reference/commandline.md b/docs/sources/reference/commandline.md
|
|
|
-index 6f7a779..b2fb7e0 100644
|
|
|
---- a/docs/sources/reference/commandline.md
|
|
|
-+++ b/docs/sources/reference/commandline.md
|
|
|
-@@ -1,7 +1,7 @@
|
|
|
-
|
|
|
- # Commands
|
|
|
-
|
|
|
--## Contents:
|
|
|
-+Contents:
|
|
|
-
|
|
|
- - [Command Line Help](cli/)
|
|
|
- - [Options](cli/#options)
|
|
|
-diff --git a/docs/sources/reference/run.md b/docs/sources/reference/run.md
|
|
|
-index 9d825ce..3deac40 100644
|
|
|
---- a/docs/sources/reference/run.md
|
|
|
-+++ b/docs/sources/reference/run.md
|
|
|
-@@ -2,7 +2,7 @@ page_title: Docker Run Reference
|
|
|
- page_description: Configure containers at runtime
|
|
|
- page_keywords: docker, run, configure, runtime
|
|
|
-
|
|
|
--# Docker Run Reference
|
|
|
-+# [Docker Run Reference](#id2)
|
|
|
-
|
|
|
- **Docker runs processes in isolated containers**. When an operator
|
|
|
- executes `docker run`, she starts a process with its
|
|
|
-@@ -25,7 +25,7 @@ Table of Contents
|
|
|
- - [Overriding `Dockerfile` Image
|
|
|
- Defaults](#overriding-dockerfile-image-defaults)
|
|
|
-
|
|
|
--## General Form
|
|
|
-+## [General Form](#id3)
|
|
|
-
|
|
|
- As you’ve seen in the [*Examples*](../../examples/#example-list), the
|
|
|
- basic run command takes this form:
|
|
|
-@@ -52,7 +52,7 @@ control over runtime behavior to the operator, allowing them to override
|
|
|
- all defaults set by the developer during `docker build`{.docutils
|
|
|
- .literal} and nearly all the defaults set by the Docker runtime itself.
|
|
|
-
|
|
|
--## Operator Exclusive Options
|
|
|
-+## [Operator Exclusive Options](#id4)
|
|
|
-
|
|
|
- Only the operator (the person executing `docker run`{.docutils
|
|
|
- .literal}) can set the following options.
|
|
|
-@@ -60,19 +60,17 @@ Only the operator (the person executing `docker run`{.docutils
|
|
|
- - [Detached vs Foreground](#detached-vs-foreground)
|
|
|
- - [Detached (-d)](#detached-d)
|
|
|
- - [Foreground](#foreground)
|
|
|
--
|
|
|
- - [Container Identification](#container-identification)
|
|
|
-- - [Name (-name)](#name-name)
|
|
|
-+ - [Name (–name)](#name-name)
|
|
|
- - [PID Equivalent](#pid-equivalent)
|
|
|
--
|
|
|
- - [Network Settings](#network-settings)
|
|
|
--- [Clean Up (-rm)](#clean-up-rm)
|
|
|
-+- [Clean Up (–rm)](#clean-up-rm)
|
|
|
- - [Runtime Constraints on CPU and
|
|
|
- Memory](#runtime-constraints-on-cpu-and-memory)
|
|
|
- - [Runtime Privilege and LXC
|
|
|
- Configuration](#runtime-privilege-and-lxc-configuration)
|
|
|
-
|
|
|
--### Detached vs Foreground
|
|
|
-+### [Detached vs Foreground](#id6)
|
|
|
-
|
|
|
- When starting a Docker container, you must first decide if you want to
|
|
|
- run the container in the background in a “detached” mode or in the
|
|
|
-@@ -80,7 +78,7 @@ default foreground mode:
|
|
|
-
|
|
|
- -d=false: Detached mode: Run container in the background, print new container id
|
|
|
-
|
|
|
--**Detached (-d)**
|
|
|
-+#### [Detached (-d)](#id7)
|
|
|
-
|
|
|
- In detached mode (`-d=true` or just `-d`{.docutils
|
|
|
- .literal}), all I/O should be done through network connections or shared
|
|
|
-@@ -88,10 +86,10 @@ volumes because the container is no longer listening to the commandline
|
|
|
- where you executed `docker run`. You can reattach to
|
|
|
- a detached container with `docker`
|
|
|
- [*attach*](../commandline/cli/#cli-attach). If you choose to run a
|
|
|
--container in the detached mode, then you cannot use the `-rm`{.docutils
|
|
|
-+container in the detached mode, then you cannot use the `--rm`{.docutils
|
|
|
- .literal} option.
|
|
|
-
|
|
|
--**Foreground**
|
|
|
-+#### [Foreground](#id8)
|
|
|
-
|
|
|
- In foreground mode (the default when `-d` is not
|
|
|
- specified), `docker run` can start the process in
|
|
|
-@@ -100,10 +98,10 @@ output, and standard error. It can even pretend to be a TTY (this is
|
|
|
- what most commandline executables expect) and pass along signals. All of
|
|
|
- that is configurable:
|
|
|
-
|
|
|
-- -a=[] : Attach to ``stdin``, ``stdout`` and/or ``stderr``
|
|
|
-- -t=false : Allocate a pseudo-tty
|
|
|
-- -sig-proxy=true: Proxify all received signal to the process (even in non-tty mode)
|
|
|
-- -i=false : Keep STDIN open even if not attached
|
|
|
-+ -a=[] : Attach to ``stdin``, ``stdout`` and/or ``stderr``
|
|
|
-+ -t=false : Allocate a pseudo-tty
|
|
|
-+ --sig-proxy=true: Proxify all received signal to the process (even in non-tty mode)
|
|
|
-+ -i=false : Keep STDIN open even if not attached
|
|
|
-
|
|
|
- If you do not specify `-a` then Docker will [attach
|
|
|
- everything
|
|
|
-@@ -119,9 +117,9 @@ as well as persistent standard input (`stdin`), so
|
|
|
- you’ll use `-i -t` together in most interactive
|
|
|
- cases.
|
|
|
-
|
|
|
--### Container Identification
|
|
|
-+### [Container Identification](#id9)
|
|
|
-
|
|
|
--**Name (-name)**
|
|
|
-+#### [Name (–name)](#id10)
|
|
|
-
|
|
|
- The operator can identify a container in three ways:
|
|
|
-
|
|
|
-@@ -131,27 +129,27 @@ The operator can identify a container in three ways:
|
|
|
- - Name (“evil\_ptolemy”)
|
|
|
-
|
|
|
- The UUID identifiers come from the Docker daemon, and if you do not
|
|
|
--assign a name to the container with `-name` then the
|
|
|
--daemon will also generate a random string name too. The name can become
|
|
|
--a handy way to add meaning to a container since you can use this name
|
|
|
--when defining
|
|
|
-+assign a name to the container with `--name` then
|
|
|
-+the daemon will also generate a random string name too. The name can
|
|
|
-+become a handy way to add meaning to a container since you can use this
|
|
|
-+name when defining
|
|
|
- [*links*](../../use/working_with_links_names/#working-with-links-names)
|
|
|
- (or any other place you need to identify a container). This works for
|
|
|
- both background and foreground Docker containers.
|
|
|
-
|
|
|
--**PID Equivalent**
|
|
|
-+#### [PID Equivalent](#id11)
|
|
|
-
|
|
|
- And finally, to help with automation, you can have Docker write the
|
|
|
- container ID out to a file of your choosing. This is similar to how some
|
|
|
- programs might write out their process ID to a file (you’ve seen them as
|
|
|
- PID files):
|
|
|
-
|
|
|
-- -cidfile="": Write the container ID to the file
|
|
|
-+ --cidfile="": Write the container ID to the file
|
|
|
-
|
|
|
--### Network Settings
|
|
|
-+### [Network Settings](#id12)
|
|
|
-
|
|
|
- -n=true : Enable networking for this container
|
|
|
-- -dns=[] : Set custom dns servers for the container
|
|
|
-+ --dns=[] : Set custom dns servers for the container
|
|
|
-
|
|
|
- By default, all containers have networking enabled and they can make any
|
|
|
- outgoing connections. The operator can completely disable networking
|
|
|
-@@ -160,9 +158,9 @@ outgoing networking. In cases like this, you would perform I/O through
|
|
|
- files or STDIN/STDOUT only.
|
|
|
-
|
|
|
- Your container will use the same DNS servers as the host by default, but
|
|
|
--you can override this with `-dns`.
|
|
|
-+you can override this with `--dns`.
|
|
|
-
|
|
|
--### Clean Up (-rm)
|
|
|
-+### [Clean Up (–rm)](#id13)
|
|
|
-
|
|
|
- By default a container’s file system persists even after the container
|
|
|
- exits. This makes debugging a lot easier (since you can inspect the
|
|
|
-@@ -170,11 +168,11 @@ final state) and you retain all your data by default. But if you are
|
|
|
- running short-term **foreground** processes, these container file
|
|
|
- systems can really pile up. If instead you’d like Docker to
|
|
|
- **automatically clean up the container and remove the file system when
|
|
|
--the container exits**, you can add the `-rm` flag:
|
|
|
-+the container exits**, you can add the `--rm` flag:
|
|
|
-
|
|
|
-- -rm=false: Automatically remove the container when it exits (incompatible with -d)
|
|
|
-+ --rm=false: Automatically remove the container when it exits (incompatible with -d)
|
|
|
-
|
|
|
--### Runtime Constraints on CPU and Memory
|
|
|
-+### [Runtime Constraints on CPU and Memory](#id14)
|
|
|
-
|
|
|
- The operator can also adjust the performance parameters of the
|
|
|
- container:
|
|
|
-@@ -193,10 +191,10 @@ the same priority and get the same proportion of CPU cycles, but you can
|
|
|
- tell the kernel to give more shares of CPU time to one or more
|
|
|
- containers when you start them via Docker.
|
|
|
-
|
|
|
--### Runtime Privilege and LXC Configuration
|
|
|
-+### [Runtime Privilege and LXC Configuration](#id15)
|
|
|
-
|
|
|
-- -privileged=false: Give extended privileges to this container
|
|
|
-- -lxc-conf=[]: Add custom lxc options -lxc-conf="lxc.cgroup.cpuset.cpus = 0,1"
|
|
|
-+ --privileged=false: Give extended privileges to this container
|
|
|
-+ --lxc-conf=[]: (lxc exec-driver only) Add custom lxc options --lxc-conf="lxc.cgroup.cpuset.cpus = 0,1"
|
|
|
-
|
|
|
- By default, Docker containers are “unprivileged” and cannot, for
|
|
|
- example, run a Docker daemon inside a Docker container. This is because
|
|
|
-@@ -206,23 +204,26 @@ by default a container is not allowed to access any devices, but a
|
|
|
- and documentation on [cgroups
|
|
|
- devices](https://www.kernel.org/doc/Documentation/cgroups/devices.txt)).
|
|
|
-
|
|
|
--When the operator executes `docker run -privileged`,
|
|
|
--Docker will enable to access to all devices on the host as well as set
|
|
|
--some configuration in AppArmor to allow the container nearly all the
|
|
|
--same access to the host as processes running outside containers on the
|
|
|
--host. Additional information about running with `-privileged`{.docutils
|
|
|
--.literal} is available on the [Docker
|
|
|
-+When the operator executes `docker run --privileged`{.docutils
|
|
|
-+.literal}, Docker will enable to access to all devices on the host as
|
|
|
-+well as set some configuration in AppArmor to allow the container nearly
|
|
|
-+all the same access to the host as processes running outside containers
|
|
|
-+on the host. Additional information about running with
|
|
|
-+`--privileged` is available on the [Docker
|
|
|
- Blog](http://blog.docker.io/2013/09/docker-can-now-run-within-docker/).
|
|
|
-
|
|
|
--An operator can also specify LXC options using one or more
|
|
|
--`-lxc-conf` parameters. These can be new parameters
|
|
|
-+If the Docker daemon was started using the `lxc`
|
|
|
-+exec-driver (`docker -d --exec-driver=lxc`) then the
|
|
|
-+operator can also specify LXC options using one or more
|
|
|
-+`--lxc-conf` parameters. These can be new parameters
|
|
|
- or override existing parameters from the
|
|
|
- [lxc-template.go](https://github.com/dotcloud/docker/blob/master/execdriver/lxc/lxc_template.go).
|
|
|
- Note that in the future, a given host’s Docker daemon may not use LXC,
|
|
|
- so this is an implementation-specific configuration meant for operators
|
|
|
- already familiar with using LXC directly.
|
|
|
-
|
|
|
--## Overriding `Dockerfile` Image Defaults
|
|
|
-+## [Overriding `Dockerfile` Image Defaults](#id5)
|
|
|
-+
|
|
|
- When a developer builds an image from a
|
|
|
- [*Dockerfile*](../builder/#dockerbuilder) or when she commits it, the
|
|
|
- developer can set a number of default parameters that take effect when
|
|
|
-@@ -244,7 +245,7 @@ how the operator can override that setting.
|
|
|
- - [USER](#user)
|
|
|
- - [WORKDIR](#workdir)
|
|
|
-
|
|
|
--### CMD (Default Command or Options)
|
|
|
-+### [CMD (Default Command or Options)](#id16)
|
|
|
-
|
|
|
- Recall the optional `COMMAND` in the Docker
|
|
|
- commandline:
|
|
|
-@@ -262,9 +263,9 @@ If the image also specifies an `ENTRYPOINT` then the
|
|
|
- `CMD` or `COMMAND`{.docutils .literal} get appended
|
|
|
- as arguments to the `ENTRYPOINT`.
|
|
|
-
|
|
|
--### ENTRYPOINT (Default Command to Execute at Runtime
|
|
|
-+### [ENTRYPOINT (Default Command to Execute at Runtime](#id17)
|
|
|
-
|
|
|
-- -entrypoint="": Overwrite the default entrypoint set by the image
|
|
|
-+ --entrypoint="": Overwrite the default entrypoint set by the image
|
|
|
-
|
|
|
- The ENTRYPOINT of an image is similar to a `COMMAND`
|
|
|
- because it specifies what executable to run when the container starts,
|
|
|
-@@ -280,14 +281,14 @@ the new `ENTRYPOINT`. Here is an example of how to
|
|
|
- run a shell in a container that has been set up to automatically run
|
|
|
- something else (like `/usr/bin/redis-server`):
|
|
|
-
|
|
|
-- docker run -i -t -entrypoint /bin/bash example/redis
|
|
|
-+ docker run -i -t --entrypoint /bin/bash example/redis
|
|
|
-
|
|
|
- or two examples of how to pass more parameters to that ENTRYPOINT:
|
|
|
-
|
|
|
-- docker run -i -t -entrypoint /bin/bash example/redis -c ls -l
|
|
|
-- docker run -i -t -entrypoint /usr/bin/redis-cli example/redis --help
|
|
|
-+ docker run -i -t --entrypoint /bin/bash example/redis -c ls -l
|
|
|
-+ docker run -i -t --entrypoint /usr/bin/redis-cli example/redis --help
|
|
|
-
|
|
|
--### EXPOSE (Incoming Ports)
|
|
|
-+### [EXPOSE (Incoming Ports)](#id18)
|
|
|
-
|
|
|
- The `Dockerfile` doesn’t give much control over
|
|
|
- networking, only providing the `EXPOSE` instruction
|
|
|
-@@ -295,17 +296,17 @@ to give a hint to the operator about what incoming ports might provide
|
|
|
- services. The following options work with or override the
|
|
|
- `Dockerfile`‘s exposed defaults:
|
|
|
-
|
|
|
-- -expose=[]: Expose a port from the container
|
|
|
-+ --expose=[]: Expose a port from the container
|
|
|
- without publishing it to your host
|
|
|
-- -P=false : Publish all exposed ports to the host interfaces
|
|
|
-- -p=[] : Publish a container's port to the host (format:
|
|
|
-- ip:hostPort:containerPort | ip::containerPort |
|
|
|
-- hostPort:containerPort)
|
|
|
-- (use 'docker port' to see the actual mapping)
|
|
|
-- -link="" : Add link to another container (name:alias)
|
|
|
-+ -P=false : Publish all exposed ports to the host interfaces
|
|
|
-+ -p=[] : Publish a container's port to the host (format:
|
|
|
-+ ip:hostPort:containerPort | ip::containerPort |
|
|
|
-+ hostPort:containerPort)
|
|
|
-+ (use 'docker port' to see the actual mapping)
|
|
|
-+ --link="" : Add link to another container (name:alias)
|
|
|
-
|
|
|
- As mentioned previously, `EXPOSE` (and
|
|
|
--`-expose`) make a port available **in** a container
|
|
|
-+`--expose`) make a port available **in** a container
|
|
|
- for incoming connections. The port number on the inside of the container
|
|
|
- (where the service listens) does not need to be the same number as the
|
|
|
- port exposed on the outside of the container (where clients connect), so
|
|
|
-@@ -315,11 +316,11 @@ inside the container you might have an HTTP service listening on port 80
|
|
|
- might be 42800.
|
|
|
-
|
|
|
- To help a new client container reach the server container’s internal
|
|
|
--port operator `-expose`‘d by the operator or
|
|
|
-+port operator `--expose`‘d by the operator or
|
|
|
- `EXPOSE`‘d by the developer, the operator has three
|
|
|
- choices: start the server container with `-P` or
|
|
|
- `-p,` or start the client container with
|
|
|
--`-link`.
|
|
|
-+`--link`.
|
|
|
-
|
|
|
- If the operator uses `-P` or `-p`{.docutils
|
|
|
- .literal} then Docker will make the exposed port accessible on the host
|
|
|
-@@ -327,20 +328,20 @@ and the ports will be available to any client that can reach the host.
|
|
|
- To find the map between the host ports and the exposed ports, use
|
|
|
- `docker port`)
|
|
|
-
|
|
|
--If the operator uses `-link` when starting the new
|
|
|
-+If the operator uses `--link` when starting the new
|
|
|
- client container, then the client container can access the exposed port
|
|
|
- via a private networking interface. Docker will set some environment
|
|
|
- variables in the client container to help indicate which interface and
|
|
|
- port to use.
|
|
|
-
|
|
|
--### ENV (Environment Variables)
|
|
|
-+### [ENV (Environment Variables)](#id19)
|
|
|
-
|
|
|
- The operator can **set any environment variable** in the container by
|
|
|
- using one or more `-e` flags, even overriding those
|
|
|
- already defined by the developer with a Dockefile `ENV`{.docutils
|
|
|
- .literal}:
|
|
|
-
|
|
|
-- $ docker run -e "deep=purple" -rm ubuntu /bin/bash -c export
|
|
|
-+ $ docker run -e "deep=purple" --rm ubuntu /bin/bash -c export
|
|
|
- declare -x HOME="/"
|
|
|
- declare -x HOSTNAME="85bc26a0e200"
|
|
|
- declare -x OLDPWD
|
|
|
-@@ -353,13 +354,13 @@ already defined by the developer with a Dockefile `ENV`{.docutils
|
|
|
- Similarly the operator can set the **hostname** with `-h`{.docutils
|
|
|
- .literal}.
|
|
|
-
|
|
|
--`-link name:alias` also sets environment variables,
|
|
|
-+`--link name:alias` also sets environment variables,
|
|
|
- using the *alias* string to define environment variables within the
|
|
|
- container that give the IP and PORT information for connecting to the
|
|
|
- service container. Let’s imagine we have a container running Redis:
|
|
|
-
|
|
|
- # Start the service container, named redis-name
|
|
|
-- $ docker run -d -name redis-name dockerfiles/redis
|
|
|
-+ $ docker run -d --name redis-name dockerfiles/redis
|
|
|
- 4241164edf6f5aca5b0e9e4c9eccd899b0b8080c64c0cd26efe02166c73208f3
|
|
|
-
|
|
|
- # The redis-name container exposed port 6379
|
|
|
-@@ -372,10 +373,10 @@ service container. Let’s imagine we have a container running Redis:
|
|
|
- 2014/01/25 00:55:38 Error: No public port '6379' published for 4241164edf6f
|
|
|
-
|
|
|
- Yet we can get information about the Redis container’s exposed ports
|
|
|
--with `-link`. Choose an alias that will form a valid
|
|
|
--environment variable!
|
|
|
-+with `--link`. Choose an alias that will form a
|
|
|
-+valid environment variable!
|
|
|
-
|
|
|
-- $ docker run -rm -link redis-name:redis_alias -entrypoint /bin/bash dockerfiles/redis -c export
|
|
|
-+ $ docker run --rm --link redis-name:redis_alias --entrypoint /bin/bash dockerfiles/redis -c export
|
|
|
- declare -x HOME="/"
|
|
|
- declare -x HOSTNAME="acda7f7b1cdc"
|
|
|
- declare -x OLDPWD
|
|
|
-@@ -393,14 +394,14 @@ environment variable!
|
|
|
- And we can use that information to connect from another container as a
|
|
|
- client:
|
|
|
-
|
|
|
-- $ docker run -i -t -rm -link redis-name:redis_alias -entrypoint /bin/bash dockerfiles/redis -c '/redis-stable/src/redis-cli -h $REDIS_ALIAS_PORT_6379_TCP_ADDR -p $REDIS_ALIAS_PORT_6379_TCP_PORT'
|
|
|
-+ $ docker run -i -t --rm --link redis-name:redis_alias --entrypoint /bin/bash dockerfiles/redis -c '/redis-stable/src/redis-cli -h $REDIS_ALIAS_PORT_6379_TCP_ADDR -p $REDIS_ALIAS_PORT_6379_TCP_PORT'
|
|
|
- 172.17.0.32:6379>
|
|
|
-
|
|
|
--### VOLUME (Shared Filesystems)
|
|
|
-+### [VOLUME (Shared Filesystems)](#id20)
|
|
|
-
|
|
|
- -v=[]: Create a bind mount with: [host-dir]:[container-dir]:[rw|ro].
|
|
|
- If "container-dir" is missing, then docker creates a new volume.
|
|
|
-- -volumes-from="": Mount all volumes from the given container(s)
|
|
|
-+ --volumes-from="": Mount all volumes from the given container(s)
|
|
|
-
|
|
|
- The volumes commands are complex enough to have their own documentation
|
|
|
- in section [*Share Directories via
|
|
|
-@@ -409,7 +410,7 @@ define one or more `VOLUME`s associated with an
|
|
|
- image, but only the operator can give access from one container to
|
|
|
- another (or from a container to a volume mounted on the host).
|
|
|
-
|
|
|
--### USER
|
|
|
-+### [USER](#id21)
|
|
|
-
|
|
|
- The default user within a container is `root` (id =
|
|
|
- 0), but if the developer created additional users, those are accessible
|
|
|
-@@ -419,7 +420,7 @@ override it
|
|
|
-
|
|
|
- -u="": Username or UID
|
|
|
-
|
|
|
--### WORKDIR
|
|
|
-+### [WORKDIR](#id22)
|
|
|
-
|
|
|
- The default working directory for running binaries within a container is
|
|
|
- the root directory (`/`), but the developer can set
|
|
|
-diff --git a/docs/sources/search.md b/docs/sources/search.md
|
|
|
-index 0e2e13f..0296d50 100644
|
|
|
---- a/docs/sources/search.md
|
|
|
-+++ b/docs/sources/search.md
|
|
|
-@@ -1,8 +1,7 @@
|
|
|
--# Search
|
|
|
-
|
|
|
--*Please activate JavaScript to enable the search functionality.*
|
|
|
-+# Search {#search-documentation}
|
|
|
-
|
|
|
--## How To Search
|
|
|
-+Please activate JavaScript to enable the search functionality.
|
|
|
-
|
|
|
- From here you can search these documents. Enter your search words into
|
|
|
- the box below and click "search". Note that the search function will
|
|
|
-diff --git a/docs/sources/terms.md b/docs/sources/terms.md
|
|
|
-index 59579d9..5152876 100644
|
|
|
---- a/docs/sources/terms.md
|
|
|
-+++ b/docs/sources/terms.md
|
|
|
-@@ -1,13 +1,14 @@
|
|
|
-+
|
|
|
- # Glossary
|
|
|
-
|
|
|
--*Definitions of terms used in Docker documentation.*
|
|
|
-+Definitions of terms used in Docker documentation.
|
|
|
-
|
|
|
--## Contents:
|
|
|
-+Contents:
|
|
|
-
|
|
|
--- [File System](filesystem/)
|
|
|
--- [Layers](layer/)
|
|
|
--- [Image](image/)
|
|
|
--- [Container](container/)
|
|
|
--- [Registry](registry/)
|
|
|
--- [Repository](repository/)
|
|
|
-+- [File System](filesystem/)
|
|
|
-+- [Layers](layer/)
|
|
|
-+- [Image](image/)
|
|
|
-+- [Container](container/)
|
|
|
-+- [Registry](registry/)
|
|
|
-+- [Repository](repository/)
|
|
|
-
|
|
|
-diff --git a/docs/sources/terms/container.md b/docs/sources/terms/container.md
|
|
|
-index bc493d4..6fbf952 100644
|
|
|
---- a/docs/sources/terms/container.md
|
|
|
-+++ b/docs/sources/terms/container.md
|
|
|
-@@ -4,8 +4,6 @@ page_keywords: containers, lxc, concepts, explanation, image, container
|
|
|
-
|
|
|
- # Container
|
|
|
-
|
|
|
--## Introduction
|
|
|
--
|
|
|
- 
|
|
|
-
|
|
|
- Once you start a process in Docker from an
|
|
|
-diff --git a/docs/sources/terms/filesystem.md b/docs/sources/terms/filesystem.md
|
|
|
-index 2038d00..8fbd977 100644
|
|
|
---- a/docs/sources/terms/filesystem.md
|
|
|
-+++ b/docs/sources/terms/filesystem.md
|
|
|
-@@ -4,8 +4,6 @@ page_keywords: containers, files, linux
|
|
|
-
|
|
|
- # File System
|
|
|
-
|
|
|
--## Introduction
|
|
|
--
|
|
|
- 
|
|
|
-
|
|
|
- In order for a Linux system to run, it typically needs two [file
|
|
|
-diff --git a/docs/sources/terms/image.md b/docs/sources/terms/image.md
|
|
|
-index 721d4c9..98914dd 100644
|
|
|
---- a/docs/sources/terms/image.md
|
|
|
-+++ b/docs/sources/terms/image.md
|
|
|
-@@ -4,8 +4,6 @@ page_keywords: containers, lxc, concepts, explanation, image, container
|
|
|
-
|
|
|
- # Image
|
|
|
-
|
|
|
--## Introduction
|
|
|
--
|
|
|
- 
|
|
|
-
|
|
|
- In Docker terminology, a read-only [*Layer*](../layer/#layer-def) is
|
|
|
-diff --git a/docs/sources/terms/layer.md b/docs/sources/terms/layer.md
|
|
|
-index 7665467..6949d5c 100644
|
|
|
---- a/docs/sources/terms/layer.md
|
|
|
-+++ b/docs/sources/terms/layer.md
|
|
|
-@@ -4,8 +4,6 @@ page_keywords: containers, lxc, concepts, explanation, image, container
|
|
|
-
|
|
|
- # Layers
|
|
|
-
|
|
|
--## Introduction
|
|
|
--
|
|
|
- In a traditional Linux boot, the kernel first mounts the root [*File
|
|
|
- System*](../filesystem/#filesystem-def) as read-only, checks its
|
|
|
- integrity, and then switches the whole rootfs volume to read-write mode.
|
|
|
-diff --git a/docs/sources/terms/registry.md b/docs/sources/terms/registry.md
|
|
|
-index 0d5af2c..53c0a24 100644
|
|
|
---- a/docs/sources/terms/registry.md
|
|
|
-+++ b/docs/sources/terms/registry.md
|
|
|
-@@ -4,8 +4,6 @@ page_keywords: containers, lxc, concepts, explanation, image, repository, contai
|
|
|
-
|
|
|
- # Registry
|
|
|
-
|
|
|
--## Introduction
|
|
|
--
|
|
|
- A Registry is a hosted service containing
|
|
|
- [*repositories*](../repository/#repository-def) of
|
|
|
- [*images*](../image/#image-def) which responds to the Registry API.
|
|
|
-@@ -14,7 +12,5 @@ The default registry can be accessed using a browser at
|
|
|
- [http://images.docker.io](http://images.docker.io) or using the
|
|
|
- `sudo docker search` command.
|
|
|
-
|
|
|
--## Further Reading
|
|
|
--
|
|
|
- For more information see [*Working with
|
|
|
- Repositories*](../../use/workingwithrepository/#working-with-the-repository)
|
|
|
-diff --git a/docs/sources/terms/repository.md b/docs/sources/terms/repository.md
|
|
|
-index e3332e4..8868440 100644
|
|
|
---- a/docs/sources/terms/repository.md
|
|
|
-+++ b/docs/sources/terms/repository.md
|
|
|
-@@ -4,8 +4,6 @@ page_keywords: containers, lxc, concepts, explanation, image, repository, contai
|
|
|
-
|
|
|
- # Repository
|
|
|
-
|
|
|
--## Introduction
|
|
|
--
|
|
|
- A repository is a set of images either on your local Docker server, or
|
|
|
- shared, by pushing it to a [*Registry*](../registry/#registry-def)
|
|
|
- server.
|
|
|
-diff --git a/docs/sources/toctree.md b/docs/sources/toctree.md
|
|
|
-index 259a231..b268e90 100644
|
|
|
---- a/docs/sources/toctree.md
|
|
|
-+++ b/docs/sources/toctree.md
|
|
|
-@@ -1,14 +1,18 @@
|
|
|
-+page_title: Documentation
|
|
|
-+page_description: -- todo: change me
|
|
|
-+page_keywords: todo, docker, documentation, installation, usage, examples, contributing, faq, command line, concepts
|
|
|
-+
|
|
|
- # Documentation
|
|
|
-
|
|
|
--## This documentation has the following resources:
|
|
|
--
|
|
|
--- [Introduction](../)
|
|
|
--- [Installation](../installation/)
|
|
|
--- [Use](../use/)
|
|
|
--- [Examples](../examples/)
|
|
|
--- [Reference Manual](../reference/)
|
|
|
--- [Contributing](../contributing/)
|
|
|
--- [Glossary](../terms/)
|
|
|
--- [Articles](../articles/)
|
|
|
--- [FAQ](../faq/)
|
|
|
-+This documentation has the following resources:
|
|
|
-+
|
|
|
-+- [Introduction](../)
|
|
|
-+- [Installation](../installation/)
|
|
|
-+- [Use](../use/)
|
|
|
-+- [Examples](../examples/)
|
|
|
-+- [Reference Manual](../reference/)
|
|
|
-+- [Contributing](../contributing/)
|
|
|
-+- [Glossary](../terms/)
|
|
|
-+- [Articles](../articles/)
|
|
|
-+- [FAQ](../faq/)
|
|
|
-
|
|
|
-diff --git a/docs/sources/use.md b/docs/sources/use.md
|
|
|
-index ce4a510..00077a5 100644
|
|
|
---- a/docs/sources/use.md
|
|
|
-+++ b/docs/sources/use.md
|
|
|
-@@ -1,13 +1,16 @@
|
|
|
-+
|
|
|
- # Use
|
|
|
-
|
|
|
--## Contents:
|
|
|
--
|
|
|
--- [First steps with Docker](basics/)
|
|
|
--- [Share Images via Repositories](workingwithrepository/)
|
|
|
--- [Redirect Ports](port_redirection/)
|
|
|
--- [Configure Networking](networking/)
|
|
|
--- [Automatically Start Containers](host_integration/)
|
|
|
--- [Share Directories via Volumes](working_with_volumes/)
|
|
|
--- [Link Containers](working_with_links_names/)
|
|
|
--- [Link via an Ambassador Container](ambassador_pattern_linking/)
|
|
|
--- [Using Puppet](puppet/)
|
|
|
-\ No newline at end of file
|
|
|
-+Contents:
|
|
|
-+
|
|
|
-+- [First steps with Docker](basics/)
|
|
|
-+- [Share Images via Repositories](workingwithrepository/)
|
|
|
-+- [Redirect Ports](port_redirection/)
|
|
|
-+- [Configure Networking](networking/)
|
|
|
-+- [Automatically Start Containers](host_integration/)
|
|
|
-+- [Share Directories via Volumes](working_with_volumes/)
|
|
|
-+- [Link Containers](working_with_links_names/)
|
|
|
-+- [Link via an Ambassador Container](ambassador_pattern_linking/)
|
|
|
-+- [Using Chef](chef/)
|
|
|
-+- [Using Puppet](puppet/)
|
|
|
-+
|
|
|
-diff --git a/docs/sources/use/ambassador_pattern_linking.md b/docs/sources/use/ambassador_pattern_linking.md
|
|
|
-index b5df7f8..f7704a5 100644
|
|
|
---- a/docs/sources/use/ambassador_pattern_linking.md
|
|
|
-+++ b/docs/sources/use/ambassador_pattern_linking.md
|
|
|
-@@ -4,8 +4,6 @@ page_keywords: Examples, Usage, links, docker, documentation, examples, names, n
|
|
|
-
|
|
|
- # Link via an Ambassador Container
|
|
|
-
|
|
|
--## Introduction
|
|
|
--
|
|
|
- Rather than hardcoding network links between a service consumer and
|
|
|
- provider, Docker encourages service portability.
|
|
|
-
|
|
|
-@@ -38,24 +36,24 @@ link wiring is controlled entirely from the `docker run`{.docutils
|
|
|
-
|
|
|
- Start actual redis server on one Docker host
|
|
|
-
|
|
|
-- big-server $ docker run -d -name redis crosbymichael/redis
|
|
|
-+ big-server $ docker run -d --name redis crosbymichael/redis
|
|
|
-
|
|
|
- Then add an ambassador linked to the redis server, mapping a port to the
|
|
|
- outside world
|
|
|
-
|
|
|
-- big-server $ docker run -d -link redis:redis -name redis_ambassador -p 6379:6379 svendowideit/ambassador
|
|
|
-+ big-server $ docker run -d --link redis:redis --name redis_ambassador -p 6379:6379 svendowideit/ambassador
|
|
|
-
|
|
|
- On the other host, you can set up another ambassador setting environment
|
|
|
- variables for each remote port we want to proxy to the
|
|
|
- `big-server`
|
|
|
-
|
|
|
-- client-server $ docker run -d -name redis_ambassador -expose 6379 -e REDIS_PORT_6379_TCP=tcp://192.168.1.52:6379 svendowideit/ambassador
|
|
|
-+ client-server $ docker run -d --name redis_ambassador --expose 6379 -e REDIS_PORT_6379_TCP=tcp://192.168.1.52:6379 svendowideit/ambassador
|
|
|
-
|
|
|
- Then on the `client-server` host, you can use a
|
|
|
- redis client container to talk to the remote redis server, just by
|
|
|
- linking to the local redis ambassador.
|
|
|
-
|
|
|
-- client-server $ docker run -i -t -rm -link redis_ambassador:redis relateiq/redis-cli
|
|
|
-+ client-server $ docker run -i -t --rm --link redis_ambassador:redis relateiq/redis-cli
|
|
|
- redis 172.17.0.160:6379> ping
|
|
|
- PONG
|
|
|
-
|
|
|
-@@ -68,19 +66,19 @@ The following example shows what the `svendowideit/ambassador`{.docutils
|
|
|
- On the docker host (192.168.1.52) that redis will run on:
|
|
|
-
|
|
|
- # start actual redis server
|
|
|
-- $ docker run -d -name redis crosbymichael/redis
|
|
|
-+ $ docker run -d --name redis crosbymichael/redis
|
|
|
-
|
|
|
- # get a redis-cli container for connection testing
|
|
|
- $ docker pull relateiq/redis-cli
|
|
|
-
|
|
|
- # test the redis server by talking to it directly
|
|
|
-- $ docker run -t -i -rm -link redis:redis relateiq/redis-cli
|
|
|
-+ $ docker run -t -i --rm --link redis:redis relateiq/redis-cli
|
|
|
- redis 172.17.0.136:6379> ping
|
|
|
- PONG
|
|
|
- ^D
|
|
|
-
|
|
|
- # add redis ambassador
|
|
|
-- $ docker run -t -i -link redis:redis -name redis_ambassador -p 6379:6379 busybox sh
|
|
|
-+ $ docker run -t -i --link redis:redis --name redis_ambassador -p 6379:6379 busybox sh
|
|
|
-
|
|
|
- in the redis\_ambassador container, you can see the linked redis
|
|
|
- containers’s env
|
|
|
-@@ -104,7 +102,7 @@ to the world (via the -p 6379:6379 port mapping)
|
|
|
-
|
|
|
- $ docker rm redis_ambassador
|
|
|
- $ sudo ./contrib/mkimage-unittest.sh
|
|
|
-- $ docker run -t -i -link redis:redis -name redis_ambassador -p 6379:6379 docker-ut sh
|
|
|
-+ $ docker run -t -i --link redis:redis --name redis_ambassador -p 6379:6379 docker-ut sh
|
|
|
-
|
|
|
- $ socat TCP4-LISTEN:6379,fork,reuseaddr TCP4:172.17.0.136:6379
|
|
|
-
|
|
|
-@@ -113,14 +111,14 @@ then ping the redis server via the ambassador
|
|
|
- Now goto a different server
|
|
|
-
|
|
|
- $ sudo ./contrib/mkimage-unittest.sh
|
|
|
-- $ docker run -t -i -expose 6379 -name redis_ambassador docker-ut sh
|
|
|
-+ $ docker run -t -i --expose 6379 --name redis_ambassador docker-ut sh
|
|
|
-
|
|
|
- $ socat TCP4-LISTEN:6379,fork,reuseaddr TCP4:192.168.1.52:6379
|
|
|
-
|
|
|
- and get the redis-cli image so we can talk over the ambassador bridge
|
|
|
-
|
|
|
- $ docker pull relateiq/redis-cli
|
|
|
-- $ docker run -i -t -rm -link redis_ambassador:redis relateiq/redis-cli
|
|
|
-+ $ docker run -i -t --rm --link redis_ambassador:redis relateiq/redis-cli
|
|
|
- redis 172.17.0.160:6379> ping
|
|
|
- PONG
|
|
|
-
|
|
|
-@@ -133,7 +131,7 @@ out the (possibly multiple) link environment variables to set up the
|
|
|
- port forwarding. On the remote host, you need to set the variable using
|
|
|
- the `-e` command line option.
|
|
|
-
|
|
|
--`-expose 1234 -e REDIS_PORT_1234_TCP=tcp://192.168.1.52:6379`{.docutils
|
|
|
-+`--expose 1234 -e REDIS_PORT_1234_TCP=tcp://192.168.1.52:6379`{.docutils
|
|
|
- .literal} will forward the local `1234` port to the
|
|
|
- remote IP and port - in this case `192.168.1.52:6379`{.docutils
|
|
|
- .literal}.
|
|
|
-@@ -146,12 +144,12 @@ remote IP and port - in this case `192.168.1.52:6379`{.docutils
|
|
|
- # docker build -t SvenDowideit/ambassador .
|
|
|
- # docker tag SvenDowideit/ambassador ambassador
|
|
|
- # then to run it (on the host that has the real backend on it)
|
|
|
-- # docker run -t -i -link redis:redis -name redis_ambassador -p 6379:6379 ambassador
|
|
|
-+ # docker run -t -i --link redis:redis --name redis_ambassador -p 6379:6379 ambassador
|
|
|
- # on the remote host, you can set up another ambassador
|
|
|
-- # docker run -t -i -name redis_ambassador -expose 6379 sh
|
|
|
-+ # docker run -t -i --name redis_ambassador --expose 6379 sh
|
|
|
-
|
|
|
- FROM docker-ut
|
|
|
- MAINTAINER SvenDowideit@home.org.au
|
|
|
-
|
|
|
-
|
|
|
-- CMD env | grep _TCP= | sed 's/.*_PORT_\([0-9]*\)_TCP=tcp:\/\/\(.*\):\(.*\)/socat TCP4-LISTEN:\1,fork,reuseaddr TCP4:\2:\3 \&/' | sh && top
|
|
|
-\ No newline at end of file
|
|
|
-+ CMD env | grep _TCP= | sed 's/.*_PORT_\([0-9]*\)_TCP=tcp:\/\/\(.*\):\(.*\)/socat TCP4-LISTEN:\1,fork,reuseaddr TCP4:\2:\3 \&/' | sh && top
|
|
|
-diff --git a/docs/sources/use/basics.md b/docs/sources/use/basics.md
|
|
|
-index 1b10335..0abc8e7 100644
|
|
|
---- a/docs/sources/use/basics.md
|
|
|
-+++ b/docs/sources/use/basics.md
|
|
|
-@@ -37,7 +37,10 @@ hash `539c0211cd76: Download complete` which is the
|
|
|
- short form of the image ID. These short image IDs are the first 12
|
|
|
- characters of the full image ID - which can be found using
|
|
|
- `docker inspect` or
|
|
|
--`docker images -notrunc=true`
|
|
|
-+`docker images --no-trunc=true`
|
|
|
-+
|
|
|
-+**If you’re using OS X** then you shouldn’t use `sudo`{.docutils
|
|
|
-+.literal}
|
|
|
-
|
|
|
- ## Running an interactive shell
|
|
|
-
|
|
|
-diff --git a/docs/sources/use/host_integration.md b/docs/sources/use/host_integration.md
|
|
|
-index 50eae8b..a7dba9b 100644
|
|
|
---- a/docs/sources/use/host_integration.md
|
|
|
-+++ b/docs/sources/use/host_integration.md
|
|
|
-@@ -5,7 +5,8 @@ page_keywords: systemd, upstart, supervisor, docker, documentation, host integra
|
|
|
- # Automatically Start Containers
|
|
|
-
|
|
|
- You can use your Docker containers with process managers like
|
|
|
--`upstart`, `systemd`{.docutils .literal} and `supervisor`.
|
|
|
-+`upstart`, `systemd`{.docutils .literal} and
|
|
|
-+`supervisor`.
|
|
|
-
|
|
|
- ## Introduction
|
|
|
-
|
|
|
-@@ -15,21 +16,22 @@ docker will not automatically restart your containers when the host is
|
|
|
- restarted.
|
|
|
-
|
|
|
- When you have finished setting up your image and are happy with your
|
|
|
--running container, you may want to use a process manager to manage it.
|
|
|
-+running container, you can then attach a process manager to manage it.
|
|
|
- When your run `docker start -a` docker will
|
|
|
--automatically attach to the process and forward all signals so that the
|
|
|
--process manager can detect when a container stops and correctly restart
|
|
|
--it.
|
|
|
-+automatically attach to the running container, or start it if needed and
|
|
|
-+forward all signals so that the process manager can detect when a
|
|
|
-+container stops and correctly restart it.
|
|
|
-
|
|
|
- Here are a few sample scripts for systemd and upstart to integrate with
|
|
|
- docker.
|
|
|
-
|
|
|
- ## Sample Upstart Script
|
|
|
-
|
|
|
--In this example we’ve already created a container to run Redis with an
|
|
|
--id of 0a7e070b698b. To create an upstart script for our container, we
|
|
|
--create a file named `/etc/init/redis.conf` and place
|
|
|
--the following into it:
|
|
|
-+In this example we’ve already created a container to run Redis with
|
|
|
-+`--name redis_server`. To create an upstart script
|
|
|
-+for our container, we create a file named
|
|
|
-+`/etc/init/redis.conf` and place the following into
|
|
|
-+it:
|
|
|
-
|
|
|
- description "Redis container"
|
|
|
- author "Me"
|
|
|
-@@ -42,7 +44,7 @@ the following into it:
|
|
|
- while [ ! -e $FILE ] ; do
|
|
|
- inotifywait -t 2 -e create $(dirname $FILE)
|
|
|
- done
|
|
|
-- /usr/bin/docker start -a 0a7e070b698b
|
|
|
-+ /usr/bin/docker start -a redis_server
|
|
|
- end script
|
|
|
-
|
|
|
- Next, we have to configure docker so that it’s run with the option
|
|
|
-@@ -59,8 +61,8 @@ Next, we have to configure docker so that it’s run with the option
|
|
|
-
|
|
|
- [Service]
|
|
|
- Restart=always
|
|
|
-- ExecStart=/usr/bin/docker start -a 0a7e070b698b
|
|
|
-- ExecStop=/usr/bin/docker stop -t 2 0a7e070b698b
|
|
|
-+ ExecStart=/usr/bin/docker start -a redis_server
|
|
|
-+ ExecStop=/usr/bin/docker stop -t 2 redis_server
|
|
|
-
|
|
|
- [Install]
|
|
|
- WantedBy=local.target
|
|
|
-diff --git a/docs/sources/use/networking.md b/docs/sources/use/networking.md
|
|
|
-index e4cc5c5..56a9885 100644
|
|
|
---- a/docs/sources/use/networking.md
|
|
|
-+++ b/docs/sources/use/networking.md
|
|
|
-@@ -4,16 +4,15 @@ page_keywords: network, networking, bridge, docker, documentation
|
|
|
-
|
|
|
- # Configure Networking
|
|
|
-
|
|
|
--## Introduction
|
|
|
--
|
|
|
- Docker uses Linux bridge capabilities to provide network connectivity to
|
|
|
- containers. The `docker0` bridge interface is
|
|
|
- managed by Docker for this purpose. When the Docker daemon starts it :
|
|
|
-
|
|
|
--- creates the `docker0` bridge if not present
|
|
|
--- searches for an IP address range which doesn’t overlap with an existing route
|
|
|
--- picks an IP in the selected range
|
|
|
--- assigns this IP to the `docker0` bridge
|
|
|
-+- creates the `docker0` bridge if not present
|
|
|
-+- searches for an IP address range which doesn’t overlap with an
|
|
|
-+ existing route
|
|
|
-+- picks an IP in the selected range
|
|
|
-+- assigns this IP to the `docker0` bridge
|
|
|
-
|
|
|
- <!-- -->
|
|
|
-
|
|
|
-@@ -113,9 +112,9 @@ The value of the Docker daemon’s `icc` parameter
|
|
|
- determines whether containers can communicate with each other over the
|
|
|
- bridge network.
|
|
|
-
|
|
|
--- The default, `-icc=true` allows containers to
|
|
|
-+- The default, `--icc=true` allows containers to
|
|
|
- communicate with each other.
|
|
|
--- `-icc=false` means containers are isolated from
|
|
|
-+- `--icc=false` means containers are isolated from
|
|
|
- each other.
|
|
|
-
|
|
|
- Docker uses `iptables` under the hood to either
|
|
|
-@@ -137,6 +136,6 @@ ip link command) and the namespaces infrastructure.
|
|
|
-
|
|
|
- ## I want more
|
|
|
-
|
|
|
--Jérôme Petazzoni has create `pipework` to connect
|
|
|
-+Jérôme Petazzoni has created `pipework` to connect
|
|
|
- together containers in arbitrarily complex scenarios :
|
|
|
- [https://github.com/jpetazzo/pipework](https://github.com/jpetazzo/pipework)
|
|
|
-diff --git a/docs/sources/use/port_redirection.md b/docs/sources/use/port_redirection.md
|
|
|
-index 6970d0d..1c1b676 100644
|
|
|
---- a/docs/sources/use/port_redirection.md
|
|
|
-+++ b/docs/sources/use/port_redirection.md
|
|
|
-@@ -4,8 +4,6 @@ page_keywords: Usage, basic port, docker, documentation, examples
|
|
|
-
|
|
|
- # Redirect Ports
|
|
|
-
|
|
|
--## Introduction
|
|
|
--
|
|
|
- Interacting with a service is commonly done through a connection to a
|
|
|
- port. When this service runs inside a container, one can connect to the
|
|
|
- port after finding the IP address of the container as follows:
|
|
|
-@@ -74,7 +72,7 @@ port on the host machine bound to a given container port. It is useful
|
|
|
- when using dynamically allocated ports:
|
|
|
-
|
|
|
- # Bind to a dynamically allocated port
|
|
|
-- docker run -p 127.0.0.1::8080 -name dyn-bound <image> <cmd>
|
|
|
-+ docker run -p 127.0.0.1::8080 --name dyn-bound <image> <cmd>
|
|
|
-
|
|
|
- # Lookup the actual port
|
|
|
- docker port dyn-bound 8080
|
|
|
-@@ -105,18 +103,18 @@ started.
|
|
|
-
|
|
|
- Here is a full example. On `server`, the port of
|
|
|
- interest is exposed. The exposure is done either through the
|
|
|
--`-expose` parameter to the `docker run`{.docutils
|
|
|
-+`--expose` parameter to the `docker run`{.docutils
|
|
|
- .literal} command, or the `EXPOSE` build command in
|
|
|
- a Dockerfile:
|
|
|
-
|
|
|
- # Expose port 80
|
|
|
-- docker run -expose 80 -name server <image> <cmd>
|
|
|
-+ docker run --expose 80 --name server <image> <cmd>
|
|
|
-
|
|
|
- The `client` then links to the `server`{.docutils
|
|
|
- .literal}:
|
|
|
-
|
|
|
- # Link
|
|
|
-- docker run -name client -link server:linked-server <image> <cmd>
|
|
|
-+ docker run --name client --link server:linked-server <image> <cmd>
|
|
|
-
|
|
|
- `client` locally refers to `server`{.docutils
|
|
|
- .literal} as `linked-server`. The following
|
|
|
-@@ -137,4 +135,4 @@ port 80 of `server` and that `server`{.docutils
|
|
|
- .literal} is accessible at the IP address 172.17.0.8
|
|
|
-
|
|
|
- Note: Using the `-p` parameter also exposes the
|
|
|
--port..
|
|
|
-+port.
|
|
|
-diff --git a/docs/sources/use/puppet.md b/docs/sources/use/puppet.md
|
|
|
-index 55f16dd..b00346c 100644
|
|
|
---- a/docs/sources/use/puppet.md
|
|
|
-+++ b/docs/sources/use/puppet.md
|
|
|
-@@ -4,10 +4,12 @@ page_keywords: puppet, installation, usage, docker, documentation
|
|
|
-
|
|
|
- # Using Puppet
|
|
|
-
|
|
|
--> *Note:* Please note this is a community contributed installation path. The only
|
|
|
--> ‘official’ installation is using the
|
|
|
--> [*Ubuntu*](../../installation/ubuntulinux/#ubuntu-linux) installation
|
|
|
--> path. This version may sometimes be out of date.
|
|
|
-+Note
|
|
|
-+
|
|
|
-+Please note this is a community contributed installation path. The only
|
|
|
-+‘official’ installation is using the
|
|
|
-+[*Ubuntu*](../../installation/ubuntulinux/#ubuntu-linux) installation
|
|
|
-+path. This version may sometimes be out of date.
|
|
|
-
|
|
|
- ## Requirements
|
|
|
-
|
|
|
-diff --git a/docs/sources/use/working_with_links_names.md b/docs/sources/use/working_with_links_names.md
|
|
|
-index 3a12284..b41be0d 100644
|
|
|
---- a/docs/sources/use/working_with_links_names.md
|
|
|
-+++ b/docs/sources/use/working_with_links_names.md
|
|
|
-@@ -4,8 +4,6 @@ page_keywords: Examples, Usage, links, linking, docker, documentation, examples,
|
|
|
-
|
|
|
- # Link Containers
|
|
|
-
|
|
|
--## Introduction
|
|
|
--
|
|
|
- From version 0.6.5 you are now able to `name` a
|
|
|
- container and `link` it to another container by
|
|
|
- referring to its name. This will create a parent -\> child relationship
|
|
|
-@@ -15,12 +13,13 @@ where the parent container can see selected information about its child.
|
|
|
-
|
|
|
- New in version v0.6.5.
|
|
|
-
|
|
|
--You can now name your container by using the `-name`
|
|
|
--flag. If no name is provided, Docker will automatically generate a name.
|
|
|
--You can see this name using the `docker ps` command.
|
|
|
-+You can now name your container by using the `--name`{.docutils
|
|
|
-+.literal} flag. If no name is provided, Docker will automatically
|
|
|
-+generate a name. You can see this name using the `docker ps`{.docutils
|
|
|
-+.literal} command.
|
|
|
-
|
|
|
-- # format is "sudo docker run -name <container_name> <image_name> <command>"
|
|
|
-- $ sudo docker run -name test ubuntu /bin/bash
|
|
|
-+ # format is "sudo docker run --name <container_name> <image_name> <command>"
|
|
|
-+ $ sudo docker run --name test ubuntu /bin/bash
|
|
|
-
|
|
|
- # the flag "-a" Show all containers. Only running containers are shown by default.
|
|
|
- $ sudo docker ps -a
|
|
|
-@@ -32,9 +31,9 @@ You can see this name using the `docker ps` command.
|
|
|
- New in version v0.6.5.
|
|
|
-
|
|
|
- Links allow containers to discover and securely communicate with each
|
|
|
--other by using the flag `-link name:alias`.
|
|
|
-+other by using the flag `--link name:alias`.
|
|
|
- Inter-container communication can be disabled with the daemon flag
|
|
|
--`-icc=false`. With this flag set to
|
|
|
-+`--icc=false`. With this flag set to
|
|
|
- `false`, Container A cannot access Container B
|
|
|
- unless explicitly allowed via a link. This is a huge win for securing
|
|
|
- your containers. When two containers are linked together Docker creates
|
|
|
-@@ -52,9 +51,9 @@ communication is set to false.
|
|
|
- For example, there is an image called `crosbymichael/redis`{.docutils
|
|
|
- .literal} that exposes the port 6379 and starts the Redis server. Let’s
|
|
|
- name the container as `redis` based on that image
|
|
|
--and run it as daemon.
|
|
|
-+and run it as a daemon.
|
|
|
-
|
|
|
-- $ sudo docker run -d -name redis crosbymichael/redis
|
|
|
-+ $ sudo docker run -d --name redis crosbymichael/redis
|
|
|
-
|
|
|
- We can issue all the commands that you would expect using the name
|
|
|
- `redis`; start, stop, attach, using the name for our
|
|
|
-@@ -67,9 +66,9 @@ our Redis server we did not use the `-p` flag to
|
|
|
- publish the Redis port to the host system. Redis exposed port 6379 and
|
|
|
- this is all we need to establish a link.
|
|
|
-
|
|
|
-- $ sudo docker run -t -i -link redis:db -name webapp ubuntu bash
|
|
|
-+ $ sudo docker run -t -i --link redis:db --name webapp ubuntu bash
|
|
|
-
|
|
|
--When you specified `-link redis:db` you are telling
|
|
|
-+When you specified `--link redis:db` you are telling
|
|
|
- Docker to link the container named `redis` into this
|
|
|
- new container with the alias `db`. Environment
|
|
|
- variables are prefixed with the alias so that the parent container can
|
|
|
-@@ -101,8 +100,18 @@ Accessing the network information along with the environment of the
|
|
|
- child container allows us to easily connect to the Redis service on the
|
|
|
- specific IP and port in the environment.
|
|
|
-
|
|
|
-+Note
|
|
|
-+
|
|
|
-+These Environment variables are only set for the first process in the
|
|
|
-+container. Similarly, some daemons (such as `sshd`)
|
|
|
-+will scrub them when spawning shells for connection.
|
|
|
-+
|
|
|
-+You can work around this by storing the initial `env`{.docutils
|
|
|
-+.literal} in a file, or looking at `/proc/1/environ`{.docutils
|
|
|
-+.literal}.
|
|
|
-+
|
|
|
- Running `docker ps` shows the 2 containers, and the
|
|
|
--`webapp/db` alias name for the redis container.
|
|
|
-+`webapp/db` alias name for the Redis container.
|
|
|
-
|
|
|
- $ docker ps
|
|
|
- CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
|
|
|
-diff --git a/docs/sources/use/working_with_volumes.md b/docs/sources/use/working_with_volumes.md
|
|
|
-index 6cf57ee..542c715 100644
|
|
|
---- a/docs/sources/use/working_with_volumes.md
|
|
|
-+++ b/docs/sources/use/working_with_volumes.md
|
|
|
-@@ -4,27 +4,24 @@ page_keywords: Examples, Usage, volume, docker, documentation, examples
|
|
|
-
|
|
|
- # Share Directories via Volumes
|
|
|
-
|
|
|
--## Introduction
|
|
|
--
|
|
|
- A *data volume* is a specially-designated directory within one or more
|
|
|
- containers that bypasses the [*Union File
|
|
|
- System*](../../terms/layer/#ufs-def) to provide several useful features
|
|
|
- for persistent or shared data:
|
|
|
-
|
|
|
--- **Data volumes can be shared and reused between containers:**
|
|
|
-- This is the feature that makes data volumes so powerful. You can
|
|
|
-- use it for anything from hot database upgrades to custom backup or
|
|
|
-- replication tools. See the example below.
|
|
|
--- **Changes to a data volume are made directly:**
|
|
|
-- Without the overhead of a copy-on-write mechanism. This is good for
|
|
|
-- very large files.
|
|
|
--- **Changes to a data volume will not be included at the next commit:**
|
|
|
-- Because they are not recorded as regular filesystem changes in the
|
|
|
-- top layer of the [*Union File System*](../../terms/layer/#ufs-def)
|
|
|
--- **Volumes persist until no containers use them:**
|
|
|
-- As they are a reference counted resource. The container does not need to be
|
|
|
-- running to share its volumes, but running it can help protect it
|
|
|
-- against accidental removal via `docker rm`.
|
|
|
-+- **Data volumes can be shared and reused between containers.** This
|
|
|
-+ is the feature that makes data volumes so powerful. You can use it
|
|
|
-+ for anything from hot database upgrades to custom backup or
|
|
|
-+ replication tools. See the example below.
|
|
|
-+- **Changes to a data volume are made directly**, without the overhead
|
|
|
-+ of a copy-on-write mechanism. This is good for very large files.
|
|
|
-+- **Changes to a data volume will not be included at the next commit**
|
|
|
-+ because they are not recorded as regular filesystem changes in the
|
|
|
-+ top layer of the [*Union File System*](../../terms/layer/#ufs-def)
|
|
|
-+- **Volumes persist until no containers use them** as they are a
|
|
|
-+ reference counted resource. The container does not need to be
|
|
|
-+ running to share its volumes, but running it can help protect it
|
|
|
-+ against accidental removal via `docker rm`.
|
|
|
-
|
|
|
- Each container can have zero or more data volumes.
|
|
|
-
|
|
|
-@@ -43,7 +40,7 @@ container with two new volumes:
|
|
|
- This command will create the new container with two new volumes that
|
|
|
- exits instantly (`true` is pretty much the smallest,
|
|
|
- simplest program that you can run). Once created you can mount its
|
|
|
--volumes in any other container using the `-volumes-from`{.docutils
|
|
|
-+volumes in any other container using the `--volumes-from`{.docutils
|
|
|
- .literal} option; irrespective of whether the container is running or
|
|
|
- not.
|
|
|
-
|
|
|
-@@ -51,7 +48,7 @@ Or, you can use the VOLUME instruction in a Dockerfile to add one or
|
|
|
- more new volumes to any container created from that image:
|
|
|
-
|
|
|
- # BUILD-USING: docker build -t data .
|
|
|
-- # RUN-USING: docker run -name DATA data
|
|
|
-+ # RUN-USING: docker run --name DATA data
|
|
|
- FROM busybox
|
|
|
- VOLUME ["/var/volume1", "/var/volume2"]
|
|
|
- CMD ["/bin/true"]
|
|
|
-@@ -66,20 +63,20 @@ it.
|
|
|
- Create a named container with volumes to share (`/var/volume1`{.docutils
|
|
|
- .literal} and `/var/volume2`):
|
|
|
-
|
|
|
-- $ docker run -v /var/volume1 -v /var/volume2 -name DATA busybox true
|
|
|
-+ $ docker run -v /var/volume1 -v /var/volume2 --name DATA busybox true
|
|
|
-
|
|
|
- Then mount those data volumes into your application containers:
|
|
|
-
|
|
|
-- $ docker run -t -i -rm -volumes-from DATA -name client1 ubuntu bash
|
|
|
-+ $ docker run -t -i --rm --volumes-from DATA --name client1 ubuntu bash
|
|
|
-
|
|
|
--You can use multiple `-volumes-from` parameters to
|
|
|
-+You can use multiple `--volumes-from` parameters to
|
|
|
- bring together multiple data volumes from multiple containers.
|
|
|
-
|
|
|
- Interestingly, you can mount the volumes that came from the
|
|
|
- `DATA` container in yet another container via the
|
|
|
- `client1` middleman container:
|
|
|
-
|
|
|
-- $ docker run -t -i -rm -volumes-from client1 -name client2 ubuntu bash
|
|
|
-+ $ docker run -t -i --rm --volumes-from client1 --name client2 ubuntu bash
|
|
|
-
|
|
|
- This allows you to abstract the actual data source from users of that
|
|
|
- data, similar to
|
|
|
-@@ -136,9 +133,9 @@ because they are external to images. Instead you can use
|
|
|
- `--volumes-from` to start a new container that can
|
|
|
- access the data-container’s volume. For example:
|
|
|
-
|
|
|
-- $ sudo docker run -rm --volumes-from DATA -v $(pwd):/backup busybox tar cvf /backup/backup.tar /data
|
|
|
-+ $ sudo docker run --rm --volumes-from DATA -v $(pwd):/backup busybox tar cvf /backup/backup.tar /data
|
|
|
-
|
|
|
--- `-rm` - remove the container when it exits
|
|
|
-+- `--rm` - remove the container when it exits
|
|
|
- - `--volumes-from DATA` - attach to the volumes
|
|
|
- shared by the `DATA` container
|
|
|
- - `-v $(pwd):/backup` - bind mount the current
|
|
|
-@@ -153,13 +150,13 @@ Then to restore to the same container, or another that you’ve made
|
|
|
- elsewhere:
|
|
|
-
|
|
|
- # create a new data container
|
|
|
-- $ sudo docker run -v /data -name DATA2 busybox true
|
|
|
-+ $ sudo docker run -v /data --name DATA2 busybox true
|
|
|
- # untar the backup files into the new container's data volume
|
|
|
-- $ sudo docker run -rm --volumes-from DATA2 -v $(pwd):/backup busybox tar xvf /backup/backup.tar
|
|
|
-+ $ sudo docker run --rm --volumes-from DATA2 -v $(pwd):/backup busybox tar xvf /backup/backup.tar
|
|
|
- data/
|
|
|
- data/sven.txt
|
|
|
- # compare to the original container
|
|
|
-- $ sudo docker run -rm --volumes-from DATA -v `pwd`:/backup busybox ls /data
|
|
|
-+ $ sudo docker run --rm --volumes-from DATA -v `pwd`:/backup busybox ls /data
|
|
|
- sven.txt
|
|
|
-
|
|
|
- You can use the basic techniques above to automate backup, migration and
|
|
|
-diff --git a/docs/sources/use/workingwithrepository.md b/docs/sources/use/workingwithrepository.md
|
|
|
-index bd0e274..1cfec63 100644
|
|
|
---- a/docs/sources/use/workingwithrepository.md
|
|
|
-+++ b/docs/sources/use/workingwithrepository.md
|
|
|
-@@ -4,8 +4,6 @@ page_keywords: repo, repositories, usage, pull image, push image, image, documen
|
|
|
-
|
|
|
- # Share Images via Repositories
|
|
|
-
|
|
|
--## Introduction
|
|
|
--
|
|
|
- A *repository* is a shareable collection of tagged
|
|
|
- [*images*](../../terms/image/#image-def) that together create the file
|
|
|
- systems for containers. The repository’s name is a label that indicates
|
|
|
-@@ -27,14 +25,12 @@ repositories. You can host your own Registry too! Docker acts as a
|
|
|
- client for these services via `docker search, pull, login`{.docutils
|
|
|
- .literal} and `push`.
|
|
|
-
|
|
|
--## Repositories
|
|
|
--
|
|
|
--### Local Repositories
|
|
|
-+## Local Repositories
|
|
|
-
|
|
|
- Docker images which have been created and labeled on your local Docker
|
|
|
- server need to be pushed to a Public or Private registry to be shared.
|
|
|
-
|
|
|
--### Public Repositories
|
|
|
-+## Public Repositories
|
|
|
-
|
|
|
- There are two types of public repositories: *top-level* repositories
|
|
|
- which are controlled by the Docker team, and *user* repositories created
|
|
|
-@@ -67,7 +63,7 @@ user name or description:
|
|
|
-
|
|
|
- Search the docker index for images
|
|
|
-
|
|
|
-- -notrunc=false: Don't truncate output
|
|
|
-+ --no-trunc=false: Don't truncate output
|
|
|
- $ sudo docker search centos
|
|
|
- Found 25 results matching your query ("centos")
|
|
|
- NAME DESCRIPTION
|
|
|
-@@ -204,7 +200,7 @@ See also
|
|
|
- [Docker Blog: How to use your own
|
|
|
- registry](http://blog.docker.io/2013/07/how-to-use-your-own-registry/)
|
|
|
-
|
|
|
--## Authentication File
|
|
|
-+## Authentication file
|
|
|
-
|
|
|
- The authentication is stored in a json file, `.dockercfg`{.docutils
|
|
|
- .literal} located in your home directory. It supports multiple registry
|