1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00

Creating Engine specific menu

Fixing the links
Updating with Seb's comments
Adding weight
Fixing the engine aliases
Updating after Arun pushed
Removing empty file

Signed-off-by: Mary Anthony <mary@docker.com>
This commit is contained in:
Mary Anthony 2016-01-23 20:36:40 -08:00
parent e23ea05e11
commit e310d070f4
125 changed files with 695 additions and 1331 deletions

View file

@ -1,18 +1,17 @@
<!--[metadata]>
+++
aliases = ["/engine/articles/ambassador_pattern_linking/"]
title = "Link via an ambassador container"
description = "Using the Ambassador pattern to abstract (network) services"
keywords = ["Examples, Usage, links, docker, documentation, examples, names, name, container naming"]
[menu.main]
parent = "smn_administrate"
parent = "engine_admin"
weight = 6
+++
<![end-metadata]-->
# Link via an ambassador container
## Introduction
Rather than hardcoding network links between a service consumer and
provider, Docker encourages service portability, for example instead of:

View file

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

View file

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 35 KiB

View file

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

View file

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View file

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 76 KiB

View file

Before

Width:  |  Height:  |  Size: 70 KiB

After

Width:  |  Height:  |  Size: 70 KiB

View file

Before

Width:  |  Height:  |  Size: 9.4 KiB

After

Width:  |  Height:  |  Size: 9.4 KiB

View file

@ -1,10 +1,11 @@
<!--[metadata]>
+++
aliases = ["/engine/articles/cfengine/"]
title = "Process management with CFEngine"
description = "Managing containerized processes with CFEngine"
keywords = ["cfengine, process, management, usage, docker, documentation"]
[menu.main]
parent = "smn_third_party"
parent = "engine_admin"
+++
<![end-metadata]-->

View file

@ -1,10 +1,11 @@
<!--[metadata]>
+++
aliases = ["/engine/articles/chef/"]
title = "Using Chef"
description = "Installation and using Docker via Chef"
keywords = ["chef, installation, usage, docker, documentation"]
[menu.main]
parent = "smn_third_party"
parent = "engine_admin"
+++
<![end-metadata]-->

View file

@ -1,10 +1,11 @@
<!--[metadata]>
+++
aliases = ["/engine/articles/configuring/"]
title = "Configuring and running Docker"
description = "Configuring and running the Docker daemon on various distributions"
keywords = ["docker, daemon, configuration, running, process managers"]
[menu.main]
parent = "smn_administrate"
parent = "engine_admin"
weight = 3
+++
<![end-metadata]-->
@ -65,7 +66,7 @@ with explanations.
As of `14.04`, Ubuntu uses Upstart as a process manager. By default, Upstart jobs
are located in `/etc/init` and the `docker` Upstart job can be found at `/etc/init/docker.conf`.
After successfully [installing Docker for Ubuntu](../installation/ubuntulinux.md),
After successfully [installing Docker for Ubuntu](../installation/linux/ubuntulinux.md),
you can check the running status using Upstart in this way:
$ sudo status docker
@ -154,7 +155,7 @@ can be located at `/var/log/upstart/docker.log`
As of `7.x`, CentOS and RHEL use `systemd` as the process manager. As of `21`, Fedora uses
`systemd` as its process manager.
After successfully installing Docker for [CentOS](../installation/centos.md)/[Red Hat Enterprise Linux](../installation/rhel.md)/[Fedora](../installation/fedora.md), you can check the running status in this way:
After successfully installing Docker for [CentOS](../installation/linux/centos.md)/[Red Hat Enterprise Linux](../installation/linux/rhel.md)/[Fedora](../installation/linux/fedora.md), you can check the running status in this way:
$ sudo systemctl status docker
@ -176,13 +177,13 @@ If you want Docker to start at boot, you should also:
For CentOS 7.x and RHEL 7.x you can [control and configure Docker with systemd](systemd.md).
Previously, for CentOS 6.x and RHEL 6.x you would configure the `docker` daemon in
the `/etc/sysconfig/docker` file on your system. You would do this by specifying
values in a `other_args` variable. For a short time in CentOS 7.x and RHEL 7.x you
would specify values in a `OPTIONS` variable. This is no longer recommended in favor
of using systemd directly.
Previously, for CentOS 6.x and RHEL 6.x you would configure the `docker` daemon in
the `/etc/sysconfig/docker` file on your system. You would do this by specifying
values in a `other_args` variable. For a short time in CentOS 7.x and RHEL 7.x you
would specify values in a `OPTIONS` variable. This is no longer recommended in favor
of using systemd directly.
For this section, we will use CentOS 7.x as an example to configure the `docker` daemon.
For this section, we will use CentOS 7.x as an example to configure the `docker` daemon.
To configure Docker options:
@ -202,8 +203,8 @@ To configure Docker options:
$ sudo vi /etc/systemd/system/docker.service.d/docker.conf
```
5. Override the `ExecStart` configuration from your `docker.service` file to customize
the `docker` daemon. To modify the `ExecStart` configuration you have to specify
5. Override the `ExecStart` configuration from your `docker.service` file to customize
the `docker` daemon. To modify the `ExecStart` configuration you have to specify
an empty configuration followed by a new one as follows:
```

View file

@ -1,10 +1,11 @@
<!--[metadata]>
+++
aliases = ["/engine/articles/dsc/"]
title = "PowerShell DSC Usage"
description = "Using DSC to configure a new Docker host"
keywords = ["powershell, dsc, installation, usage, docker, documentation"]
[menu.main]
parent = "smn_win_osx"
parent = "engine_admin"
+++
<![end-metadata]-->

View file

@ -1,10 +1,11 @@
<!--[metadata]>
+++
aliases = ["/engine/articles/host_integration/"]
title = "Automatically start containers"
description = "How to generate scripts for upstart, systemd, etc."
keywords = ["systemd, upstart, supervisor, docker, documentation, host integration"]
[menu.main]
parent = "smn_administrate"
parent = "engine_admin"
+++
<![end-metadata]-->

11
docs/admin/index.md Normal file
View file

@ -0,0 +1,11 @@
<!-- [metadata]>
+++
title = "Administrate"
description = "Administrate"
keywords = ["Administrate"]
[menu.main]
parent="engine_use"
identifier="engine_admin"
weight="-70"
+++
<![end-metadata]-->

View file

@ -1,5 +1,6 @@
<!--[metadata]>
+++
aliases = ["/engine/reference/logging/awslogs/"]
title = "Amazon CloudWatch Logs logging driver"
description = "Describes how to use the Amazon CloudWatch Logs logging driver."
keywords = ["AWS, Amazon, CloudWatch, logging, driver"]
@ -87,5 +88,3 @@ and `logs:PutLogEvents` actions, as shown in the following example.
}
]
}

View file

@ -1,5 +1,6 @@
<!--[metadata]>
+++
aliases = ["/engine/reference/logging/fluentd/"]
title = "Fluentd logging driver"
description = "Describes how to use the fluentd logging driver."
keywords = ["Fluentd, docker, logging, driver"]

View file

@ -1,10 +1,11 @@
<!--[metadata]>
+++
aliases = ["/engine/reference/logging/"]
title = "Logging"
description = "Logging and Logging Drivers"
keywords = [" docker, logging, driver"]
[menu.main]
parent = "smn_administrate"
parent = "engine_admin"
identifier = "smn_logging"
weight=8
+++

View file

@ -1,5 +1,6 @@
<!--[metadata]>
+++
aliases = ["/engine/reference/logging/journald/"]
title = "journald logging driver"
description = "Describes how to use the fluentd logging driver."
keywords = ["Fluentd, docker, logging, driver"]

View file

@ -1,5 +1,6 @@
<!--[metadata]>
+++
aliases = ["/engine/reference/logging/log_tags/"]
title = "Log tags for logging driver"
description = "Describes how to format tags for."
keywords = ["docker, logging, driver, syslog, Fluentd, gelf"]

View file

@ -1,5 +1,6 @@
<!--[metadata]>
+++
aliases = ["/engine/reference/logging/overview/"]
title = "Configuring Logging Drivers"
description = "Configure logging driver."
keywords = ["docker, logging, driver, Fluentd"]

View file

@ -1,5 +1,6 @@
<!--[metadata]>
+++
aliases = ["/engine/reference/logging/splunk/"]
title = "Splunk logging driver"
description = "Describes how to use the Splunk logging driver."
keywords = ["splunk, docker, logging, driver"]

View file

@ -1,10 +1,11 @@
<!--[metadata]>
+++
aliases = ["/engine/articles/puppet/"]
title = "Using Puppet"
description = "Installing and using Puppet"
keywords = ["puppet, installation, usage, docker, documentation"]
[menu.main]
parent = "smn_third_party"
parent = "engine_admin"
+++
<![end-metadata]-->
@ -12,7 +13,7 @@ parent = "smn_third_party"
> *Note:* Please note this is a community contributed installation path. The
> only `official` installation is using the
> [*Ubuntu*](../installation/ubuntulinux.md) installation
> [*Ubuntu*](../installation/linux/ubuntulinux.md) installation
> path. This version may sometimes be out of date.
## Requirements

View file

