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>
|
@ -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:
|
||||
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 76 KiB After Width: | Height: | Size: 76 KiB |
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 70 KiB |
Before Width: | Height: | Size: 9.4 KiB After Width: | Height: | Size: 9.4 KiB |
|
@ -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]-->
|
||||
|
|
@ -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]-->
|
||||
|
|
@ -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:
|
||||
|
||||
```
|
|
@ -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]-->
|
||||
|
|
@ -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
|
@ -0,0 +1,11 @@
|
|||
<!-- [metadata]>
|
||||
+++
|
||||
title = "Administrate"
|
||||
description = "Administrate"
|
||||
keywords = ["Administrate"]
|
||||
[menu.main]
|
||||
parent="engine_use"
|
||||
identifier="engine_admin"
|
||||
weight="-70"
|
||||
+++
|
||||
<![end-metadata]-->
|
|
@ -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.
|
|||
}
|
||||
]
|
||||
}
|
||||
|
||||
|
|
@ -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"]
|
|
@ -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
|
||||
+++
|
|
@ -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"]
|
|
@ -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"]
|
|
@ -1,5 +1,6 @@
|
|||
<!--[metadata]>
|
||||
+++
|
||||
aliases = ["/engine/reference/logging/overview/"]
|
||||
title = "Configuring Logging Drivers"
|
||||
description = "Configure logging driver."
|
||||
keywords = ["docker, logging, driver, Fluentd"]
|
|
@ -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"]
|
|
@ -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
|
|
@ -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).
|
|
@ -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]-->
|
|
@ -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]-->
|
||||
|
|
@ -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
|
@ -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]-->
|
|
@ -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**
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
[]
|
||||
```
|
||||
|
|
|
@ -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]-->
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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/)
|
||||
|
|
|
@ -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]-->
|
||||
|
||||
|
|
|
@ -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]-->
|
||||
|
||||
|
|
|
@ -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]-->
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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]-->
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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]-->
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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).
|
|
@ -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.
|
||||
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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**.
|
||||
|
||||

|
||||

|
||||
|
||||
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.
|
||||
|
||||

|
||||

|
||||
|
||||
3. Choose an instance type.
|
||||
|
||||

|
||||

|
||||
|
||||
4. Configure the instance.
|
||||
|
||||
You can select the default network and subnet, which are inherently linked to a region and availability zone.
|
||||
|
||||

|
||||

|
||||
|
||||
5. Click **Review and Launch**.
|
||||
|
|
@ -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.
|
||||
|
||||

|
||||

|
||||
|
||||
2. Click **Generate New Token** to get to the token generator.
|
||||
|
||||

|
||||

|
||||
|
||||
3. Give the token a clever name (e.g. "machine"), make sure the **Write (Optional)** checkbox is checked, and click **Generate Token**.
|
||||
|
||||

|
||||

|
||||
|
||||
4. Grab (copy to clipboard) the generated big long hex string and store it somewhere safe.
|
||||
|
||||

|
||||

|
||||
|
||||
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.
|
||||
|
||||

|
||||

|
||||
|
||||
3. At the command terminal, run `docker-machine ls`.
|
||||
|
|
@ -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]-->
|
25
docs/installation/cloud/index.md
Normal 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)
|
|
@ -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//)
|
||||
|
|
|
@ -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).
|
|
@ -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
|
||||
|
|
@ -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
|
|
@ -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]-->
|
||||
|
|
@ -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).
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
29
docs/installation/linux/index.md
Normal 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).
|
|
@ -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's
|
||||
> the Administrator'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's
|
||||
> the Administrator'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
|
||||
|
|
@ -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
|
|
@ -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:
|
|
@ -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]-->
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 we’ve 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
|
||||
host’s TLS certificates for good security practice and for if a host’s 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).
|
|
@ -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.
|
|
@ -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)
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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]-->
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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`.
|
||||
|
|
|
@ -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`.
|
||||
|
|
|
@ -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`.
|
||||
|
|
|
@ -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`.
|
||||
|
|
|
@ -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`.
|
||||
|
|
|
@ -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`.
|
||||
|
|
|
@ -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`.
|
||||
|
|
|
@ -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`.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
16
docs/reference/api/index.md
Normal 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)
|
|
@ -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.
|
||||
|
|
@ -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>
|
|
@ -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]-->
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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]-->
|
||||
|
||||
|
|
|
@ -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:**
|
||||
|
|
|
@ -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
|
@ -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)
|
|
@ -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).
|
||||
|
|
|
@ -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"]
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
||||

|
||||

|
||||
|
||||
### 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).
|
|
@ -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
|
|
@ -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]-->
|