@ -1,10 +1,11 @@
<!--[metadata]>
+++
aliases = ["/engine/articles/registry_mirror/"]
title = "Run a local registry mirror"
description = "How to set up and run a local registry mirror"
keywords = ["docker, registry, mirror, examples"]
[menu.main]
parent = "mn_docker_hub"
parent = "engine_admin"
weight = 8
+++
<![end-metadata]-->
@ -15,4 +16,4 @@ The original content was deprecated. [An archived
version](https://docs.docker.com/v1.6/articles/registry_mirror) is available in
the 1.7 documentation. For information about configuring mirrors with the latest
Docker Registry version, please file a support request with [the Distribution
project](https://github.com/docker/distribution/issues).
project](https://github.com/docker/distribution/issues).

View file

@ -1,10 +1,11 @@
<!--[metadata]>
+++
aliases = ["/engine/articles/run_metrics"]
title = "Runtime metrics"
description = "Measure the behavior of running containers"
keywords = ["docker, metrics, CPU, memory, disk, IO, run, runtime, stats"]
[menu.main]
parent = "smn_administrate"
parent = "engine_admin"
weight = 4
+++
<![end-metadata]-->

View file

@ -1,11 +1,11 @@
<!--[metadata]>
+++
aliases = ["/engine/reference/logging/systemd/"]
title = "Control and configure Docker with systemd"
description = "Controlling and configuring Docker using systemd"
keywords = ["docker, daemon, systemd, configuration"]
[menu.main]
parent = "smn_administrate"
weight = 7
parent = "engine_admin"
+++
<![end-metadata]-->

View file

@ -1,10 +1,11 @@
<!--[metadata]>
+++
aliases = ["/engine/articles/using_supervisord/"]
title = "Using Supervisor with Docker"
description = "How to use Supervisor process management with Docker"
keywords = ["docker, supervisor, process management"]
[menu.main]
parent = "smn_third_party"
parent = "engine_admin"
+++
<![end-metadata]-->

10
docs/articles/index.md Normal file
View file

@ -0,0 +1,10 @@
<!--[metadata]>
+++
title = "Applied Docker"
description = "How to use Docker"
keywords = ["docker, examples, process management"]
[menu.main]
identifier = "engine_admin"
parent="engine_use"
+++
<![end-metadata]-->

View file

@ -1,16 +1,18 @@
<!--[metadata]>
+++
title = "Docker Deprecated Features"
aliases = ["/engine/misc/deprecated/"]
title = "Deprecated Engine Features"
description = "Deprecated Features."
keywords = ["docker, documentation, about, technology, deprecate"]
[menu.main]
parent = "mn_use_docker"
parent = "engine_use"
weight=80
+++
<![end-metadata]-->
# Deprecated Features
# Deprecated Engine Features
The following list of features are deprecated.
The following list of features are deprecated in Engine.
### Ambiguous event fields in API
**Deprecated In Release: v1.10**

View file

@ -4,13 +4,13 @@ title = "Dockerizing an apt-cacher-ng service"
description = "Installing and running an apt-cacher-ng service"
keywords = ["docker, example, package installation, networking, debian, ubuntu"]
[menu.main]
parent = "smn_applied"
parent = "engine_dockerize"
+++
<![end-metadata]-->
# Dockerizing an apt-cacher-ng service
> **Note**:
> **Note**:
> - **If you don't like sudo** then see [*Giving non-root
> access*](../installation/binaries.md#giving-non-root-access).
> - **If you're using OS X or docker via TCP** then you shouldn't use

View file

@ -4,7 +4,7 @@ title = "Dockerizing a Couchbase service"
description = "Dockerizing a Couchbase service"
keywords = ["docker, example, package installation, networking, couchbase"]
[menu.main]
parent = "smn_applied"
parent = "engine_dockerize"
+++
<![end-metadata]-->
@ -62,7 +62,7 @@ curl -v -X POST http://192.168.99.100:8091/pools/default -d memoryQuota=300 -d i
> Accept: */*
> Content-Length: 36
> Content-Type: application/x-www-form-urlencoded
>
>
* upload completely sent off: 36 out of 36 bytes
< HTTP/1.1 401 Unauthorized
< WWW-Authenticate: Basic realm="Couchbase Server Admin / REST"
@ -72,7 +72,7 @@ curl -v -X POST http://192.168.99.100:8091/pools/default -d memoryQuota=300 -d i
< Date: Wed, 25 Nov 2015 22:48:16 GMT
< Content-Length: 0
< Cache-Control: no-cache
<
<
* Connection #0 to host 192.168.99.100 left intact
```
@ -93,7 +93,7 @@ curl -v http://192.168.99.100:8091/node/controller/setupServices -d 'services=kv
> Accept: */*
> Content-Length: 26
> Content-Type: application/x-www-form-urlencoded
>
>
* upload completely sent off: 26 out of 26 bytes
< HTTP/1.1 200 OK
* Server Couchbase Server is not blacklisted
@ -102,7 +102,7 @@ curl -v http://192.168.99.100:8091/node/controller/setupServices -d 'services=kv
< Date: Wed, 25 Nov 2015 22:49:51 GMT
< Content-Length: 0
< Cache-Control: no-cache
<
<
* Connection #0 to host 192.168.99.100 left intact
```
@ -123,7 +123,7 @@ curl -v -X POST http://192.168.99.100:8091/settings/web -d port=8091 -d username
> Accept: */*
> Content-Length: 50
> Content-Type: application/x-www-form-urlencoded
>
>
* upload completely sent off: 50 out of 50 bytes
< HTTP/1.1 200 OK
* Server Couchbase Server is not blacklisted
@ -133,7 +133,7 @@ curl -v -X POST http://192.168.99.100:8091/settings/web -d port=8091 -d username
< Content-Type: application/json
< Content-Length: 44
< Cache-Control: no-cache
<
<
* Connection #0 to host 192.168.99.100 left intact
{"newBaseUri":"http://192.168.99.100:8091/"}
```
@ -157,7 +157,7 @@ curl -v -u Administrator:password -X POST http://192.168.99.100:8091/sampleBucke
> Accept: */*
> Content-Length: 17
> Content-Type: application/x-www-form-urlencoded
>
>
* upload completely sent off: 17 out of 17 bytes
< HTTP/1.1 202 Accepted
* Server Couchbase Server is not blacklisted
@ -167,7 +167,7 @@ curl -v -u Administrator:password -X POST http://192.168.99.100:8091/sampleBucke
< Content-Type: application/json
< Content-Length: 2
< Cache-Control: no-cache
<
<
* Connection #0 to host 192.168.99.100 left intact
[]
```

View file

@ -4,7 +4,7 @@ title = "Dockerizing a CouchDB service"
description = "Sharing data between 2 couchdb databases"
keywords = ["docker, example, package installation, networking, couchdb, data volumes"]
[menu.main]
parent = "smn_applied"
parent = "engine_dockerize"
+++
<![end-metadata]-->

View file

@ -1,16 +1,16 @@
<!--[metadata]>
+++
title = "Applied Docker"
title = "Dockerize an application"
description = "Provides examples for using Docker"
keywords = ["dockerize, dockerizing apps, dockerizing applications, container, containers"]
[menu.main]
identifier = "smn_applied"
parent = "mn_use_docker"
weight = 8
identifier = "engine_dockerize"
parent="engine_use"
weight = 8
+++
<![end-metadata]-->
# Examples
# Dockerize an application
This section contains the following:
@ -20,4 +20,4 @@ This section contains the following:
* [Dockerizing a Node.js web app](nodejs_web_app.md)
* [Dockerizing a Redis service](running_redis_service.md)
* [Dockerizing an apt-cacher-ng service](apt-cacher-ng.md)
* [Dockerizing applications: A 'Hello world'](../userguide/dockerizing.md)
* [Dockerizing applications: A 'Hello world'](../userguide/containers/dockerizing.md)

View file

@ -4,7 +4,7 @@ title = "Dockerizing MongoDB"
description = "Creating a Docker image with MongoDB pre-installed using a Dockerfile and sharing the image on Docker Hub"
keywords = ["docker, dockerize, dockerizing, article, example, docker.io, platform, package, installation, networking, mongodb, containers, images, image, sharing, dockerfile, build, auto-building, framework"]
[menu.main]
parent = "smn_applied"
parent = "engine_dockerize"
+++
<![end-metadata]-->
@ -173,5 +173,5 @@ the exposed port to two different ports on the host
$ mongo --port 28002
- [Linking containers](../userguide/networking/default_network/dockerlinks.md)
- [Cross-host linking containers](../articles/ambassador_pattern_linking.md)
- [Cross-host linking containers](../admin/ambassador_pattern_linking.md)
- [Creating an Automated Build](https://docs.docker.com/docker-hub/builds/)

View file

@ -4,7 +4,7 @@ title = "Dockerizing a Node.js web app"
description = "Installing and running a Node.js app with Docker"
keywords = ["docker, example, package installation, node, centos"]
[menu.main]
parent = "smn_applied"
parent = "engine_dockerize"
+++
<![end-metadata]-->

View file

@ -4,7 +4,7 @@ title = "Dockerizing PostgreSQL"
description = "Running and installing a PostgreSQL service"
keywords = ["docker, example, package installation, postgresql"]
[menu.main]
parent = "smn_applied"
parent = "engine_dockerize"
+++
<![end-metadata]-->

View file

@ -4,7 +4,7 @@ title = "Dockerizing a Redis service"
description = "Installing and running an redis service"
keywords = ["docker, example, package installation, networking, redis"]
[menu.main]
parent = "smn_applied"
parent = "engine_dockerize"
+++
<![end-metadata]-->

View file

@ -4,7 +4,7 @@ title = "Dockerizing a Riak service"
description = "Build a Docker image with Riak pre-installed"
keywords = ["docker, example, package installation, networking, riak"]
[menu.main]
parent = "smn_apps_servs"
parent = "engine_dockerize"
+++
<![end-metadata]-->
@ -26,7 +26,7 @@ of. We'll use [Ubuntu](https://registry.hub.docker.com/_/ubuntu/) (tag:
# Riak
#
# VERSION 0.1.1
# Use the Ubuntu base image provided by dotCloud
FROM ubuntu:trusty
MAINTAINER Hector Castro hector@basho.com
@ -51,9 +51,9 @@ Then we install and setup a few dependencies:
apt-get install -y supervisor riak=2.0.5-1
RUN mkdir -p /var/log/supervisor
RUN locale-gen en_US en_US.UTF-8
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
After that, we modify Riak's configuration:
@ -82,7 +82,7 @@ Populate it with the following program definitions:
[supervisord]
nodaemon=true
[program:riak]
command=bash -c "/usr/sbin/riak console"
numprocs=1

View file

@ -4,7 +4,7 @@ title = "Dockerizing an SSH service"
description = "Installing and running an SSHd service on Docker"
keywords = ["docker, example, package installation, networking"]
[menu.main]
parent = "smn_apps_servs"
parent = "engine_dockerize"
+++
<![end-metadata]-->

View file

@ -4,7 +4,7 @@ title = "Access authorization plugin"
description = "How to create authorization plugins to manage access control to your Docker daemon."
keywords = ["security, authorization, authentication, docker, documentation, plugin, extend"]
[menu.main]
parent = "mn_extend"
parent = "engine_extend"
weight = -1
+++
<![end-metadata]-->
@ -41,8 +41,8 @@ on both the current authentication context and the command context. The
authentication context contains all user details and the authentication method.
The command context contains all the relevant request data.
Authorization plugins must follow the rules described in [Docker Plugin API](plugin_api.md).
Each plugin must reside within directories described under the
Authorization plugins must follow the rules described in [Docker Plugin API](plugin_api.md).
Each plugin must reside within directories described under the
[Plugin discovery](plugin_api.md#plugin-discovery) section.
**Note**: the abbreviations `AuthZ` and `AuthN` mean authorization and authentication
@ -90,7 +90,7 @@ configure proper authentication and security policies.
## Docker client flows
To enable and configure the authorization plugin, the plugin developer must
To enable and configure the authorization plugin, the plugin developer must
support the Docker client interactions detailed in this section.
### Setting up Docker daemon
@ -132,7 +132,7 @@ docker: Error response from daemon: plugin PLUGIN_NAME failed with error: AuthZP
## API schema and implementation
In addition to Docker's standard plugin registration method, each plugin
In addition to Docker's standard plugin registration method, each plugin
should implement the following two methods:
* `/AuthzPlugin.AuthZReq` This authorize request method is called before the Docker daemon processes the client request.
@ -198,7 +198,7 @@ should implement the following two methods:
The modified response enables the authorization plugin to manipulate the content
of the HTTP response. In case of more than one plugin, each subsequent plugin
receives a response (optionally) modified by a previous plugin.
receives a response (optionally) modified by a previous plugin.
### Request authorization

View file

@ -1,19 +1,19 @@
<!--[metadata]>
+++
title = "Extend Docker"
description = "How to extend Docker with plugins"
title = "Extend Engine"
description = "How to extend Docker Engine with plugins"
keywords = ["extend, plugins, docker, documentation, developer"]
[menu.main]
identifier = "mn_extend"
name = "Extend Docker"
identifier = "engine_extend"
parent = "engine_use"
weight = 6
+++
<![end-metadata]-->
## Extending Docker
## Extending Docker Engine
Currently, you can extend Docker by adding a plugin. This section contains the following topics:
Currently, you can extend Docker Engine by adding a plugin. This section contains the following topics:
* [Understand Docker plugins](plugins.md)
* [Write a volume plugin](plugins_volume.md)

View file

@ -4,7 +4,7 @@ title = "Plugins API"
description = "How to write Docker plugins extensions "
keywords = ["API, Usage, plugins, documentation, developer"]
[menu.main]
parent = "mn_extend"
parent = "engine_extend"
weight=1
+++
<![end-metadata]-->

View file

@ -1,15 +1,15 @@
<!--[metadata]>
+++
title = "Extending Docker with plugins"
title = "Extending Engine with plugins"
description = "How to add additional functionality to Docker with plugins extensions"
keywords = ["Examples, Usage, plugins, docker, documentation, user guide"]
[menu.main]
parent = "mn_extend"
parent = "engine_extend"
weight=-1
+++
<![end-metadata]-->
# Understand Docker plugins
# Understand Engine plugins
You can extend the capabilities of the Docker Engine by loading third-party
plugins. This page explains the types of plugins and provides links to several
@ -65,7 +65,7 @@ The following plugins exist:
* The [REX-Ray plugin](https://github.com/emccode/rexray) is a volume plugin
which is written in Go and provides advanced storage functionality for many
platforms including VirtualBox, EC2, Google Compute Engine, OpenStack, and EMC.
* The [Contiv Volume Plugin](https://github.com/contiv/volplugin) is an open
source volume plugin that provides multi-tenant, persistent, distributed storage
with intent based consumption using ceph underneath.

View file

@ -4,19 +4,19 @@ title = "Docker network driver plugins"
description = "Network driver plugins."
keywords = ["Examples, Usage, plugins, docker, documentation, user guide"]
[menu.main]
parent = "mn_extend"
parent = "engine_extend"
+++
<![end-metadata]-->
# Docker network driver plugins
# Engine network driver plugins
Docker network plugins enable Docker deployments to be extended to support a
wide range of networking technologies, such as VXLAN, IPVLAN, MACVLAN or
something completely different. Network driver plugins are supported via the
Docker Engine network plugins enable Engine deployments to be extended to
support a wide range of networking technologies, such as VXLAN, IPVLAN, MACVLAN
or something completely different. Network driver plugins are supported via the
LibNetwork project. Each plugin is implemented asa "remote driver" for
LibNetwork, which shares plugin infrastructure with Docker. Effectively,
network driver plugins are activated in the same way as other plugins, and use
the same kind of protocol.
LibNetwork, which shares plugin infrastructure with Engine. Effectively, network
driver plugins are activated in the same way as other plugins, and use the same
kind of protocol.
## Using network driver plugins

View file

@ -4,32 +4,32 @@ title = "Volume plugins"
description = "How to manage data with external volume plugins"
keywords = ["Examples, Usage, volume, docker, data, volumes, plugin, api"]
[menu.main]
parent = "mn_extend"
parent = "engine_extend"
+++
<![end-metadata]-->
# Write a volume plugin
Docker volume plugins enable Docker deployments to be integrated with external
storage systems, such as Amazon EBS, and enable data volumes to persist beyond
the lifetime of a single Docker host. See the [plugin documentation](plugins.md)
for more information.
Docker Engine volume plugins enable Engine deployments to be integrated with
external storage systems, such as Amazon EBS, and enable data volumes to persist
beyond the lifetime of a single Engine host. See the [plugin
documentation](plugins.md) for more information.
## Command-line changes
A volume plugin makes use of the `-v`and `--volume-driver` flag on the `docker run` command. The `-v` flag accepts a volume name and the `--volume-driver` flag a driver type, for example:
A volume plugin makes use of the `-v`and `--volume-driver` flag on the `docker run` command. The `-v` flag accepts a volume name and the `--volume-driver` flag a driver type, for example:
$ docker run -ti -v volumename:/data --volume-driver=flocker busybox sh
This command passes the `volumename` through to the volume plugin as a
user-given name for the volume. The `volumename` must not begin with a `/`.
user-given name for the volume. The `volumename` must not begin with a `/`.
By having the user specify a `volumename`, a plugin can associate the volume
with an external volume beyond the lifetime of a single container or container
host. This can be used, for example, to move a stateful container from one
server to another.
By specifying a `volumedriver` in conjunction with a `volumename`, users can use plugins such as [Flocker](https://clusterhq.com/docker-plugin/) to manage volumes external to a single host, such as those on EBS.
By specifying a `volumedriver` in conjunction with a `volumename`, users can use plugins such as [Flocker](https://clusterhq.com/docker-plugin/) to manage volumes external to a single host, such as those on EBS.
## Create a VolumeDriver
@ -214,4 +214,3 @@ Get the list of volumes registered with the plugin.
```
Respond with a string error if an error occurred.

View file

@ -1,11 +1,12 @@
<!--[metadata]>
+++
aliases = ["/engine/misc/faq/"]
title = "FAQ"
description = "Most frequently asked questions."
keywords = ["faq, questions, documentation, docker"]
[menu.main]
parent = "mn_about"
weight = 3
parent = "engine_use"
weight = 80
+++
<![end-metadata]-->
@ -17,9 +18,9 @@ repo](https://github.com/docker/docker) and contribute them yourself by editing
the documentation sources.
### How much does Docker cost?
### How much does Engine cost?
Docker is 100% free. It is open source, so you can use it without paying.
Docker Engine is 100% free. It is open source, so you can use it without paying.
### What open source license are you using?
@ -29,14 +30,14 @@ https://github.com/docker/docker/blob/master/LICENSE)
### Does Docker run on Mac OS X or Windows?
Docker currently runs only 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.md) and [*Microsoft
Windows*](../installation/windows.md) installation guides. The small Linux
Docker Engine currently runs only on Linux, but you can use VirtualBox to run
Engine in a virtual machine on your box, and get the best of both worlds. Check
out the [*Mac OS X*](installation/mac.md) and [*Microsoft
Windows*](installation/windows.md) installation guides. The small Linux
distribution boot2docker can be set up using the Docker Machine tool to be run
inside virtual machines on these two operating systems.
>**Note:** if you are using a remote Docker daemon on a VM through Docker
>**Note:** if you are using a remote Docker Engine daemon on a VM through Docker
>Machine, then _do not_ type the `sudo` before the `docker` commands shown in
>the documentation's examples.
@ -46,13 +47,13 @@ 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?
### What does Docker technology 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:
Docker technology 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
@ -77,7 +78,7 @@ with several powerful functionalities:
- *Automatic build.* Docker includes [*a tool for developers to automatically
assemble a container from their source
code*](../reference/builder.md), with full control over application
code*](reference/builder.md), 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.
@ -90,7 +91,7 @@ with several powerful functionalities:
uploads and downloads, similar to `git pull`, 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"*](../reference/glossary.md#image) to create more specialized components. This can
- *Component re-use.* Any container can be used as a [*"base image"*](reference/glossary.md#image) 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
@ -135,10 +136,10 @@ thousands or even millions of containers running in parallel.
### How do I connect Docker containers?
Currently the recommended way to connect containers is via the Docker network feature. You can see details of how to [work with Docker networks here](../userguide/networking/work-with-networks.md).
Currently the recommended way to connect containers is via the Docker network feature. You can see details of how to [work with Docker networks here](userguide/networking/work-with-networks.md).
Also useful for more flexible service portability is the [Ambassador linking
pattern](../articles/ambassador_pattern_linking.md).
pattern](admin/ambassador_pattern_linking.md).
### How do I run more than one process in a Docker container?
@ -147,7 +148,7 @@ http://supervisord.org/), runit, s6, or daemontools can do the trick. Docker
will start up the process management daemon which will then fork to run
additional processes. As long as the processor manager daemon continues to run,
the container will continue to as well. You can see a more substantial example
[that uses supervisord here](../articles/using_supervisord.md).
[that uses supervisord here](admin/using_supervisord.md).
### What platforms does Docker run on?
@ -269,4 +270,4 @@ You can find more answers on:
- [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 [User Guide](../userguide/index.md).
Looking for something else to read? Checkout the [User Guide](userguide/index.md).

View file

@ -1,14 +1,16 @@
<!--[metadata]>
<!-- [metadata]>
+++
title = "About Docker"
description = "Introduction to Docker."
keywords = ["docker, introduction, documentation, about, technology, understanding, Dockerfile"]
aliases = ["/engine/misc/"]
title = "Engine"
description = "Engine"
keywords = ["Engine"]
[menu.main]
parent = "mn_use_docker"
identifier="engine_use"
weight=-85
+++
<![end-metadata]-->
# About Docker
# About Docker Engine
**Develop, Ship and Run Any Application, Anywhere**
@ -73,7 +75,7 @@ Docker consists of:
## About this guide
The [Understanding Docker section](../introduction/understanding-docker.md) will help you:
The [Understanding Docker section](understanding-docker.md) will help you:
- See how Docker works at a high level
- Understand the architecture of Docker
@ -83,14 +85,14 @@ The [Understanding Docker section](../introduction/understanding-docker.md) will
### Installation guides
The [installation section](../installation/index.md) will show you how to install Docker
The [installation section](installation/index.md) will show you how to install Docker
on a variety of platforms.
### Docker user guide
To learn about Docker in more detail and to answer questions about usage and
implementation, check out the [Docker User Guide](../userguide/index.md).
implementation, check out the [Docker User Guide](userguide/index.md).
## Release notes
@ -117,4 +119,3 @@ The complete list of deprecated features can be found on the
Docker is licensed under the Apache License, Version 2.0. See
[LICENSE](https://github.com/docker/docker/blob/master/LICENSE) for the full
license text.

View file

@ -4,7 +4,7 @@ title = "Installation from binaries"
description = "Instructions for installing Docker as a binary. Mostly meant for hackers who want to try out Docker on a variety of environments."
keywords = ["binaries, installation, docker, documentation, linux"]
[menu.main]
parent = "smn_engine"
parent = "engine_install"
weight = 110
+++
<![end-metadata]-->
@ -95,7 +95,7 @@ To set the file's execute bit on Linux and OS X:
$ chmod +x docker
To get the list of stable release version numbers from GitHub, view the
`docker/docker` [releases page](https://github.com/docker/docker/releases).
`docker/docker` [releases page](https://github.com/docker/docker/releases).
> **Note**
>
@ -109,14 +109,14 @@ To download the latest version for Linux, use the
following URLs:
https://get.docker.com/builds/Linux/i386/docker-latest
https://get.docker.com/builds/Linux/x86_64/docker-latest
To download a specific version for Linux, use the
following URL patterns:
https://get.docker.com/builds/Linux/i386/docker-<version>
https://get.docker.com/builds/Linux/x86_64/docker-<version>
For example:
@ -143,19 +143,19 @@ For example:
https://get.docker.com/builds/Darwin/x86_64/docker-1.9.1
### Get the Windows binary
You can only download the Windows client binary for version `1.9.1` onwards.
Moreover, the binary is only a client, you cannot use it to run the `docker` daemon.
To download the latest version for Windows, use the following URLs:
https://get.docker.com/builds/Windows/i386/docker-latest.exe
https://get.docker.com/builds/Windows/x86_64/docker-latest.exe
To download a specific version for Windows, use the following URL pattern:
https://get.docker.com/builds/Windows/i386/docker-<version>.exe
https://get.docker.com/builds/Windows/x86_64/docker-<version>.exe
For example:
@ -184,7 +184,7 @@ 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.
> **Warning**:
> **Warning**:
> The *docker* group (or the group specified with `-G`) is root-equivalent;
> see [*Docker Daemon Attack Surface*](../security/security.md#docker-daemon-attack-surface) details.

View file

@ -4,7 +4,7 @@ title = "Example: Manual install on a cloud provider"
description = "Example of a manual install of Docker Engine on a cloud provider, using Amazon Web Services (AWS) EC2. Shows how to create an EC2 instance, and install Docker Engine on it."
keywords = ["cloud, docker, machine, documentation, installation, AWS, EC2"]
[menu.main]
parent = "smn_cloud"
parent = "install_cloud"
+++
<![end-metadata]-->
@ -34,23 +34,23 @@ Launch an instance to create a virtual machine (VM) with a specified operating s
On the AWS home page, click **EC2** to go to the dashboard, then click **Launch Instance**.
![EC2 dashboard](images/ec2_launch_instance.png)
![EC2 dashboard](../images/ec2_launch_instance.png)
AWS EC2 virtual servers are called *instances* in Amazon parlance. Once you set up an account, IAM user and key pair, you are ready to launch an instance. It is at this point that you select the OS for the VM.
2. Choose an Amazon Machine Image (AMI) with the OS and applications you want. For this example, we select an Ubuntu server.
![Launch Ubuntu](images/ec2-ubuntu.png)
![Launch Ubuntu](../images/ec2-ubuntu.png)
3. Choose an instance type.
![Choose a general purpose instance type](images/ec2_instance_type.png)
![Choose a general purpose instance type](../images/ec2_instance_type.png)
4. Configure the instance.
You can select the default network and subnet, which are inherently linked to a region and availability zone.
![Configure the instance](images/ec2_instance_details.png)
![Configure the instance](../images/ec2_instance_details.png)
5. Click **Review and Launch**.

View file

@ -4,7 +4,7 @@ title = "Example: Use Docker Machine to provision cloud hosts"
description = "Example of using Docker Machine to install Docker Engine on a cloud provider, using Digital Ocean."
keywords = ["cloud, docker, machine, documentation, installation, digitalocean"]
[menu.main]
parent = "smn_cloud"
parent = "install_cloud"
+++
<![end-metadata]-->
@ -28,19 +28,19 @@ To generate your access token:
1. Go to the Digital Ocean administrator console and click **API** in the header.
![Click API in Digital Ocean console](images/ocean_click_api.png)
![Click API in Digital Ocean console](../images/ocean_click_api.png)
2. Click **Generate New Token** to get to the token generator.
![Generate token](images/ocean_gen_token.png)
![Generate token](../images/ocean_gen_token.png)
3. Give the token a clever name (e.g. "machine"), make sure the **Write (Optional)** checkbox is checked, and click **Generate Token**.
![Name and generate token](images/ocean_token_create.png)
![Name and generate token](../images/ocean_token_create.png)
4. Grab (copy to clipboard) the generated big long hex string and store it somewhere safe.
![Copy and save personal access token](images/ocean_save_token.png)
![Copy and save personal access token](../images/ocean_save_token.png)
This is the personal access token you'll use in the next step to create your cloud server.
@ -133,7 +133,7 @@ To generate your access token:
2. Go to the Digital Ocean console to view the new Droplet.
![Droplet in Digital Ocean created with Machine](images/ocean_droplet.png)
![Droplet in Digital Ocean created with Machine](../images/ocean_droplet.png)
3. At the command terminal, run `docker-machine ls`.

View file

@ -1,18 +1,10 @@
<!--[metadata]>
+++
aliases = [
"/engine/installation/amazon/",
"/engine/installation/google/",
"/engine/installation/softlayer/",
"/engine/installation/azure/",
"/engine/installation/rackspace/",
"/engine/installation/joyent/"
]
title = "Choose how to install"
description = "Installation instructions for Docker on cloud."
keywords = ["cloud, docker, machine, documentation, installation"]
[menu.main]
parent = "smn_cloud"
parent = "install_cloud"
weight=-3
+++
<![end-metadata]-->

View file

@ -0,0 +1,25 @@
<!--[metadata]>
+++
aliases = [
"/engine/installation/amazon/",
"/engine/installation/google/",
"/engine/installation/softlayer/",
"/engine/installation/azure/",
"/engine/installation/rackspace/",
"/engine/installation/joyent/"
]
title = "In the cloud"
description = "Cloud Installations"
keywords = ["Docker install "]
[menu.main]
identifier = "install_cloud"
parent="engine_install"
weight="-60"
+++
<![end-metadata]-->
# Install Engine in the cloud
* [Understand cloud install options and choose one](cloud.md)
* [Example: Use Docker Machine to provision cloud hosts](cloud-ex-machine-ocean.md)
* [Example: Manual install on a cloud provider](cloud-ex-aws.md)

View file

@ -1,8 +1,12 @@
<!--[metadata]>
+++
title = "Supported installations for Docker Engine"
title = "Install"
description = "Lists the installation methods"
keywords = ["Docker install "]
[menu.main]
identifier = "engine_install"
parent="engine_use"
weight="-81"
+++
<![end-metadata]-->
@ -11,24 +15,24 @@ keywords = ["Docker install "]
Docker Engine is supported on Linux, Cloud, Windows, and OS X. Installation instructions are available for the following:
## On Linux
* [Arch Linux](archlinux.md)
* [CentOS](centos.md)
* [CRUX Linux](cruxlinux.md)
* [Debian](debian.md)
* [Fedora](fedora.md)
* [FrugalWare](frugalware.md)
* [Gentoo](gentoolinux.md)
* [Oracle Linux](oracle.md)
* [Red Hat Enterprise Linux](rhel.md)
* [openSUSE and SUSE Linux Enterprise](SUSE.md)
* [Ubuntu](ubuntulinux.md)
* [Arch Linux](linux/archlinux.md)
* [CentOS](linux/centos.md)
* [CRUX Linux](linux/cruxlinux.md)
* [Debian](linux/debian.md)
* [Fedora](linux/fedora.md)
* [FrugalWare](linux/frugalware.md)
* [Gentoo](linux/gentoolinux.md)
* [Oracle Linux](linux/oracle.md)
* [Red Hat Enterprise Linux](linux/rhel.md)
* [openSUSE and SUSE Linux Enterprise](linux/SUSE.md)
* [Ubuntu](linux/ubuntulinux.md)
If your linux distribution is not listed above, don't give up yet. To try out Docker on a distribution that is not listed above, go here: [Installation from binaries](binaries.md).
## On Cloud
* [Choose how to Install](cloud.md)
* [Example: Manual install on a cloud provider](cloud-ex-aws.md)
* [Example: Use Docker Machine to provision cloud hosts](cloud-ex-machine-ocean.md)
* [Choose how to Install](cloud/cloud.md)
* [Example: Manual install on a cloud provider](cloud/cloud-ex-aws.md)
* [Example: Use Docker Machine to provision cloud hosts](cloud/cloud-ex-machine-ocean.md)
## On OSX and Windows
* [Mac OS X](mac.md)
@ -38,7 +42,7 @@ If your linux distribution is not listed above, don't give up yet. To try out Do
Instructions for installing prior releases of Docker can be found in the following docker archives:
[Docker v1.7](http://docs.docker.com/v1.7/), [Docker v1.6](http://docs.docker.com/v1.6/), [Docker v1.5](http://docs.docker.com/v1.5/), and [Docker v1.4](http://docs.docker.com/v1.4/).
## Where to go After Installing
* [About Docker](../misc/index.md)
## Where to go after installing
* [About Docker Engine](../index.md)
* [Support](https://www.docker.com/support/)
* [Training](https://training.docker.com//)

View file

@ -1,10 +1,11 @@
<!--[metadata]>
+++
aliases = [ "/engine/installation/SUSE/"]
title = "Installation on openSUSE and SUSE Linux Enterprise"
description = "Installation instructions for Docker on openSUSE and on SUSE Linux Enterprise."
keywords = ["openSUSE, SUSE Linux Enterprise, SUSE, SLE, docker, documentation, installation"]
[menu.main]
parent = "smn_linux"
parent = "engine_linux"
+++
<![end-metadata]-->
@ -91,7 +92,7 @@ flag is set to `yes` like so:
If you need to add an HTTP Proxy, set a different directory or partition for the
Docker runtime files, or make other customizations, read the systemd article to
learn how to [customize your systemd Docker daemon options](../articles/systemd.md).
learn how to [customize your systemd Docker daemon options](../../admin/systemd.md).
## Uninstallation
@ -113,4 +114,4 @@ You can find more details about Docker on openSUSE or SUSE Linux Enterprise in t
[Docker quick start guide](https://www.suse.com/documentation/sles-12/dockerquick/data/dockerquick.html)
on the SUSE website. The document targets SUSE Linux Enterprise, but its contents apply also to openSUSE.
Continue to the [User Guide](../userguide/index.md).
Continue to the [User Guide](../../userguide/index.md).

View file

@ -1,10 +1,11 @@
<!--[metadata]>
+++
aliases = [ "/engine/installation/archlinux/"]
title = "Installation on Arch Linux"
description = "Installation instructions for Docker on ArchLinux."
keywords = ["arch linux, docker, documentation, installation"]
[menu.main]
parent = "smn_linux"
parent = "engine_linux"
+++
<![end-metadata]-->
@ -63,7 +64,7 @@ To start on system boot:
If you need to add an HTTP Proxy, set a different directory or partition for the
Docker runtime files, or make other customizations, read our systemd article to
learn how to [customize your systemd Docker daemon options](../articles/systemd.md).
learn how to [customize your systemd Docker daemon options](../../admin/systemd.md).
## Running Docker with a manually-defined network

View file

@ -1,10 +1,11 @@
<!--[metadata]>
+++
aliases = [ "/engine/installation/centos/"]
title = "Installation on CentOS"
description = "Instructions for installing Docker on CentOS"
keywords = ["Docker, Docker documentation, requirements, linux, centos, epel, docker.io, docker-io"]
[menu.main]
parent = "smn_linux"
parent = "engine_linux"
weight=-4
+++
<![end-metadata]-->
@ -134,7 +135,7 @@ makes the ownership of the Unix socket read/writable by the `docker` group.
>**Warning**: The `docker` group is equivalent to the `root` user; For details
>on how this impacts security in your system, see [*Docker Daemon Attack
>Surface*](../security/security.md#docker-daemon-attack-surface) for details.
>Surface*](../../security/security.md#docker-daemon-attack-surface) for details.
To create the `docker` group and add your user:
@ -160,7 +161,7 @@ To ensure Docker starts when you boot your system, do the following:
If you need to add an HTTP Proxy, set a different directory or partition for the
Docker runtime files, or make other customizations, read our Systemd article to
learn how to [customize your Systemd Docker daemon options](../articles/systemd.md).
learn how to [customize your Systemd Docker daemon options](../../admin/systemd.md).
## Uninstall

View file

@ -1,10 +1,11 @@
<!--[metadata]>
+++
aliases = [ "/engine/installation/cruxlinux/"]
title = "Installation on CRUX Linux"
description = "Docker installation on CRUX Linux."
keywords = ["crux linux, Docker, documentation, installation"]
[menu.main]
parent = "smn_linux"
parent = "engine_linux"
+++
<![end-metadata]-->

View file

@ -1,10 +1,11 @@
<!--[metadata]>
+++
aliases = [ "/engine/installation/debian/"]
title = "Installation on Debian"
description = "Instructions for installing Docker on Debian."
keywords = ["Docker, Docker documentation, installation, debian"]
[menu.main]
parent = "smn_linux"
parent = "engine_linux"
weight=-2
+++
<![end-metadata]-->
@ -138,7 +139,7 @@ use the `-G` flag to specify an alternative group.
> **Warning**:
> The `docker` group (or the group specified with the `-G` flag) is
> `root`-equivalent; see [*Docker Daemon Attack Surface*](../security/security.md#docker-daemon-attack-surface) details.
> `root`-equivalent; see [*Docker Daemon Attack Surface*](../../security/security.md#docker-daemon-attack-surface) details.
**Example:**
@ -180,4 +181,4 @@ You must delete the user created configuration files manually.
## What next?
Continue with the [User Guide](../userguide/index.md).
Continue with the [User Guide](../../userguide/index.md).

View file

@ -1,10 +1,11 @@
<!--[metadata]>
+++
aliases = [ "/engine/installation/fedora/"]
title = "Installation on Fedora"
description = "Instructions for installing Docker on Fedora."
keywords = ["Docker, Docker documentation, Fedora, requirements, linux"]
[menu.main]
parent = "smn_linux"
parent = "engine_linux"
weight=-3
+++
<![end-metadata]-->
@ -128,7 +129,7 @@ makes the ownership of the Unix socket read/writable by the `docker` group.
>**Warning**: The `docker` group is equivalent to the `root` user; For details
>on how this impacts security in your system, see [*Docker Daemon Attack
>Surface*](../security/security.md#docker-daemon-attack-surface) for details.
>Surface*](../../security/security.md#docker-daemon-attack-surface) for details.
To create the `docker` group and add your user:
@ -154,7 +155,7 @@ To ensure Docker starts when you boot your system, do the following:
If you need to add an HTTP Proxy, set a different directory or partition for the
Docker runtime files, or make other customizations, read our Systemd article to
learn how to [customize your Systemd Docker daemon options](../articles/systemd.md).
learn how to [customize your Systemd Docker daemon options](../../admin/systemd.md).
## Running Docker with a manually-defined network

View file

@ -1,10 +1,11 @@
<!--[metadata]>
+++
aliases = [ "/engine/installation/frugalware/"]
title = "Installation on FrugalWare"
description = "Installation instructions for Docker on FrugalWare."
keywords = ["frugalware linux, docker, documentation, installation"]
[menu.main]
parent = "smn_linux"
parent = "engine_linux"
+++
<![end-metadata]-->
@ -53,7 +54,7 @@ To start on system boot:
If you need to add an HTTP Proxy, set a different directory or partition for the
Docker runtime files, or make other customizations, read our systemd article to
learn how to [customize your systemd Docker daemon options](../articles/systemd.md).
learn how to [customize your systemd Docker daemon options](../../admin/systemd.md).
## Uninstallation

View file

@ -1,10 +1,11 @@
<!--[metadata]>
+++
aliases = [ "/engine/installation/gentoolinux/"]
title = "Installation on Gentoo"
description = "Installation instructions for Docker on Gentoo."
keywords = ["gentoo linux, docker, documentation, installation"]
[menu.main]
parent = "smn_linux"
parent = "engine_linux"
+++
<![end-metadata]-->
@ -19,9 +20,9 @@ The first and recommended way if you are looking for a stable
experience is to use the official `app-emulation/docker` package directly
from the tree.
If any issues arise from this ebuild including, missing kernel
configuration flags or dependencies, open a bug
on the Gentoo [Bugzilla](https://bugs.gentoo.org) assigned to `docker AT gentoo DOT org`
If any issues arise from this ebuild including, missing kernel
configuration flags or dependencies, open a bug
on the Gentoo [Bugzilla](https://bugs.gentoo.org) assigned to `docker AT gentoo DOT org`
or join and ask in the official
[IRC](http://webchat.freenode.net?channels=%23gentoo-containers&uio=d4) channel on the Freenode network.
@ -34,9 +35,9 @@ up-to-date documentation for properly installing and using the overlay
can be found in the [overlay](https://github.com/tianon/docker-overlay/blob/master/README.md#using-this-overlay).
If any issues arise from this ebuild or the resulting binary, including
and especially missing kernel configuration flags or dependencies,
open an [issue](https://github.com/tianon/docker-overlay/issues) on
the `docker-overlay` repository or ping `tianon` directly in the `#docker`
and especially missing kernel configuration flags or dependencies,
open an [issue](https://github.com/tianon/docker-overlay/issues) on
the `docker-overlay` repository or ping `tianon` directly in the `#docker`
IRC channel on the Freenode network.
## Installation
@ -61,7 +62,7 @@ prompt for all necessary kernel options.
$ sudo emerge -av app-emulation/docker
>Note: Sometimes there is a disparity between the latest versions
>Note: Sometimes there is a disparity between the latest versions
>in the official **Gentoo tree** and the **docker-overlay**.
>Please be patient, and the latest version should propagate shortly.
@ -72,11 +73,11 @@ modules and configuration (and optionally for device-mapper
and AUFS or Btrfs, depending on the storage driver you've decided to use).
To use Docker, the `docker` daemon must be running as **root**.
To use Docker as a **non-root** user, add yourself to the **docker**
To use Docker as a **non-root** user, add yourself to the **docker**
group by running the following command:
$ sudo usermod -a -G docker user
### OpenRC
To start the `docker` daemon:
@ -96,10 +97,10 @@ To start the `docker` daemon:
To start on system boot:
$ sudo systemctl enable docker
If you need to add an HTTP Proxy, set a different directory or partition for the
Docker runtime files, or make other customizations, read our systemd article to
learn how to [customize your systemd Docker daemon options](../articles/systemd.md).
learn how to [customize your systemd Docker daemon options](../../admin/systemd.md).
## Uninstallation

View file

@ -0,0 +1,29 @@
<!--[metadata]>
+++
title = "On Linux distributions"
description = "Lists the installation methods"
keywords = ["docker", "engine","install", "linux"]
[menu.main]
identifier = "engine_linux"
parent="engine_install"
weight="-70"
+++
<![end-metadata]-->
# Install Docker Engine on Linux
Docker Engine is supported on several Linux distributions. Installation instructions are available for the following:
* [Arch Linux](archlinux.md)
* [CentOS](centos.md)
* [CRUX Linux](cruxlinux.md)
* [Debian](debian.md)
* [Fedora](fedora.md)
* [FrugalWare](frugalware.md)
* [Gentoo](gentoolinux.md)
* [Oracle Linux](oracle.md)
* [Red Hat Enterprise Linux](rhel.md)
* [openSUSE and SUSE Linux Enterprise](SUSE.md)
* [Ubuntu](ubuntulinux.md)
If your linux distribution is not listed above, don't give up yet. To try out Docker on a distribution that is not listed above, go here: [Installation from binaries](../binaries.md).

View file

@ -1,10 +1,11 @@
<!--[metadata]>
+++
aliases = [ "/engine/installation/oracle/"]
title = "Installation on Oracle Linux"
description = "Installation instructions for Docker on Oracle Linux."
keywords = ["Docker, Docker documentation, requirements, linux, rhel, centos, oracle, ol"]
[menu.main]
parent = "smn_linux"
parent = "engine_linux"
+++
<![end-metadata]-->
@ -24,16 +25,16 @@ btrfs storage engine on both Oracle Linux 6 and 7.
> **Note**: The procedure below installs binaries built by Docker. These binaries
> are not covered by Oracle Linux support. To ensure Oracle Linux support, please
> follow the installation instructions provided in the
> [Oracle Linux documentation](https://docs.oracle.com/en/operating-systems/?tab=2).
>
> are not covered by Oracle Linux support. To ensure Oracle Linux support, please
> follow the installation instructions provided in the
> [Oracle Linux documentation](https://docs.oracle.com/en/operating-systems/?tab=2).
>
> The installation instructions for Oracle Linux 6 can be found in [Chapter 10 of
> the Administrator&apos;s
> the Administrator&apos;s
> Solutions Guide](https://docs.oracle.com/cd/E37670_01/E37355/html/ol_docker.html)
>
> The installation instructions for Oracle Linux 7 can be found in [Chapter 29 of
> the Administrator&apos;s
> the Administrator&apos;s
> Guide](https://docs.oracle.com/cd/E52668_01/E54669/html/ol7-docker.html)
@ -106,7 +107,7 @@ makes the ownership of the Unix socket read/writable by the `docker` group.
>**Warning**: The `docker` group is equivalent to the `root` user; For details
>on how this impacts security in your system, see [*Docker Daemon Attack
>Surface*](../security/security.md#docker-daemon-attack-surface) for details.
>Surface*](../../security/security.md#docker-daemon-attack-surface) for details.
To create the `docker` group and add your user:
@ -149,7 +150,7 @@ $ sudo systemctl enable docker.service
If you need to add an HTTP Proxy, set a different directory or partition for the
Docker runtime files, or make other customizations, read our systemd article to
learn how to [customize your systemd Docker daemon options](../articles/systemd.md).
learn how to [customize your systemd Docker daemon options](../../admin/systemd.md).
### Use the btrfs storage engine

View file

@ -1,10 +1,11 @@
<!--[metadata]>
+++
aliases = [ "/engine/installation/rhel/"]
title = "Installation on Red Hat Enterprise Linux"
description = "Instructions for installing Docker on Red Hat Enterprise Linux."
keywords = ["Docker, Docker documentation, requirements, linux, rhel"]
[menu.main]
parent = "smn_linux"
parent = "engine_linux"
weight = -5
+++
<![end-metadata]-->
@ -126,7 +127,7 @@ makes the ownership of the Unix socket read/writable by the `docker` group.
>**Warning**: The `docker` group is equivalent to the `root` user; For details
>on how this impacts security in your system, see [*Docker Daemon Attack
>Surface*](../security/security.md#docker-daemon-attack-surface) for details.
>Surface*](../../security/security.md#docker-daemon-attack-surface) for details.
To create the `docker` group and add your user:
@ -152,7 +153,7 @@ To ensure Docker starts when you boot your system, do the following:
If you need to add an HTTP Proxy, set a different directory or partition for the
Docker runtime files, or make other customizations, read our Systemd article to
learn how to [customize your Systemd Docker daemon options](../articles/systemd.md).
learn how to [customize your Systemd Docker daemon options](../../admin/systemd.md).
## Uninstall

View file

@ -1,10 +1,11 @@
<!--[metadata]>
+++
aliases = [ "/engine/installation/ubuntulinux/"]
title = "Installation on Ubuntu "
description = "Instructions for installing Docker on Ubuntu. "
keywords = ["Docker, Docker documentation, requirements, apt, installation, ubuntu"]
[menu.main]
parent = "smn_linux"
parent = "engine_linux"
weight = -6
+++
<![end-metadata]-->
@ -230,7 +231,7 @@ makes the ownership of the Unix socket read/writable by the `docker` group.
>**Warning**: The `docker` group is equivalent to the `root` user; For details
>on how this impacts security in your system, see [*Docker Daemon Attack
>Surface*](../security/security.md#docker-daemon-attack-surface) for details.
>Surface*](../../security/security.md#docker-daemon-attack-surface) for details.
To create the `docker` group and add your user:
@ -353,7 +354,7 @@ containers. Or, you can disable `dnsmasq` in NetworkManager. Though, disabling
The instructions below describe how to configure the Docker daemon
running on Ubuntu 14.10 or below. Ubuntu 15.04 and above use `systemd`
as the boot and service manager. Refer to [control and configure Docker
with systemd](../articles/systemd.md#custom-docker-daemon-options) to
with systemd](../../admin/systemd.md#custom-docker-daemon-options) to
configure a daemon controlled by `systemd`.
To specify a DNS server for use by Docker:

View file

@ -4,7 +4,8 @@ title = "Installation on Mac OS X"
description = "Instructions for installing Docker on OS X using boot2docker."
keywords = ["Docker, Docker documentation, requirements, boot2docker, VirtualBox, SSH, Linux, OSX, OS X, Mac"]
[menu.main]
parent = "smn_engine"
parent = "engine_install"
weight="-90"
+++
<![end-metadata]-->

View file

@ -4,7 +4,8 @@ title = "Installation on Windows"
description = "Docker installation on Microsoft Windows"
keywords = ["Docker, Docker documentation, Windows, requirements, virtualbox, boot2docker"]
[menu.main]
parent = "smn_engine"
parent = "engine_install"
weight="-80"
+++
<![end-metadata]-->
@ -31,7 +32,7 @@ run the Docker daemon. The VirtualBox VM runs completely from RAM, is a small
## Requirements
To run Docker, your machine must have a 64-bit operating system running Windows 7 or higher. Additionally, you must make sure that virtualization is enabled on your machine.
To run Docker, your machine must have a 64-bit operating system running Windows 7 or higher. Additionally, you must make sure that virtualization is enabled on your machine.
To verify your machine meets these requirements, do the following:
1. Right click the Windows Start Menu and choose **System**.
@ -62,10 +63,10 @@ and virtualization support is enabled in BIOS and recognized by Windows.
3. Verify your Windows OS is 64-bit (x64)
How you do this verification depends on your Windows version. For details, see the Windows
article [How to determine whether a computer is running a 32-bit version or 64-bit version
How you do this verification depends on your Windows version. For details, see the Windows
article [How to determine whether a computer is running a 32-bit version or 64-bit version
of the Windows operating system](https://support.microsoft.com/en-us/kb/827218).
> **Note**: If you have Docker hosts running and you don't wish to do a Docker Toolbox
installation, you can install the `docker.exe` using the *unofficial* Windows package
manager Chocolately. For information on how to do this, see [Docker package on

View file

@ -1,161 +0,0 @@
<!--[metadata]>
+++
draft=true
title = "Docker Engine"
description = "Release notes for Docker 1.x."
keywords = ["docker, documentation, about, technology, understanding, release"]
[menu.main]
parent = "smn_release_notes"
+++
<![end-metadata]-->
# Deprecated Features
To see the complete list of deprecated features please see the
[Deprecated Features](deprecated.md) page.
# Removed Features
The following features have been removed in this release:
* None!
# Release notes version 1.6.0
(2015-04-16)
You can view release notes for earlier version of Docker by selecting the
desired version from the drop-down list at the top right of this page. For the
formal release announcement, see [the Docker
blog](https://blog.docker.com/2015/04/docker-release-1-6/).
## Docker Engine 1.6.0 features
For a complete list of engine patches, fixes, and other improvements, see the
[merge PR on GitHub](https://github.com/docker/docker/pull/11635). You'll also
find [a changelog in the project
repository](https://github.com/docker/docker/blob/master/CHANGELOG.md).
## Docker Engine 1.6.0 features
For a complete list of engine patches, fixes, and other improvements, see the
[merge PR on GitHub](https://github.com/docker/docker/pull/11635). You'll also
find [a changelog in the project
repository](https://github.com/docker/docker/blob/master/CHANGELOG.md).
| Feature | Description |
|------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Container and Image Labels | Labels allow you to attach user-defined metadata to containers and images that can be used by your tools. For additional information on using labels, see [Apply custom metadata](https://docs.docker.com/userguide/labels-custom-metadata.md#add-labels-to-images-the-label-instruction) in the documentation. |
| Windows Client preview | The Windows Client can be used just like the Mac OS X client is today with a remote host. Our testing infrastructure was scaled out to accommodate Windows Client testing on every PR to the Engine. See the Azure blog for [details on using this new client](http://azure.microsoft.com/blog/2015/04/16/docker-client-for-windows-is-now-available). |
| Logging drivers | The new logging driver follows the exec driver and storage driver concepts already available in Engine today. There is a new option `--log-driver` to `docker run` command. See the `run` reference for a [description on how to use this option](../reference/run.md#logging-drivers-log-driver). |
| Image digests | When you pull, build, or run images, you specify them in the form `namespace/repository:tag`, or even just `repository`. In this release, you are now able to pull, run, build and refer to images by a new content addressable identifier called a “digest” with the syntax `namespace/repo@digest`. See the the command line reference for [examples of using the digest](../reference/commandline/cli.md#listing-image-digests). |
| Custom cgroups | Containers are made from a combination of namespaces, capabilities, and cgroups. Docker already supports custom namespaces and capabilities. Additionally, in this release weve added support for custom cgroups. Using the `--cgroup-parent` flag, you can pass a specific `cgroup` to run a container in. See [the command line reference for more information](../reference/commandline/cli.md#create). |
| Ulimits | You can now specify the default `ulimit` settings for all containers when configuring the daemon. For example:`docker daemon --default-ulimit nproc=1024:2048` See [Default Ulimits](../reference/commandline/cli.md#default-ulimits) in this documentation. |
| Commit and import Dockerfile | You can now make changes to images on the fly without having to re-build the entire image. The feature `commit --change` and `import --change` allows you to apply standard changes to a new image. These are expressed in the Dockerfile syntax and used to modify the image. For details on how to use these, see the [commit](../reference/commandline/cli.md#commit) and [import](../reference/commandline/cli.md#import). |
### Known issues in Engine
This section lists significant known issues present in Docker as of release date.
For an exhaustive list of issues, see [the issues list on the project
repository](https://github.com/docker/docker/issues/).
* *Unexpected File Permissions in Containers*
An idiosyncrasy in AUFS prevented permissions from propagating predictably
between upper and lower layers. This caused issues with accessing private
keys, database instances, etc. This issue was closed in this release:
[GitHub Issue 783](https://github.com/docker/docker/issues/783).
* *Docker Hub incompatible with Safari 8*
Docker Hub had multiple issues displaying on Safari 8, the default browser for
OS X 10.10 (Yosemite). Most notably, changes in the way Safari handled cookies
means that the user was repeatedly logged out.
Recently, Safari fixed the bug that was causing all the issues. If you upgrade
to Safari 8.0.5 which was just released last week and see if that fixes your
issues. You might have to flush your cookies if it doesn't work right away.
For more information, see the [Docker forum
post](https://forums.docker.com/t/new-safari-in-yosemite-issue/300).
## Docker Registry 2.0 features
This release includes Registry 2.0. The Docker Registry is a central server for
pushing and pulling images. In this release, it was completely rewritten in Go
around a new set of distribution APIs
- **Webhook notifications**: You can now configure the Registry to send Webhooks
when images are pushed. Spin off a CI build, send a notification to IRC
whatever you want! Included in the documentation is a detailed [notification
specification](https://docs.docker.com/registry/notifications/).
- **Native TLS support**: This release makes it easier to secure a registry with
TLS. This documentation includes [expanded examples of secure
deployments](https://docs.docker.com/registry/deploying/).
- **New Distribution APIs**: This release includes an expanded set of new
distribution APIs. You can read the [detailed specification
here](https://docs.docker.com/registry/spec/api/).
## Docker Compose 1.2
For a complete list of compose patches, fixes, and other improvements, see the
[changelog in the project
repository](https://github.com/docker/compose/blob/1.2.0/CHANGES.md). The
project also makes a [set of release
notes](https://github.com/docker/compose/releases/tag/1.2.0) on the project.
- **extends**: You can use `extends` to share configuration between services
with the keyword “extends”. With extends, you can refer to a service defined
elsewhere and include its configuration in a locally-defined service, while also
adding or overriding configuration as necessary. The documentation describes
[how to use extends in your
configuration](https://docs.docker.com/compose/extends/#extending-services-in-
compose).
- **Relative directory handling may cause breaking change**: Compose now treats
directories passed to build, filenames passed to `env_file` and volume host
paths passed to volumes as relative to the configuration file's directory.
Previously, they were treated as relative to the directory where you were
running `docker-compose`. In the majority of cases, the location of the
configuration file and where you ran `docker-compose` were the same directory.
Now, you can use the `-f|--file` argument to specify a configuration file in
another directory.
## Docker Swarm 0.2
You'll find the [release for download on
GitHub](https://github.com/docker/swarm/releases/tag/v0.2.0) and [the
documentation here](https://docs.docker.com/swarm/). This release includes the
following features:
- **Spread strategy**: A new strategy for scheduling containers on your cluster
which evenly spreads them over available nodes.
- **More Docker commands supported**: More progress has been made towards
supporting the complete Docker API, such as pulling and inspecting images.
- **Clustering drivers**: There are not any third-party drivers yet, but the
first steps have been made towards making a pluggable driver interface that will
make it possible to use Swarm with clustering systems such as Mesos.
## Docker Machine 0.2 Pre-release
You'll find the [release for download on
GitHub](https://github.com/docker/machine/releases) and [the documentation
here](https://docs.docker.com/machine/). For a complete list of machine changes
see [the changelog in the project
repository](https://github.com/docker/machine/blob/master/CHANGES.md#020-2015-03
-22).
- **Cleaner driver interface**: It is now much easier to write drivers for providers.
- **More reliable and consistent provisioning**: Provisioning servers is now
handled centrally by Machine instead of letting each driver individually do it.
- **Regenerate TLS certificates**: A new command has been added to regenerate a
hosts TLS certificates for good security practice and for if a hosts IP
address changes.
## Docker Hub Enterprise & Commercially Supported Docker Engine
See the [DHE and CS Docker Engine release notes](https://docs.docker.com/docker-hub-enterprise/release-notes.md).

View file

@ -1,16 +0,0 @@
<!--[metadata]>
+++
draft = true
+++
<![end-metadata]-->
# Search
*Please activate JavaScript to enable the search functionality.*
## How To Search
From here you can search these documents. Enter your search words into
the box below and click "search". Note that the search function will
automatically search for all of the words. Pages containing fewer words
won't appear in the result list.

View file

@ -1,16 +1,18 @@
<!--[metadata]>
+++
aliases = ["/engine/userguide/basics/"]
title = "Quickstart containers"
description = "Common usage and commands"
keywords = ["Examples, Usage, basic commands, docker, documentation, examples"]
[menu.main]
parent = "mn_fun_docker"
parent = "engine_use"
weight=-90
+++
<![end-metadata]-->
# Quickstart containers
# Quickstart Docker Engine
This quickstart assumes you have a working installation of Docker. To verify Docker is installed, use the following command:
This quickstart assumes you have a working installation of Docker Engine. To verify Engine is installed, use the following command:
# Check that you have a working install
$ docker info
@ -18,17 +20,17 @@ This quickstart assumes you have a working installation of Docker. To verify Doc
If you get `docker: command not found` or something like
`/var/lib/docker/repositories: permission denied` you may have an
incomplete Docker installation or insufficient privileges to access
Docker on your machine. With the default installation of Docker `docker`
Engine on your machine. With the default installation of Engine `docker`
commands need to be run by a user that is in the `docker` group or by the
`root` user.
Depending on your Docker system configuration, you may be required
Depending on your Engine system configuration, you may be required
to preface each `docker` command with `sudo`. One way to avoid having to use
`sudo` with the `docker` commands is to create a Unix group called `docker` and
add users that will be entering `docker` commands to the 'docker' group.
For more information about installing Docker or `sudo` configuration, refer to
the [installation](../installation/index.md) instructions for your operating system.
For more information about installing Docker Engine or `sudo` configuration, refer to
the [installation](installation/index.md) instructions for your operating system.
## Download a pre-built image
@ -37,7 +39,7 @@ the [installation](../installation/index.md) instructions for your operating sys
$ docker pull ubuntu
This will find the `ubuntu` image by name on
[*Docker Hub*](../userguide/dockerrepos.md#searching-for-images)
[*Docker Hub*](userguide/containers/dockerrepos.md#searching-for-images)
and download it from [Docker Hub](https://hub.docker.com) to a local
image cache.
@ -194,6 +196,6 @@ You now have an image state from which you can create new instances.
## Where to go next
* Work your way through the [Docker User Guide](../userguide/index.md)
* Read more about [*Share Images via Repositories*](../userguide/dockerrepos.md)
* Review [*Command Line*](../reference/commandline/cli.md)
* Work your way through the [Docker User Guide](userguide/index.md)
* Read more about [*Share Images via Repositories*](userguide/containers/dockerrepos.md)
* Review [*Command Line*](reference/commandline/cli.md)

View file

@ -1,10 +1,11 @@
<!--[metadata]>
+++
draft = true
title = "Docker Hub API"
description = "API Documentation for the Docker Hub API"
keywords = ["API, Docker, index, REST, documentation, Docker Hub, registry"]
[menu.main]
parent = "smn_remoteapi"
parent = "engine_remoteapi"
weight = 99
+++
<![end-metadata]-->
@ -13,4 +14,3 @@ weight = 99
This API is deprecated as of 1.7. To view the old version, see the [Docker Hub
API](https://docs.docker.com/v1.7/docker/reference/api/docker-io_api/) in the 1.7 documentation.

View file

@ -4,7 +4,8 @@ title = "docker.io accounts API"
description = "API Documentation for docker.io accounts."
keywords = ["API, Docker, accounts, REST, documentation"]
[menu.main]
parent = "mn_reference"
parent = "engine_remoteapi"
weight=90
+++
<![end-metadata]-->

View file

@ -4,8 +4,8 @@ title = "Remote API"
description = "API Documentation for Docker"
keywords = ["API, Docker, rcli, REST, documentation"]
[menu.main]
parent = "smn_remoteapi"
weight=-4
parent = "engine_remoteapi"
weight=-99
+++
<![end-metadata]-->
@ -114,7 +114,7 @@ This section lists each version from latest to oldest. Each listing includes a
* Pushes initiated with `POST /images/(name)/push` and pulls initiated with `POST /images/create`
will be cancelled if the HTTP connection making the API request is closed before
the push or pull completes.
* `POST /containers/create` now allows you to set a read/write rate limit for a
* `POST /containers/create` now allows you to set a read/write rate limit for a
device (in bytes per second or IO per second).
* `GET /networks` now supports filtering by `name`, `id` and `type`.
* `POST /containers/create` now allows you to set the static IPv4 and/or IPv6 address for the container.
@ -123,7 +123,7 @@ This section lists each version from latest to oldest. Each listing includes a
* `POST /networks/create` now supports restricting external access to the network by setting the `internal` field.
* `POST /networks/(id)/disconnect` now includes a `Force` option to forcefully disconnect a container from network
* `GET /containers/(id)/json` now returns the `NetworkID` of containers.
* `POST /networks/create` Now supports an options field in the IPAM config that provides options
* `POST /networks/create` Now supports an options field in the IPAM config that provides options
for custom IPAM plugins.
* `GET /networks/{network-id}` Now returns IPAM config options for custom IPAM plugins if any
are available.

View file

@ -4,7 +4,7 @@ title = "Remote API v1.14"
description = "API Documentation for Docker"
keywords = ["API, Docker, rcli, REST, documentation"]
[menu.main]
parent = "smn_remoteapi"
parent = "engine_remoteapi"
weight = 7
+++
<![end-metadata]-->
@ -15,7 +15,7 @@ weight = 7
- The Remote API has replaced `rcli`.
- The daemon listens on `unix:///var/run/docker.sock` but you can
[Bind Docker to another host/port or a Unix socket](../../userguide/basics.md#bind-docker-to-another-host-port-or-a-unix-socket).
[Bind Docker to another host/port or a Unix socket](../../quickstart.md#bind-docker-to-another-host-port-or-a-unix-socket).
- 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`.

View file

@ -4,7 +4,7 @@ title = "Remote API v1.15"
description = "API Documentation for Docker"
keywords = ["API, Docker, rcli, REST, documentation"]
[menu.main]
parent = "smn_remoteapi"
parent = "engine_remoteapi"
weight = 6
+++
<![end-metadata]-->
@ -15,7 +15,7 @@ weight = 6
- The Remote API has replaced `rcli`.
- The daemon listens on `unix:///var/run/docker.sock` but you can
[Bind Docker to another host/port or a Unix socket](../../userguide/basics.md#bind-docker-to-another-host-port-or-a-unix-socket).
[Bind Docker to another host/port or a Unix socket](../../quickstart.md#bind-docker-to-another-host-port-or-a-unix-socket).
- 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`.

View file

@ -4,7 +4,7 @@ title = "Remote API v1.16"
description = "API Documentation for Docker"
keywords = ["API, Docker, rcli, REST, documentation"]
[menu.main]
parent = "smn_remoteapi"
parent = "engine_remoteapi"
weight = 5
+++
<![end-metadata]-->
@ -15,7 +15,7 @@ weight = 5
- The Remote API has replaced `rcli`.
- The daemon listens on `unix:///var/run/docker.sock` but you can
[Bind Docker to another host/port or a Unix socket](../../userguide/basics.md#bind-docker-to-another-host-port-or-a-unix-socket).
[Bind Docker to another host/port or a Unix socket](../../quickstart.md#bind-docker-to-another-host-port-or-a-unix-socket).
- 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`.

View file

@ -4,7 +4,7 @@ title = "Remote API v1.17"
description = "API Documentation for Docker"
keywords = ["API, Docker, rcli, REST, documentation"]
[menu.main]
parent = "smn_remoteapi"
parent = "engine_remoteapi"
weight = 4
+++
<![end-metadata]-->
@ -15,7 +15,7 @@ weight = 4
- The Remote API has replaced `rcli`.
- The daemon listens on `unix:///var/run/docker.sock` but you can
[Bind Docker to another host/port or a Unix socket](../../userguide/basics.md#bind-docker-to-another-host-port-or-a-unix-socket).
[Bind Docker to another host/port or a Unix socket](../../quickstart.md#bind-docker-to-another-host-port-or-a-unix-socket).
- 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`.

View file

@ -4,7 +4,7 @@ title = "Remote API v1.18"
description = "API Documentation for Docker"
keywords = ["API, Docker, rcli, REST, documentation"]
[menu.main]
parent = "smn_remoteapi"
parent = "engine_remoteapi"
weight = 3
+++
<![end-metadata]-->
@ -15,7 +15,7 @@ weight = 3
- The Remote API has replaced `rcli`.
- The daemon listens on `unix:///var/run/docker.sock` but you can
[Bind Docker to another host/port or a Unix socket](../../userguide/basics.md#bind-docker-to-another-host-port-or-a-unix-socket).
[Bind Docker to another host/port or a Unix socket](../../quickstart.md#bind-docker-to-another-host-port-or-a-unix-socket).
- 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`.

View file

@ -4,7 +4,7 @@ title = "Remote API v1.19"
description = "API Documentation for Docker"
keywords = ["API, Docker, rcli, REST, documentation"]
[menu.main]
parent = "smn_remoteapi"
parent = "engine_remoteapi"
weight = 2
+++
<![end-metadata]-->
@ -15,7 +15,7 @@ weight = 2
- The Remote API has replaced `rcli`.
- The daemon listens on `unix:///var/run/docker.sock` but you can
[Bind Docker to another host/port or a Unix socket](../../userguide/basics.md#bind-docker-to-another-host-port-or-a-unix-socket).
[Bind Docker to another host/port or a Unix socket](../../quickstart.md#bind-docker-to-another-host-port-or-a-unix-socket).
- The API tends to be REST. However, for some complex commands, like `attach`
or `pull`, the HTTP connection is hijacked to transport `stdout`,
`stdin` and `stderr`.

View file

@ -4,7 +4,7 @@ title = "Remote API v1.20"
description = "API Documentation for Docker"
keywords = ["API, Docker, rcli, REST, documentation"]
[menu.main]
parent="smn_remoteapi"
parent="engine_remoteapi"
weight = 1
+++
<![end-metadata]-->
@ -15,7 +15,7 @@ weight = 1
- The Remote API has replaced `rcli`.
- The daemon listens on `unix:///var/run/docker.sock` but you can
[Bind Docker to another host/port or a Unix socket](../../userguide/basics.md#bind-docker-to-another-host-port-or-a-unix-socket).
[Bind Docker to another host/port or a Unix socket](../../quickstart.md#bind-docker-to-another-host-port-or-a-unix-socket).
- The API tends to be REST. However, for some complex commands, like `attach`
or `pull`, the HTTP connection is hijacked to transport `stdout`,
`stdin` and `stderr`.

View file

@ -4,7 +4,7 @@ title = "Remote API v1.21"
description = "API Documentation for Docker"
keywords = ["API, Docker, rcli, REST, documentation"]
[menu.main]
parent="smn_remoteapi"
parent="engine_remoteapi"
weight=-2
+++
<![end-metadata]-->
@ -15,7 +15,7 @@ weight=-2
- The Remote API has replaced `rcli`.
- The daemon listens on `unix:///var/run/docker.sock` but you can
[Bind Docker to another host/port or a Unix socket](../../userguide/basics.md#bind-docker-to-another-host-port-or-a-unix-socket).
[Bind Docker to another host/port or a Unix socket](../../quickstart.md#bind-docker-to-another-host-port-or-a-unix-socket).
- The API tends to be REST. However, for some complex commands, like `attach`
or `pull`, the HTTP connection is hijacked to transport `stdout`,
`stdin` and `stderr`.

View file

@ -4,7 +4,7 @@ title = "Remote API v1.22"
description = "API Documentation for Docker"
keywords = ["API, Docker, rcli, REST, documentation"]
[menu.main]
parent="smn_remoteapi"
parent="engine_remoteapi"
weight=-3
+++
<![end-metadata]-->
@ -15,7 +15,7 @@ weight=-3
- The Remote API has replaced `rcli`.
- The daemon listens on `unix:///var/run/docker.sock` but you can
[Bind Docker to another host/port or a Unix socket](../../userguide/basics.md#bind-docker-to-another-host-port-or-a-unix-socket).
[Bind Docker to another host/port or a Unix socket](../../quickstart.md#bind-docker-to-another-host-port-or-a-unix-socket).
- The API tends to be REST. However, for some complex commands, like `attach`
or `pull`, the HTTP connection is hijacked to transport `stdout`,
`stdin` and `stderr`.
@ -2321,7 +2321,7 @@ Docker networks report the following events:
[
{
"action": "pull",
"type": "image",
"type": "image",
"actor": {
"id": "busybox:latest",
"attributes": {}
@ -2921,7 +2921,7 @@ Content-Type: application/json
Query Parameters:
- **filters** - JSON encoded network list filter. The filter value is one of:
- **filters** - JSON encoded network list filter. The filter value is one of:
- `name=<network-name>` Matches all or part of a network name.
- `id=<network-id>` Matches all or part of a network id.
- `type=["custom"|"builtin"]` Filters networks by type. The `custom` keyword returns all user-defined networks.

View file

@ -4,7 +4,7 @@ title = "Remote API v1.23"
description = "API Documentation for Docker"
keywords = ["API, Docker, rcli, REST, documentation"]
[menu.main]
parent="smn_remoteapi"
parent="engine_remoteapi"
weight=-4
+++
<![end-metadata]-->
@ -15,7 +15,7 @@ weight=-4
- The Remote API has replaced `rcli`.
- The daemon listens on `unix:///var/run/docker.sock` but you can
[Bind Docker to another host/port or a Unix socket](../../userguide/basics.md#bind-docker-to-another-host-port-or-a-unix-socket).
[Bind Docker to another host/port or a Unix socket](../../quickstart.md#bind-docker-to-another-host-port-or-a-unix-socket).
- The API tends to be REST. However, for some complex commands, like `attach`
or `pull`, the HTTP connection is hijacked to transport `stdout`,
`stdin` and `stderr`.
@ -2321,7 +2321,7 @@ Docker networks report the following events:
[
{
"action": "pull",
"type": "image",
"type": "image",
"actor": {
"id": "busybox:latest",
"attributes": {}
@ -2921,7 +2921,7 @@ Content-Type: application/json
Query Parameters:
- **filters** - JSON encoded network list filter. The filter value is one of:
- **filters** - JSON encoded network list filter. The filter value is one of:
- `name=<network-name>` Matches all or part of a network name.
- `id=<network-id>` Matches all or part of a network id.
- `type=["custom"|"builtin"]` Filters networks by type. The `custom` keyword returns all user-defined networks.

View file

@ -1,5 +1,6 @@
<!--[metadata]>
+++
draft = true
title = "The Docker Hub and the Registry v1"
description = "Documentation for docker Registry and Registry API"
keywords = ["docker, registry, api, hub"]
@ -14,4 +15,4 @@ This API is deprecated as of 1.7. To view the old version, see the [go
here](hub_registry_spec.md) in
the 1.7 documentation. If you want an overview of the current features in
Docker Hub or other image management features see the [image management
overview](../../userguide/image_management.md) in the current documentation set.
overview](../../userguide/eng-image/image_management.md) in the current documentation set.

View file

@ -0,0 +1,16 @@
<!-- [metadata]>
+++
title = "API Reference"
description = "Reference"
keywords = ["Engine"]
[menu.main]
identifier="engine_remoteapi"
parent="engine_ref"
+++
<![end-metadata]-->
# API Reference
* [Docker Remote API](docker_remote_api.md)
* [Docker Remote API client libraries](remote_api_client_libraries.md)

View file

@ -1,598 +0,0 @@
<!--[metadata]>
+++
draft = true
title = "Registry v1 API"
description = "API Documentation for Docker Registry"
keywords = ["API, Docker, index, registry, REST, documentation"]
[menu.main]
parent="smn_registry_ref"
+++
<![end-metadata]-->
# Docker Registry API v1
## Introduction
- This is the REST API for the Docker Registry 1.0
- 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
- The registry is open source: [Docker Registry](https://github.com/docker/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
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 Docker. It features read/write access, and delegates
authentication and authorization to the Index.
- **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, 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
for anyone), others private (accessible only for authorized users).
Authentication and authorization would be delegated to the Index.
The goal of vendor registries is to let someone do `docker pull
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,
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 Docker's
control. It can optionally delegate additional authorization to the
Index, but it is not mandatory.
> **Note**:
> Mirror registries and private registries which do not use the Index
> don't even need to run the registry code. They can be implemented by any
> kind of transport implementing HTTP GET and PUT. Read-only registries
> can be powered by a simple static HTTPS 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.
The latter would only require two new commands in Docker, e.g.,
`registryget` and `registryput`, wrapping access to the local filesystem
(and optionally doing consistency checks). Authentication and authorization
are then delegated to SSH (e.g., with public keys).
> **Note**:
> Private registry servers that expose an HTTP endpoint need to be secured with
> TLS (preferably TLSv1.2, but at least TLSv1.0). Make sure to put the CA
> certificate at /etc/docker/certs.d/my.registry.com:5000/ca.crt on the Docker
> host, so that the daemon can securely access the private registry.
> Support for SSLv3 and lower is not available due to security issues.
The default namespace for a private repository is `library`.
# Endpoints
## Images
### Get image layer
`GET /v1/images/(image_id)/layer`
Get image layer for a given `image_id`
**Example Request**:
GET /v1/images/088b4505aa3adc3d35e79c031fa126b403200f02f51920fbd9b7c503e87c7a2c/layer HTTP/1.1
Host: registry-1.docker.io
Accept: application/json
Content-Type: application/json
Authorization: Token signature=123abc,repository="foo/bar",access=read
Parameters:
- **image_id** the id for the layer you want to get
**Example Response**:
HTTP/1.1 200
Vary: Accept
X-Docker-Registry-Version: 0.6.0
Cookie: (Cookie provided by the Registry)
{layer binary data stream}
Status Codes:
- **200** OK
- **401** Requires authorization
- **404** Image not found
### Put image layer
`PUT /v1/images/(image_id)/layer`
Put image layer for a given `image_id`
**Example Request**:
PUT /v1/images/088b4505aa3adc3d35e79c031fa126b403200f02f51920fbd9b7c503e87c7a2c/layer HTTP/1.1
Host: registry-1.docker.io
Transfer-Encoding: chunked
Authorization: Token signature=123abc,repository="foo/bar",access=write
{layer binary data stream}
Parameters:
- **image_id** the id for the layer you want to get
**Example Response**:
HTTP/1.1 200
Vary: Accept
Content-Type: application/json
X-Docker-Registry-Version: 0.6.0
""
Status Codes:
- **200** OK
- **401** Requires authorization
- **404** Image not found
## Image
### Put image layer
`PUT /v1/images/(image_id)/json`
Put image for a given `image_id`
**Example Request**:
PUT /v1/images/088b4505aa3adc3d35e79c031fa126b403200f02f51920fbd9b7c503e87c7a2c/json HTTP/1.1
Host: registry-1.docker.io
Accept: application/json
Content-Type: application/json
Cookie: (Cookie provided by the Registry)
{
id: "088b4505aa3adc3d35e79c031fa126b403200f02f51920fbd9b7c503e87c7a2c",
parent: "aeee6396d62273d180a49c96c62e45438d87c7da4a5cf5d2be6bee4e21bc226f",
created: "2013-04-30T17:46:10.843673+03:00",
container: "8305672a76cc5e3d168f97221106ced35a76ec7ddbb03209b0f0d96bf74f6ef7",
container_config: {
Hostname: "host-test",
User: "",
Memory: 0,
MemorySwap: 0,
AttachStdin: false,
AttachStdout: false,
AttachStderr: false,
Tty: false,
OpenStdin: false,
StdinOnce: false,
Env: null,
Cmd: [
"/bin/bash",
"-c",
"apt-get -q -yy -f install libevent-dev"
],
Dns: null,
Image: "imagename/blah",
Volumes: { },
VolumesFrom: ""
},
docker_version: "0.1.7"
}
Parameters:
- **image_id** the id for the layer you want to get
**Example Response**:
HTTP/1.1 200
Vary: Accept
Content-Type: application/json
X-Docker-Registry-Version: 0.6.0
""
Status Codes:
- **200** OK
- **401** Requires authorization
### Get image layer
`GET /v1/images/(image_id)/json`
Get image for a given `image_id`
**Example Request**:
GET /v1/images/088b4505aa3adc3d35e79c031fa126b403200f02f51920fbd9b7c503e87c7a2c/json HTTP/1.1
Host: registry-1.docker.io
Accept: application/json
Content-Type: application/json
Cookie: (Cookie provided by the Registry)
Parameters:
- **image_id** the id for the layer you want to get
**Example Response**:
HTTP/1.1 200
Vary: Accept
Content-Type: application/json
X-Docker-Registry-Version: 0.6.0
X-Docker-Size: 456789
X-Docker-Checksum: b486531f9a779a0c17e3ed29dae8f12c4f9e89cc6f0bc3c38722009fe6857087
{
id: "088b4505aa3adc3d35e79c031fa126b403200f02f51920fbd9b7c503e87c7a2c",
parent: "aeee6396d62273d180a49c96c62e45438d87c7da4a5cf5d2be6bee4e21bc226f",
created: "2013-04-30T17:46:10.843673+03:00",
container: "8305672a76cc5e3d168f97221106ced35a76ec7ddbb03209b0f0d96bf74f6ef7",
container_config: {
Hostname: "host-test",
User: "",
Memory: 0,
MemorySwap: 0,
AttachStdin: false,
AttachStdout: false,
AttachStderr: false,
Tty: false,
OpenStdin: false,
StdinOnce: false,
Env: null,
Cmd: [
"/bin/bash",
"-c",
"apt-get -q -yy -f install libevent-dev"
],
Dns: null,
Image: "imagename/blah",
Volumes: { },
VolumesFrom: ""
},
docker_version: "0.1.7"
}
Status Codes:
- **200** OK
- **401** Requires authorization
- **404** Image not found
## Ancestry
### Get image ancestry
`GET /v1/images/(image_id)/ancestry`
Get ancestry for an image given an `image_id`
**Example Request**:
GET /v1/images/088b4505aa3adc3d35e79c031fa126b403200f02f51920fbd9b7c503e87c7a2c/ancestry HTTP/1.1
Host: registry-1.docker.io
Accept: application/json
Content-Type: application/json
Cookie: (Cookie provided by the Registry)
Parameters:
- **image_id** the id for the layer you want to get
**Example Response**:
HTTP/1.1 200
Vary: Accept
Content-Type: application/json
X-Docker-Registry-Version: 0.6.0
["088b4502f51920fbd9b7c503e87c7a2c05aa3adc3d35e79c031fa126b403200f",
"aeee63968d87c7da4a5cf5d2be6bee4e21bc226fd62273d180a49c96c62e4543",
"bfa4c5326bc764280b0863b46a4b20d940bc1897ef9c1dfec060604bdc383280",
"6ab5893c6927c15a15665191f2c6cf751f5056d8b95ceee32e43c5e8a3648544"]
Status Codes:
- **200** OK
- **401** Requires authorization
- **404** Image not found
## Tags
### List repository tags
`GET /v1/repositories/(namespace)/(repository)/tags`
Get all of the tags for the given repo.
**Example Request**:
GET /v1/repositories/reynholm/help-system-server/tags HTTP/1.1
Host: registry-1.docker.io
Accept: application/json
Content-Type: application/json
X-Docker-Registry-Version: 0.6.0
Cookie: (Cookie provided by the Registry)
Parameters:
- **namespace** namespace for the repo
- **repository** name for the repo
**Example Response**:
HTTP/1.1 200
Vary: Accept
Content-Type: application/json
X-Docker-Registry-Version: 0.6.0
{
"latest": "9e89cc6f0bc3c38722009fe6857087b486531f9a779a0c17e3ed29dae8f12c4f",
"0.1.1": "b486531f9a779a0c17e3ed29dae8f12c4f9e89cc6f0bc3c38722009fe6857087"
}
Status Codes:
- **200** OK
- **401** Requires authorization
- **404** Repository not found
### Get image id for a particular tag
`GET /v1/repositories/(namespace)/(repository)/tags/(tag*)`
Get a tag for the given repo.
**Example Request**:
GET /v1/repositories/reynholm/help-system-server/tags/latest HTTP/1.1
Host: registry-1.docker.io
Accept: application/json
Content-Type: application/json
X-Docker-Registry-Version: 0.6.0
Cookie: (Cookie provided by the Registry)
Parameters:
- **namespace** namespace for the repo
- **repository** name for the repo
- **tag** name of tag you want to get
**Example Response**:
HTTP/1.1 200
Vary: Accept
Content-Type: application/json
X-Docker-Registry-Version: 0.6.0
"9e89cc6f0bc3c38722009fe6857087b486531f9a779a0c17e3ed29dae8f12c4f"
Status Codes:
- **200** OK
- **401** Requires authorization
- **404** Tag not found
### Delete a repository tag
`DELETE /v1/repositories/(namespace)/(repository)/tags/(tag*)`
Delete the tag for the repo
**Example Request**:
DELETE /v1/repositories/reynholm/help-system-server/tags/latest HTTP/1.1
Host: registry-1.docker.io
Accept: application/json
Content-Type: application/json
Cookie: (Cookie provided by the Registry)
Parameters:
- **namespace** namespace for the repo
- **repository** name for the repo
- **tag** name of tag you want to delete
**Example Response**:
HTTP/1.1 200
Vary: Accept
Content-Type: application/json
X-Docker-Registry-Version: 0.6.0
""
Status Codes:
- **200** OK
- **401** Requires authorization
- **404** Tag not found
### Set a tag for a specified image id
`PUT /v1/repositories/(namespace)/(repository)/tags/(tag*)`
Put a tag for the given repo.
**Example Request**:
PUT /v1/repositories/reynholm/help-system-server/tags/latest HTTP/1.1
Host: registry-1.docker.io
Accept: application/json
Content-Type: application/json
Cookie: (Cookie provided by the Registry)
"9e89cc6f0bc3c38722009fe6857087b486531f9a779a0c17e3ed29dae8f12c4f"
Parameters:
- **namespace** namespace for the repo
- **repository** name for the repo
- **tag** name of tag you want to add
**Example Response**:
HTTP/1.1 200
Vary: Accept
Content-Type: application/json
X-Docker-Registry-Version: 0.6.0
""
Status Codes:
- **200** OK
- **400** Invalid data
- **401** Requires authorization
- **404** Image not found
## Repositories
### Delete a repository
`DELETE /v1/repositories/(namespace)/(repository)/`
Delete a repository
**Example Request**:
DELETE /v1/repositories/reynholm/help-system-server/ HTTP/1.1
Host: registry-1.docker.io
Accept: application/json
Content-Type: application/json
Cookie: (Cookie provided by the Registry)
""
Parameters:
- **namespace** namespace for the repo
- **repository** name for the repo
**Example Response**:
HTTP/1.1 200
Vary: Accept
Content-Type: application/json
X-Docker-Registry-Version: 0.6.0
""
Status Codes:
- **200** OK
- **401** Requires authorization
- **404** Repository not found
## Search
If you need to search the index, this is the endpoint you would use.
`GET /v1/search`
Search the Index given a search term. It accepts
[GET](http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.3)
only.
**Example request**:
GET /v1/search?q=search_term&page=1&n=25 HTTP/1.1
Host: index.docker.io
Accept: application/json
Query Parameters:
- **q** what you want to search for
- **n** - number of results you want returned per page (default: 25, min:1, max:100)
- **page** - page number of results
**Example response**:
HTTP/1.1 200 OK
Vary: Accept
Content-Type: application/json
{"num_pages": 1,
"num_results": 3,
"results" : [
{"name": "ubuntu", "description": "An ubuntu image..."},
{"name": "centos", "description": "A centos image..."},
{"name": "fedora", "description": "A fedora image..."}
],
"page_size": 25,
"query":"search_term",
"page": 1
}
Response Items:
- **num_pages** - Total number of pages returned by query
- **num_results** - Total number of results returned by query
- **results** - List of results for the current page
- **page_size** - How many results returned per page
- **query** - Your search term
- **page** - Current page number
Status Codes:
- **200** no error
- **500** server error
## Status
### Status check for registry
`GET /v1/_ping`
Check status of the registry. This endpoint is also used to
determine if the registry supports SSL.
**Example Request**:
GET /v1/_ping HTTP/1.1
Host: registry-1.docker.io
Accept: application/json
Content-Type: application/json
""
**Example Response**:
HTTP/1.1 200
Vary: Accept
Content-Type: application/json
X-Docker-Registry-Version: 0.6.0
""
Status Codes:
- **200** OK
## Authorization
This is where we describe the authorization process, including the
tokens and cookies.

View file

@ -1,49 +0,0 @@
<!--[metadata]>
+++
draft = true
title = "Registry API v1 client libraries"
description = "Various client libraries available to use with the Docker registry API"
keywords = ["API, Docker, index, registry, REST, documentation, clients, C#, Erlang, Go, Groovy, Java, JavaScript, Perl, PHP, Python, Ruby, Rust, Scala"]
[menu.main]
parent="smn_registry_ref"
+++
<![end-metadata]-->
# Docker Registry v1 API client libraries
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 submit a PR with an update to this page
or open an issue in the [Docker](https://github.com/docker/docker/issues)
project and we will add the libraries here.
<table border="1" class="docutils">
<colgroup>
<col width="24%">
<col width="17%">
<col width="48%">
<col width="11%">
</colgroup>
<thead valign="bottom">
<tr><th class="head">Language/Framework</th>
<th class="head">Name</th>
<th class="head">Repository</th>
<th class="head">Status</th>
</tr>
</thead>
<tbody valign = "top">
<tr>
<td>JavaScript (AngularJS) <strong>WebUI</strong></td>
<td>docker-registry-frontend</td>
<td><a class="reference external" href="https://github.com/kwk/docker-registry-frontend">https://github.com/kwk/docker-registry-frontend</a></td>
<td>Active</td>
</tr>
<tr>
<td>Go</td>
<td>docker-reg-client</td>
<td><a class="reference external" href="https://github.com/CenturyLinkLabs/docker-reg-client">https://github.com/CenturyLinkLabs/docker-reg-client</a></td>
<td>Active</td>
</tr>
</tbody>
</table>

View file

@ -4,7 +4,8 @@ title = "Remote API client libraries"
description = "Various client libraries available to use with the Docker remote API"
keywords = ["API, Docker, index, registry, REST, documentation, clients, C#, Erlang, Go, Groovy, Java, JavaScript, Perl, PHP, Python, Ruby, Rust, Scala"]
[menu.main]
parent="mn_reference"
parent="engine_remoteapi"
weight = 90
+++
<![end-metadata]-->

View file

@ -4,7 +4,8 @@ title = "Dockerfile reference"
description = "Dockerfiles use a simple DSL which allows you to automate the steps you would normally manually take to create an image."
keywords = ["builder, docker, Dockerfile, automation, image creation"]
[menu.main]
parent = "mn_reference"
parent = "engine_ref"
weight=-90
+++
<![end-metadata]-->
@ -18,7 +19,7 @@ instructions in succession.
This page describes the commands you can use in a `Dockerfile`. When you are
done reading this page, refer to the [`Dockerfile` Best
Practices](../articles/dockerfile_best-practices.md) for a tip-oriented guide.
Practices](../userguide/eng-image/dockerfile_best-practices.md) for a tip-oriented guide.
## Usage
@ -80,7 +81,7 @@ instructions.
Whenever possible, Docker will re-use the intermediate images (cache),
to accelerate the `docker build` process significantly. This is indicated by
the `Using cache` message in the console output.
(For more information, see the [Build cache section](../articles/dockerfile_best-practices.md#build-cache)) in the
(For more information, see the [Build cache section](../userguide/eng-image/dockerfile_best-practices.md#build-cache)) in the
`Dockerfile` best practices guide:
$ docker build -t svendowideit/ambassador .
@ -99,7 +100,7 @@ the `Using cache` message in the console output.
Successfully built 7ea8aef582cc
When you're done with your build, you're ready to look into [*Pushing a
repository to its registry*](../userguide/dockerrepos.md#contributing-to-docker-hub).
repository to its registry*](../userguide/containers/dockerrepos.md#contributing-to-docker-hub).
## Format
@ -298,7 +299,7 @@ Or
The `FROM` instruction sets the [*Base Image*](glossary.md#base-image)
for subsequent instructions. As such, a valid `Dockerfile` must have `FROM` as
its first instruction. The image can be any valid image it is especially easy
to start by **pulling an image** from the [*Public Repositories*](../userguide/dockerrepos.md).
to start by **pulling an image** from the [*Public Repositories*](../userguide/containers/dockerrepos.md).
- `FROM` must be the first non-comment instruction in the `Dockerfile`.
@ -369,7 +370,7 @@ cache for `RUN` instructions can be invalidated by using the `--no-cache`
flag, for example `docker build --no-cache`.
See the [`Dockerfile` Best Practices
guide](../articles/dockerfile_best-practices.md#build-cache) for more information.
guide](../userguide/eng-image/dockerfile_best-practices.md#build-cache) for more information.
The cache for `RUN` instructions can be invalidated by `ADD` instructions. See
[below](#add) for details.
@ -608,7 +609,7 @@ of whether or not the file has changed and the cache should be updated.
> following instructions from the Dockerfile if the contents of `<src>` have
> changed. This includes invalidating the cache for `RUN` instructions.
> See the [`Dockerfile` Best Practices
guide](../articles/dockerfile_best-practices.md#build-cache) for more information.
guide](../userguide/eng-image/dockerfile_best-practices.md#build-cache) for more information.
`ADD` obeys the following rules:
@ -959,7 +960,7 @@ containers. The value can be a JSON array, `VOLUME ["/var/log/"]`, or a plain
string with multiple arguments, such as `VOLUME /var/log` or `VOLUME /var/log
/var/db`. For more information/examples and mounting instructions via the
Docker client, refer to
[*Share Directories via Volumes*](../userguide/dockervolumes.md#mount-a-host-directory-as-a-data-volume)
[*Share Directories via Volumes*](../userguide/containers/dockervolumes.md#mount-a-host-directory-as-a-data-volume)
documentation.
The `docker run` command initializes the newly created volume with any data

View file

@ -23,7 +23,7 @@ the container, `docker export` will export the contents of the *underlying*
directory, not the contents of the volume.
Refer to [Backup, restore, or migrate data
volumes](../../userguide/dockervolumes.md#backup-restore-or-migrate-data-volumes) in
volumes](../../userguide/containers/dockervolumes.md#backup-restore-or-migrate-data-volumes) in
the user guide for examples on exporting data in a volume.
## Examples

View file

@ -1,11 +1,12 @@
<!-- [metadata]>
+++
title = "Docker Engine Commands"
title = "Command line reference"
description = "Docker's CLI command description and usage"
keywords = ["Docker, Docker documentation, CLI, command line"]
[menu.main]
identifier= "smn_cli"
parent = "mn_reference"
parent = "engine_ref"
weight=-70
+++
<![end-metadata]-->

View file

@ -21,7 +21,7 @@ parent = "smn_cli"
Search [Docker Hub](https://hub.docker.com) for images
See [*Find Public Images on Docker Hub*](../../userguide/dockerrepos.md#searching-for-images) for
See [*Find Public Images on Docker Hub*](../../userguide/containers/dockerrepos.md#searching-for-images) for
more details on finding shared images from the command line.
> **Note:**

View file

@ -17,4 +17,4 @@ parent = "smn_cli"
--help Print usage
You can group your images together using names and tags, and then upload them
to [*Share Images via Repositories*](../../userguide/dockerrepos.md#contributing-to-docker-hub).
to [*Share Images via Repositories*](../../userguide/containers/dockerrepos.md#contributing-to-docker-hub).

18
docs/reference/index.md Normal file
View file

@ -0,0 +1,18 @@
<!-- [metadata]>
+++
title = "Engine reference"
description = "Docker Engine reference"
keywords = ["Engine"]
[menu.main]
parent="engine_use"
identifier="engine_ref"
weight=70
+++
<![end-metadata]-->
# Engine reference
* [Dockerfile reference](builder.md)
* [Docker run reference](run.md)
* [Command line reference](commandline/index.md)
* [API Reference](api/index.md)

View file

@ -4,7 +4,8 @@ title = "Docker run reference"
description = "Configure containers at runtime"
keywords = ["docker, run, configure, runtime"]
[menu.main]
parent = "mn_reference"
parent = "engine_ref"
weight=-80
+++
<![end-metadata]-->
@ -550,7 +551,7 @@ The exit code from `docker run` gives information about why the container
failed to run or why it exited. When `docker run` exits with a non-zero code,
the exit codes follow the `chroot` standard, see below:
**_125_** if the error is with Docker daemon **_itself_**
**_125_** if the error is with Docker daemon **_itself_**
$ docker run --foo busybox; echo $?
# flag provided but not defined: --foo
@ -573,7 +574,7 @@ the exit codes follow the `chroot` standard, see below:
**_Exit code_** of **_contained command_** otherwise
$ docker run busybox /bin/sh -c 'exit 3'
$ docker run busybox /bin/sh -c 'exit 3'
# 3
## Clean up (--rm)
@ -1000,9 +1001,9 @@ For example, to set `/dev/sda` device weight to `200`:
ubuntu
If you specify both the `--blkio-weight` and `--blkio-weight-device`, Docker
uses the `--blkio-weight` as the default weight and uses `--blkio-weight-device`
to override this default with a new value on a specific device.
The following example uses a default weight of `300` and overrides this default
uses the `--blkio-weight` as the default weight and uses `--blkio-weight-device`
to override this default with a new value on a specific device.
The following example uses a default weight of `300` and overrides this default
on `/dev/sda` setting that weight to `200`:
$ docker run -it \
@ -1018,7 +1019,7 @@ per second from `/dev/sda`:
The `--device-write-bps` flag limits the write rate (bytes per second)to a device.
For example, this command creates a container and limits the write rate to `1mb`
per second for `/dev/sda`:
per second for `/dev/sda`:
$ docker run -it --device-write-bps /dev/sda:1mb ubuntu
@ -1061,7 +1062,7 @@ one can use this flag:
By default, Docker containers are "unprivileged" and cannot, for
example, run a Docker daemon inside a Docker container. This is because
by default a container is not allowed to access any devices, but a
"privileged" container is given access to all devices (see
"privileged" container is given access to all devices (see
the documentation on [cgroups devices](https://www.kernel.org/doc/Documentation/cgroups/devices.txt)).
When the operator executes `docker run --privileged`, Docker will enable
@ -1195,7 +1196,7 @@ container's logging driver. The following options are supported:
The `docker logs` command is available only for the `json-file` and `journald`
logging drivers. For detailed information on working with logging drivers, see
[Configure a logging driver](logging/overview.md).
[Configure a logging driver](../admin/logging/overview.md).
## Overriding Dockerfile image defaults
@ -1383,7 +1384,7 @@ Similarly the operator can set the **hostname** with `-h`.
--volumes-from="": Mount all volumes from the given container(s)
> **Note**:
> The auto-creation of the host path has been [*deprecated*](../misc/deprecated.md#auto-creating-missing-host-paths-for-bind-mounts).
> The auto-creation of the host path has been [*deprecated*](../deprecated.md#auto-creating-missing-host-paths-for-bind-mounts).
> **Note**:
> When using systemd to manage the Docker daemon's start and stop, in the systemd
@ -1395,7 +1396,7 @@ Similarly the operator can set the **hostname** with `-h`.
The volumes commands are complex enough to have their own documentation
in section [*Managing data in
containers*](../userguide/dockervolumes.md). A developer can define
containers*](../userguide/containers/dockervolumes.md). A developer can 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).

View file

@ -1,6 +1,6 @@
<!--[metadata]>
+++
aliases = ["/articles/certificates/"]
aliases = ["/engine/articles/certificates/"]
title = "Using certificates for repository client verification"
description = "How to set up and use certificates with a registry to verify access"
keywords = ["Usage, registry, repository, client, root, certificate, docker, apache, ssl, tls, documentation, examples, articles, tutorials"]

View file

@ -1,15 +1,15 @@
<!-- [metadata]>
+++
title = "Work with Docker security"
title = "Secure Engine"
description = "Sec"
keywords = ["seccomp, security, docker, documentation"]
[menu.main]
identifier="smn_secure_docker"
parent= "mn_use_docker"
parent= "engine_use"
+++
<![end-metadata]-->
# Work with Docker security
# Secure Engine
This section discusses the security features you can configure and use within your Docker Engine installation.

View file

@ -1,10 +1,12 @@
<!--[metadata]>
+++
aliases = ["/introduction/understanding-docker/"]
title = "Understand the architecture"
description = "Docker explained in depth"
keywords = ["docker, introduction, documentation, about, technology, understanding"]
[menu.main]
parent = "mn_use_docker"
parent = "engine_use"
weight = -82
+++
<![end-metadata]-->
@ -88,23 +90,23 @@ run on the same system, or you can connect a Docker client to a remote Docker
daemon. The Docker client and daemon communicate via sockets or through a
RESTful API.
![Docker Architecture Diagram](../article-img/architecture.svg)
![Docker Architecture Diagram](article-img/architecture.svg)
### The Docker daemon
As shown in the diagram above, the Docker daemon runs on a host machine. The
user does not directly interact with the daemon, but instead through the Docker
client.
### The Docker client
### The Docker client
The Docker client, in the form of the `docker` binary, is the primary user
interface to Docker. It accepts commands from the user and communicates back and
forth with a Docker daemon.
### Inside Docker
### Inside Docker
To understand Docker's internals, you need to know about three components:
* Docker images.
* Docker registries.
* Docker images.
* Docker registries.
* Docker containers.
#### Docker images
@ -130,7 +132,7 @@ image. Docker containers can be run, started, stopped, moved, and deleted. Each
container is an isolated and secure application platform. Docker containers are the
**run** component of Docker.
## So how does Docker work?
## So how does Docker work?
So far, we've learned that:
1. You can build Docker images that hold your applications.
@ -141,7 +143,7 @@ So far, we've learned that:
Let's look at how these elements combine together to make Docker work.
### How does a Docker image work?
### How does a Docker image work?
We've already seen that Docker images are read-only templates from which Docker
containers are launched. Each image consists of a series of layers. Docker
makes use of [union file systems](http://en.wikipedia.org/wiki/UnionFS) to
@ -168,8 +170,8 @@ Docker images are then built from these base images using a simple, descriptive
set of steps we call *instructions*. Each instruction creates a new layer in our
image. Instructions include actions like:
* Run a command.
* Add a file or directory.
* Run a command.
* Add a file or directory.
* Create an environment variable.
* What process to run when launching a container from this image.
@ -213,7 +215,7 @@ minimum the Docker client needs to tell the Docker daemon to run the container
is:
* What Docker image to build the container from, here `ubuntu`, a base Ubuntu
image;
image;
* The command you want to run inside the container when it is launched,
here `/bin/bash`, to start the Bash shell inside the new container.
@ -224,16 +226,16 @@ In order, Docker does the following:
- **Pulls the `ubuntu` image:** Docker checks for the presence of the `ubuntu`
image and, if it doesn't exist locally on the host, then Docker downloads it from
[Docker Hub](https://hub.docker.com). If the image already exists, then Docker
uses it for the new container.
uses it for the new container.
- **Creates a new container:** Once Docker has the image, it uses it to create a
container.
- **Allocates a filesystem and mounts a read-write _layer_:** The container is created in
container.
- **Allocates a filesystem and mounts a read-write _layer_:** The container is created in
the file system and a read-write layer is added to the image.
- **Allocates a network / bridge interface:** Creates a network interface that allows the
Docker container to talk to the local host.
- **Sets up an IP address:** Finds and attaches an available IP address from a pool.
- **Executes a process that you specify:** Runs your application, and;
- **Captures and provides application output:** Connects and logs standard input, outputs
- **Allocates a network / bridge interface:** Creates a network interface that allows the
Docker container to talk to the local host.
- **Sets up an IP address:** Finds and attaches an available IP address from a pool.
- **Executes a process that you specify:** Runs your application, and;
- **Captures and provides application output:** Connects and logs standard input, outputs
and errors for you to see how your application is running.
You now have a running container! From here you can manage your container, interact with
@ -241,7 +243,7 @@ your application and then, when finished, stop and remove your container.
## The underlying technology
Docker is written in Go and makes use of several kernel features to
deliver the functionality we've seen.
deliver the functionality we've seen.
### Namespaces
Docker takes advantage of a technology called `namespaces` to provide the
@ -253,12 +255,12 @@ namespace and does not have access outside it.
Some of the namespaces that Docker uses on Linux are:
- **The `pid` namespace:** Used for process isolation (PID: Process ID).
- **The `pid` namespace:** Used for process isolation (PID: Process ID).
- **The `net` namespace:** Used for managing network interfaces (NET:
Networking).
Networking).
- **The `ipc` namespace:** Used for managing access to IPC
resources (IPC: InterProcess Communication).
- **The `mnt` namespace:** Used for managing mount-points (MNT: Mount).
resources (IPC: InterProcess Communication).
- **The `mnt` namespace:** Used for managing mount-points (MNT: Mount).
- **The `uts` namespace:** Used for isolating kernel and version identifiers. (UTS: Unix
Timesharing System).
@ -276,7 +278,7 @@ making them very lightweight and fast. Docker uses union file systems to provide
the building blocks for containers. Docker can make use of several union file system variants
including: AUFS, btrfs, vfs, and DeviceMapper.
### Container format
### Container format
Docker combines these components into a wrapper we call a container format. The
default container format is called `libcontainer`. In the future, Docker may
support other container formats, for example, by integrating with BSD Jails
@ -284,9 +286,7 @@ or Solaris Zones.
## Next steps
### Installing Docker
Visit the [installation section](../installation/index.md#installation).
Visit the [installation section](installation/index.md#installation).
### The Docker user guide
[Learn Docker in depth](../userguide/index.md).
[Learn Docker in depth](userguide/index.md).

View file

@ -1,10 +1,11 @@
<!--[metadata]>
+++
aliases = ["/engine/userguide/dockerimages/"]
title = "Build your own images"
description = "How to work with Docker images."
keywords = ["documentation, docs, the docker guide, docker guide, docker, docker platform, docker.io, Docker images, Docker image, image management, Docker repos, Docker repositories, docker, docker tag, docker tags, Docker Hub, collaboration"]
[menu.main]
parent = "smn_containers"
parent = "engine_learn"
weight = -4
+++
<![end-metadata]-->
@ -471,10 +472,10 @@ You can then create a container from our new image.
> This is just a brief introduction to creating images. We've
> skipped a whole bunch of other instructions that you can use. We'll see more of
> those instructions in later sections of the Guide or you can refer to the
> [`Dockerfile`](../reference/builder.md) reference for a
> [`Dockerfile`](../../reference/builder.md) reference for a
> detailed description and examples of every instruction.
> To help you write a clear, readable, maintainable `Dockerfile`, we've also
> written a [`Dockerfile` Best Practices guide](../articles/dockerfile_best-practices.md).
> written a [`Dockerfile` Best Practices guide](../eng-image/dockerfile_best-practices.md).
## Setting tags on an image

View file

@ -1,10 +1,11 @@
<!--[metadata]>
+++
aliases = ["/engine/userguide/dockerizing/"]
title = "Hello world in a container"
description = "A simple 'Hello world' exercise that introduced you to Docker."
keywords = ["docker guide, docker, docker platform, how to, dockerize, dockerizing apps, dockerizing applications, container, containers"]
[menu.main]
parent="smn_containers"
parent="engine_learn"
weight=-6
+++
<![end-metadata]-->

Some files were not shown because too many files have changed in this diff Show more