From e310d070f498a2ac494c6d3fde0ec5d6e4479e14 Mon Sep 17 00:00:00 2001 From: Mary Anthony Date: Sat, 23 Jan 2016 20:36:40 -0800 Subject: [PATCH] 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 --- .../ambassador_pattern_linking.md | 5 +- .../b2d_volume_images/add_cd.png | Bin .../b2d_volume_images/add_new_controller.png | Bin .../b2d_volume_images/add_volume.png | Bin .../b2d_volume_images/boot_order.png | Bin .../b2d_volume_images/gparted.png | Bin .../b2d_volume_images/gparted2.png | Bin .../b2d_volume_images/verify.png | Bin docs/{articles => admin}/b2d_volume_resize.md | 0 .../cfengine_process_management.md | 3 +- docs/{articles => admin}/chef.md | 3 +- docs/{articles => admin}/configuring.md | 23 +- docs/{articles => admin}/dsc.md | 3 +- docs/{articles => admin}/host_integration.md | 3 +- docs/admin/index.md | 11 + docs/{reference => admin}/logging/awslogs.md | 3 +- docs/{reference => admin}/logging/fluentd.md | 1 + docs/{reference => admin}/logging/index.md | 3 +- docs/{reference => admin}/logging/journald.md | 1 + docs/{reference => admin}/logging/log_tags.md | 1 + docs/{reference => admin}/logging/overview.md | 1 + docs/{reference => admin}/logging/splunk.md | 1 + docs/{articles => admin}/puppet.md | 5 +- docs/{articles => admin}/registry_mirror.md | 5 +- docs/{articles => admin}/runmetrics.md | 3 +- docs/{articles => admin}/systemd.md | 4 +- docs/{articles => admin}/using_supervisord.md | 3 +- docs/articles/index.md | 10 + docs/{misc => }/deprecated.md | 10 +- docs/examples/apt-cacher-ng.md | 4 +- docs/examples/couchbase.md | 18 +- docs/examples/couchdb_data_volumes.md | 2 +- docs/examples/index.md | 12 +- docs/examples/mongodb.md | 4 +- docs/examples/nodejs_web_app.md | 2 +- docs/examples/postgresql_service.md | 2 +- docs/examples/running_redis_service.md | 2 +- docs/examples/running_riak_service.md | 10 +- docs/examples/running_ssh_service.md | 2 +- docs/extend/authorization.md | 12 +- docs/extend/index.md | 12 +- docs/extend/plugin_api.md | 2 +- docs/extend/plugins.md | 8 +- docs/extend/plugins_network.md | 16 +- docs/extend/plugins_volume.md | 17 +- docs/{misc => }/faq.md | 43 +- docs/{misc => }/index.md | 21 +- docs/installation/binaries.md | 16 +- docs/installation/{ => cloud}/cloud-ex-aws.md | 10 +- .../{ => cloud}/cloud-ex-machine-ocean.md | 12 +- docs/installation/{ => cloud}/cloud.md | 10 +- docs/installation/cloud/index.md | 25 + docs/installation/index.md | 38 +- docs/installation/{ => linux}/SUSE.md | 7 +- docs/installation/{ => linux}/archlinux.md | 5 +- docs/installation/{ => linux}/centos.md | 7 +- docs/installation/{ => linux}/cruxlinux.md | 3 +- docs/installation/{ => linux}/debian.md | 7 +- docs/installation/{ => linux}/fedora.md | 7 +- docs/installation/{ => linux}/frugalware.md | 5 +- docs/installation/{ => linux}/gentoolinux.md | 25 +- docs/installation/linux/index.md | 29 + docs/installation/{ => linux}/oracle.md | 19 +- docs/installation/{ => linux}/rhel.md | 7 +- docs/installation/{ => linux}/ubuntulinux.md | 7 +- docs/installation/mac.md | 3 +- docs/installation/windows.md | 11 +- docs/misc/release-notes.md | 161 ----- docs/misc/search.md | 16 - docs/{userguide/basics.md => quickstart.md} | 24 +- docs/reference/api/docker-io_api.md | 4 +- docs/reference/api/docker_io_accounts_api.md | 3 +- docs/reference/api/docker_remote_api.md | 8 +- docs/reference/api/docker_remote_api_v1.14.md | 4 +- docs/reference/api/docker_remote_api_v1.15.md | 4 +- docs/reference/api/docker_remote_api_v1.16.md | 4 +- docs/reference/api/docker_remote_api_v1.17.md | 4 +- docs/reference/api/docker_remote_api_v1.18.md | 4 +- docs/reference/api/docker_remote_api_v1.19.md | 4 +- docs/reference/api/docker_remote_api_v1.20.md | 4 +- docs/reference/api/docker_remote_api_v1.21.md | 4 +- docs/reference/api/docker_remote_api_v1.22.md | 8 +- docs/reference/api/docker_remote_api_v1.23.md | 8 +- docs/reference/api/hub_registry_spec.md | 3 +- docs/reference/api/index.md | 16 + docs/reference/api/registry_api.md | 598 ------------------ .../api/registry_api_client_libraries.md | 49 -- .../api/remote_api_client_libraries.md | 3 +- docs/reference/builder.md | 17 +- docs/reference/commandline/export.md | 2 +- docs/reference/commandline/index.md | 5 +- docs/reference/commandline/search.md | 2 +- docs/reference/commandline/tag.md | 2 +- docs/reference/index.md | 18 + docs/reference/run.md | 23 +- docs/security/certificates.md | 2 +- docs/security/index.md | 6 +- .../understanding-docker.md | 58 +- .../{ => containers}/dockerimages.md | 7 +- .../userguide/{ => containers}/dockerizing.md | 3 +- .../userguide/{ => containers}/dockerrepos.md | 3 +- .../{ => containers}/dockervolumes.md | 15 +- docs/userguide/containers/index.md | 19 + .../{ => containers}/networkingcontainers.md | 9 +- docs/userguide/{ => containers}/search.png | Bin .../userguide/{ => containers}/usingdocker.md | 8 +- docs/userguide/{ => containers}/webapp1.png | Bin .../eng-image}/baseimages.md | 7 +- .../eng-image}/dockerfile_best-practices.md | 43 +- .../{ => eng-image}/image_management.md | 8 +- docs/userguide/eng-image/index.md | 16 + docs/userguide/index.md | 126 +--- docs/userguide/intro.md | 119 ++++ docs/userguide/labels-custom-metadata.md | 3 +- .../networking/default_network/dockerlinks.md | 4 +- docs/userguide/networking/dockernetworks.md | 4 +- docs/userguide/networking/index.md | 2 +- docs/userguide/storagedriver/aufs-driver.md | 2 +- docs/userguide/storagedriver/btrfs-driver.md | 2 +- .../storagedriver/device-mapper-driver.md | 2 +- .../storagedriver/imagesandcontainers.md | 2 +- docs/userguide/storagedriver/index.md | 4 +- .../storagedriver/overlayfs-driver.md | 2 +- docs/userguide/storagedriver/selectadriver.md | 2 +- docs/userguide/storagedriver/zfs-driver.md | 2 +- 125 files changed, 695 insertions(+), 1331 deletions(-) rename docs/{articles => admin}/ambassador_pattern_linking.md (98%) rename docs/{articles => admin}/b2d_volume_images/add_cd.png (100%) rename docs/{articles => admin}/b2d_volume_images/add_new_controller.png (100%) rename docs/{articles => admin}/b2d_volume_images/add_volume.png (100%) rename docs/{articles => admin}/b2d_volume_images/boot_order.png (100%) rename docs/{articles => admin}/b2d_volume_images/gparted.png (100%) rename docs/{articles => admin}/b2d_volume_images/gparted2.png (100%) rename docs/{articles => admin}/b2d_volume_images/verify.png (100%) rename docs/{articles => admin}/b2d_volume_resize.md (100%) rename docs/{articles => admin}/cfengine_process_management.md (98%) rename docs/{articles => admin}/chef.md (96%) rename docs/{articles => admin}/configuring.md (95%) rename docs/{articles => admin}/dsc.md (98%) rename docs/{articles => admin}/host_integration.md (97%) create mode 100644 docs/admin/index.md rename docs/{reference => admin}/logging/awslogs.md (98%) rename docs/{reference => admin}/logging/fluentd.md (98%) rename docs/{reference => admin}/logging/index.md (87%) rename docs/{reference => admin}/logging/journald.md (98%) rename docs/{reference => admin}/logging/log_tags.md (97%) rename docs/{reference => admin}/logging/overview.md (99%) rename docs/{reference => admin}/logging/splunk.md (99%) rename docs/{articles => admin}/puppet.md (95%) rename docs/{articles => admin}/registry_mirror.md (80%) rename docs/{articles => admin}/runmetrics.md (99%) rename docs/{articles => admin}/systemd.md (98%) rename docs/{articles => admin}/using_supervisord.md (98%) create mode 100644 docs/articles/index.md rename docs/{misc => }/deprecated.md (96%) rename docs/{misc => }/faq.md (89%) rename docs/{misc => }/index.md (90%) rename docs/installation/{ => cloud}/cloud-ex-aws.md (97%) rename docs/installation/{ => cloud}/cloud-ex-machine-ocean.md (96%) rename docs/installation/{ => cloud}/cloud.md (91%) create mode 100644 docs/installation/cloud/index.md rename docs/installation/{ => linux}/SUSE.md (95%) rename docs/installation/{ => linux}/archlinux.md (94%) rename docs/installation/{ => linux}/centos.md (96%) rename docs/installation/{ => linux}/cruxlinux.md (97%) rename docs/installation/{ => linux}/debian.md (95%) rename docs/installation/{ => linux}/fedora.md (96%) rename docs/installation/{ => linux}/frugalware.md (91%) rename docs/installation/{ => linux}/gentoolinux.md (92%) create mode 100644 docs/installation/linux/index.md rename docs/installation/{ => linux}/oracle.md (94%) rename docs/installation/{ => linux}/rhel.md (96%) rename docs/installation/{ => linux}/ubuntulinux.md (98%) delete mode 100644 docs/misc/release-notes.md delete mode 100644 docs/misc/search.md rename docs/{userguide/basics.md => quickstart.md} (88%) create mode 100644 docs/reference/api/index.md delete mode 100644 docs/reference/api/registry_api.md delete mode 100644 docs/reference/api/registry_api_client_libraries.md create mode 100644 docs/reference/index.md rename docs/{introduction => }/understanding-docker.md (94%) rename docs/userguide/{ => containers}/dockerimages.md (99%) rename docs/userguide/{ => containers}/dockerizing.md (99%) rename docs/userguide/{ => containers}/dockerrepos.md (99%) rename docs/userguide/{ => containers}/dockervolumes.md (94%) create mode 100644 docs/userguide/containers/index.md rename docs/userguide/{ => containers}/networkingcontainers.md (98%) rename docs/userguide/{ => containers}/search.png (100%) rename docs/userguide/{ => containers}/usingdocker.md (98%) rename docs/userguide/{ => containers}/webapp1.png (100%) rename docs/{articles => userguide/eng-image}/baseimages.md (90%) rename docs/{articles => userguide/eng-image}/dockerfile_best-practices.md (92%) rename docs/userguide/{ => eng-image}/image_management.md (92%) create mode 100644 docs/userguide/eng-image/index.md create mode 100644 docs/userguide/intro.md diff --git a/docs/articles/ambassador_pattern_linking.md b/docs/admin/ambassador_pattern_linking.md similarity index 98% rename from docs/articles/ambassador_pattern_linking.md rename to docs/admin/ambassador_pattern_linking.md index 7684f37961..b5c3041129 100644 --- a/docs/articles/ambassador_pattern_linking.md +++ b/docs/admin/ambassador_pattern_linking.md @@ -1,18 +1,17 @@ # 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: diff --git a/docs/articles/b2d_volume_images/add_cd.png b/docs/admin/b2d_volume_images/add_cd.png similarity index 100% rename from docs/articles/b2d_volume_images/add_cd.png rename to docs/admin/b2d_volume_images/add_cd.png diff --git a/docs/articles/b2d_volume_images/add_new_controller.png b/docs/admin/b2d_volume_images/add_new_controller.png similarity index 100% rename from docs/articles/b2d_volume_images/add_new_controller.png rename to docs/admin/b2d_volume_images/add_new_controller.png diff --git a/docs/articles/b2d_volume_images/add_volume.png b/docs/admin/b2d_volume_images/add_volume.png similarity index 100% rename from docs/articles/b2d_volume_images/add_volume.png rename to docs/admin/b2d_volume_images/add_volume.png diff --git a/docs/articles/b2d_volume_images/boot_order.png b/docs/admin/b2d_volume_images/boot_order.png similarity index 100% rename from docs/articles/b2d_volume_images/boot_order.png rename to docs/admin/b2d_volume_images/boot_order.png diff --git a/docs/articles/b2d_volume_images/gparted.png b/docs/admin/b2d_volume_images/gparted.png similarity index 100% rename from docs/articles/b2d_volume_images/gparted.png rename to docs/admin/b2d_volume_images/gparted.png diff --git a/docs/articles/b2d_volume_images/gparted2.png b/docs/admin/b2d_volume_images/gparted2.png similarity index 100% rename from docs/articles/b2d_volume_images/gparted2.png rename to docs/admin/b2d_volume_images/gparted2.png diff --git a/docs/articles/b2d_volume_images/verify.png b/docs/admin/b2d_volume_images/verify.png similarity index 100% rename from docs/articles/b2d_volume_images/verify.png rename to docs/admin/b2d_volume_images/verify.png diff --git a/docs/articles/b2d_volume_resize.md b/docs/admin/b2d_volume_resize.md similarity index 100% rename from docs/articles/b2d_volume_resize.md rename to docs/admin/b2d_volume_resize.md diff --git a/docs/articles/cfengine_process_management.md b/docs/admin/cfengine_process_management.md similarity index 98% rename from docs/articles/cfengine_process_management.md rename to docs/admin/cfengine_process_management.md index b2e5737307..be62e410c2 100644 --- a/docs/articles/cfengine_process_management.md +++ b/docs/admin/cfengine_process_management.md @@ -1,10 +1,11 @@ diff --git a/docs/articles/chef.md b/docs/admin/chef.md similarity index 96% rename from docs/articles/chef.md rename to docs/admin/chef.md index 42312c35a3..ba2f680919 100644 --- a/docs/articles/chef.md +++ b/docs/admin/chef.md @@ -1,10 +1,11 @@ diff --git a/docs/articles/configuring.md b/docs/admin/configuring.md similarity index 95% rename from docs/articles/configuring.md rename to docs/admin/configuring.md index 0146218ab8..b50d0d755e 100644 --- a/docs/articles/configuring.md +++ b/docs/admin/configuring.md @@ -1,10 +1,11 @@ @@ -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: ``` diff --git a/docs/articles/dsc.md b/docs/admin/dsc.md similarity index 98% rename from docs/articles/dsc.md rename to docs/admin/dsc.md index 2fe7553b78..84bd1d4f9e 100644 --- a/docs/articles/dsc.md +++ b/docs/admin/dsc.md @@ -1,10 +1,11 @@ diff --git a/docs/articles/host_integration.md b/docs/admin/host_integration.md similarity index 97% rename from docs/articles/host_integration.md rename to docs/admin/host_integration.md index c1712a0701..3f71592c46 100644 --- a/docs/articles/host_integration.md +++ b/docs/admin/host_integration.md @@ -1,10 +1,11 @@ diff --git a/docs/admin/index.md b/docs/admin/index.md new file mode 100644 index 0000000000..0f0ab7d430 --- /dev/null +++ b/docs/admin/index.md @@ -0,0 +1,11 @@ + diff --git a/docs/reference/logging/awslogs.md b/docs/admin/logging/awslogs.md similarity index 98% rename from docs/reference/logging/awslogs.md rename to docs/admin/logging/awslogs.md index 99f7db3da1..3f90c41426 100644 --- a/docs/reference/logging/awslogs.md +++ b/docs/admin/logging/awslogs.md @@ -1,5 +1,6 @@ @@ -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 diff --git a/docs/articles/registry_mirror.md b/docs/admin/registry_mirror.md similarity index 80% rename from docs/articles/registry_mirror.md rename to docs/admin/registry_mirror.md index 0d5fff5d16..2d67f9c5cd 100644 --- a/docs/articles/registry_mirror.md +++ b/docs/admin/registry_mirror.md @@ -1,10 +1,11 @@ @@ -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). diff --git a/docs/articles/runmetrics.md b/docs/admin/runmetrics.md similarity index 99% rename from docs/articles/runmetrics.md rename to docs/admin/runmetrics.md index dc494c6967..b1d88100fa 100644 --- a/docs/articles/runmetrics.md +++ b/docs/admin/runmetrics.md @@ -1,10 +1,11 @@ diff --git a/docs/articles/systemd.md b/docs/admin/systemd.md similarity index 98% rename from docs/articles/systemd.md rename to docs/admin/systemd.md index 5eec275ca8..82afb36e9f 100644 --- a/docs/articles/systemd.md +++ b/docs/admin/systemd.md @@ -1,11 +1,11 @@ diff --git a/docs/articles/using_supervisord.md b/docs/admin/using_supervisord.md similarity index 98% rename from docs/articles/using_supervisord.md rename to docs/admin/using_supervisord.md index 93c288b0b3..f8a2625012 100644 --- a/docs/articles/using_supervisord.md +++ b/docs/admin/using_supervisord.md @@ -1,10 +1,11 @@ diff --git a/docs/articles/index.md b/docs/articles/index.md new file mode 100644 index 0000000000..3eac9cda29 --- /dev/null +++ b/docs/articles/index.md @@ -0,0 +1,10 @@ + diff --git a/docs/misc/deprecated.md b/docs/deprecated.md similarity index 96% rename from docs/misc/deprecated.md rename to docs/deprecated.md index d455f1349e..4ed127f953 100644 --- a/docs/misc/deprecated.md +++ b/docs/deprecated.md @@ -1,16 +1,18 @@ -# 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** diff --git a/docs/examples/apt-cacher-ng.md b/docs/examples/apt-cacher-ng.md index 3cded255db..4208dff2b8 100644 --- a/docs/examples/apt-cacher-ng.md +++ b/docs/examples/apt-cacher-ng.md @@ -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" +++ # 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 diff --git a/docs/examples/couchbase.md b/docs/examples/couchbase.md index ffeb6f2574..0144fc8da8 100644 --- a/docs/examples/couchbase.md +++ b/docs/examples/couchbase.md @@ -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" +++ @@ -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 [] ``` diff --git a/docs/examples/couchdb_data_volumes.md b/docs/examples/couchdb_data_volumes.md index 5493af839d..972e78a7ad 100644 --- a/docs/examples/couchdb_data_volumes.md +++ b/docs/examples/couchdb_data_volumes.md @@ -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" +++ diff --git a/docs/examples/index.md b/docs/examples/index.md index 907d5aaede..87dd2b3fd9 100644 --- a/docs/examples/index.md +++ b/docs/examples/index.md @@ -1,16 +1,16 @@ -# 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) diff --git a/docs/examples/mongodb.md b/docs/examples/mongodb.md index 88ba444502..f6498e0cc5 100644 --- a/docs/examples/mongodb.md +++ b/docs/examples/mongodb.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" +++ @@ -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/) diff --git a/docs/examples/nodejs_web_app.md b/docs/examples/nodejs_web_app.md index 158432a217..55425c0672 100644 --- a/docs/examples/nodejs_web_app.md +++ b/docs/examples/nodejs_web_app.md @@ -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" +++ diff --git a/docs/examples/postgresql_service.md b/docs/examples/postgresql_service.md index 9c0938d108..8d5f675260 100644 --- a/docs/examples/postgresql_service.md +++ b/docs/examples/postgresql_service.md @@ -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" +++ diff --git a/docs/examples/running_redis_service.md b/docs/examples/running_redis_service.md index d8b673bdcd..82daaa7830 100644 --- a/docs/examples/running_redis_service.md +++ b/docs/examples/running_redis_service.md @@ -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" +++ diff --git a/docs/examples/running_riak_service.md b/docs/examples/running_riak_service.md index 8b18ac9342..a6c3d3f4d4 100644 --- a/docs/examples/running_riak_service.md +++ b/docs/examples/running_riak_service.md @@ -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" +++ @@ -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 diff --git a/docs/examples/running_ssh_service.md b/docs/examples/running_ssh_service.md index c22e510cf6..284a53942a 100644 --- a/docs/examples/running_ssh_service.md +++ b/docs/examples/running_ssh_service.md @@ -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" +++ diff --git a/docs/extend/authorization.md b/docs/extend/authorization.md index 48790833cf..3512c56ccd 100644 --- a/docs/extend/authorization.md +++ b/docs/extend/authorization.md @@ -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 +++ @@ -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 diff --git a/docs/extend/index.md b/docs/extend/index.md index b533ea1936..f491926e9a 100644 --- a/docs/extend/index.md +++ b/docs/extend/index.md @@ -1,19 +1,19 @@ -## 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) diff --git a/docs/extend/plugin_api.md b/docs/extend/plugin_api.md index 8e2862f6cb..c6793a3dda 100644 --- a/docs/extend/plugin_api.md +++ b/docs/extend/plugin_api.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 +++ diff --git a/docs/extend/plugins.md b/docs/extend/plugins.md index 09362145a5..5a91010b1c 100644 --- a/docs/extend/plugins.md +++ b/docs/extend/plugins.md @@ -1,15 +1,15 @@ -# 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. diff --git a/docs/extend/plugins_network.md b/docs/extend/plugins_network.md index 01e8089f7e..ac07273219 100644 --- a/docs/extend/plugins_network.md +++ b/docs/extend/plugins_network.md @@ -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" +++ -# 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 diff --git a/docs/extend/plugins_volume.md b/docs/extend/plugins_volume.md index 1814708275..cb1bebf581 100644 --- a/docs/extend/plugins_volume.md +++ b/docs/extend/plugins_volume.md @@ -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" +++ # 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. - diff --git a/docs/misc/faq.md b/docs/faq.md similarity index 89% rename from docs/misc/faq.md rename to docs/faq.md index 5475cb0c19..abf1b1c036 100644 --- a/docs/misc/faq.md +++ b/docs/faq.md @@ -1,11 +1,12 @@ @@ -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). diff --git a/docs/misc/index.md b/docs/index.md similarity index 90% rename from docs/misc/index.md rename to docs/index.md index 28b239ff97..5a626c323d 100644 --- a/docs/misc/index.md +++ b/docs/index.md @@ -1,14 +1,16 @@ - -# 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. - diff --git a/docs/installation/binaries.md b/docs/installation/binaries.md index b5f56d0f28..4c0f85c067 100644 --- a/docs/installation/binaries.md +++ b/docs/installation/binaries.md @@ -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 +++ @@ -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- - + https://get.docker.com/builds/Linux/x86_64/docker- 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-.exe - + https://get.docker.com/builds/Windows/x86_64/docker-.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. diff --git a/docs/installation/cloud-ex-aws.md b/docs/installation/cloud/cloud-ex-aws.md similarity index 97% rename from docs/installation/cloud-ex-aws.md rename to docs/installation/cloud/cloud-ex-aws.md index 70d3fc79c2..3163865ad6 100644 --- a/docs/installation/cloud-ex-aws.md +++ b/docs/installation/cloud/cloud-ex-aws.md @@ -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" +++ @@ -34,23 +34,23 @@ Launch an instance to create a virtual machine (VM) with a specified operating s On the AWS home page, click **EC2** to go to the dashboard, then click **Launch Instance**. - ![EC2 dashboard](images/ec2_launch_instance.png) + ![EC2 dashboard](../images/ec2_launch_instance.png) AWS EC2 virtual servers are called *instances* in Amazon parlance. Once you set up an account, IAM user and key pair, you are ready to launch an instance. It is at this point that you select the OS for the VM. 2. Choose an Amazon Machine Image (AMI) with the OS and applications you want. For this example, we select an Ubuntu server. - ![Launch Ubuntu](images/ec2-ubuntu.png) + ![Launch Ubuntu](../images/ec2-ubuntu.png) 3. Choose an instance type. - ![Choose a general purpose instance type](images/ec2_instance_type.png) + ![Choose a general purpose instance type](../images/ec2_instance_type.png) 4. Configure the instance. You can select the default network and subnet, which are inherently linked to a region and availability zone. - ![Configure the instance](images/ec2_instance_details.png) + ![Configure the instance](../images/ec2_instance_details.png) 5. Click **Review and Launch**. diff --git a/docs/installation/cloud-ex-machine-ocean.md b/docs/installation/cloud/cloud-ex-machine-ocean.md similarity index 96% rename from docs/installation/cloud-ex-machine-ocean.md rename to docs/installation/cloud/cloud-ex-machine-ocean.md index 678208208e..2164f4bf22 100644 --- a/docs/installation/cloud-ex-machine-ocean.md +++ b/docs/installation/cloud/cloud-ex-machine-ocean.md @@ -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" +++ @@ -28,19 +28,19 @@ To generate your access token: 1. Go to the Digital Ocean administrator console and click **API** in the header. - ![Click API in Digital Ocean console](images/ocean_click_api.png) + ![Click API in Digital Ocean console](../images/ocean_click_api.png) 2. Click **Generate New Token** to get to the token generator. - ![Generate token](images/ocean_gen_token.png) + ![Generate token](../images/ocean_gen_token.png) 3. Give the token a clever name (e.g. "machine"), make sure the **Write (Optional)** checkbox is checked, and click **Generate Token**. - ![Name and generate token](images/ocean_token_create.png) + ![Name and generate token](../images/ocean_token_create.png) 4. Grab (copy to clipboard) the generated big long hex string and store it somewhere safe. - ![Copy and save personal access token](images/ocean_save_token.png) + ![Copy and save personal access token](../images/ocean_save_token.png) This is the personal access token you'll use in the next step to create your cloud server. @@ -133,7 +133,7 @@ To generate your access token: 2. Go to the Digital Ocean console to view the new Droplet. - ![Droplet in Digital Ocean created with Machine](images/ocean_droplet.png) + ![Droplet in Digital Ocean created with Machine](../images/ocean_droplet.png) 3. At the command terminal, run `docker-machine ls`. diff --git a/docs/installation/cloud.md b/docs/installation/cloud/cloud.md similarity index 91% rename from docs/installation/cloud.md rename to docs/installation/cloud/cloud.md index 693b9ae60a..d5ba411b9c 100644 --- a/docs/installation/cloud.md +++ b/docs/installation/cloud/cloud.md @@ -1,18 +1,10 @@ diff --git a/docs/installation/cloud/index.md b/docs/installation/cloud/index.md new file mode 100644 index 0000000000..96589c4608 --- /dev/null +++ b/docs/installation/cloud/index.md @@ -0,0 +1,25 @@ + + +# 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) diff --git a/docs/installation/index.md b/docs/installation/index.md index 383d9d4236..54d85c107c 100644 --- a/docs/installation/index.md +++ b/docs/installation/index.md @@ -1,8 +1,12 @@ @@ -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//) diff --git a/docs/installation/SUSE.md b/docs/installation/linux/SUSE.md similarity index 95% rename from docs/installation/SUSE.md rename to docs/installation/linux/SUSE.md index cc5cde0761..797a329e9a 100644 --- a/docs/installation/SUSE.md +++ b/docs/installation/linux/SUSE.md @@ -1,10 +1,11 @@ @@ -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). diff --git a/docs/installation/archlinux.md b/docs/installation/linux/archlinux.md similarity index 94% rename from docs/installation/archlinux.md rename to docs/installation/linux/archlinux.md index 9172f9066b..b62b21c674 100644 --- a/docs/installation/archlinux.md +++ b/docs/installation/linux/archlinux.md @@ -1,10 +1,11 @@ @@ -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 diff --git a/docs/installation/centos.md b/docs/installation/linux/centos.md similarity index 96% rename from docs/installation/centos.md rename to docs/installation/linux/centos.md index 84a9b791ab..d0569f61bb 100644 --- a/docs/installation/centos.md +++ b/docs/installation/linux/centos.md @@ -1,10 +1,11 @@ @@ -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 diff --git a/docs/installation/cruxlinux.md b/docs/installation/linux/cruxlinux.md similarity index 97% rename from docs/installation/cruxlinux.md rename to docs/installation/linux/cruxlinux.md index f70fb9770a..583f3f45ba 100644 --- a/docs/installation/cruxlinux.md +++ b/docs/installation/linux/cruxlinux.md @@ -1,10 +1,11 @@ diff --git a/docs/installation/debian.md b/docs/installation/linux/debian.md similarity index 95% rename from docs/installation/debian.md rename to docs/installation/linux/debian.md index 2621507b76..c4adab8f26 100644 --- a/docs/installation/debian.md +++ b/docs/installation/linux/debian.md @@ -1,10 +1,11 @@ @@ -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). diff --git a/docs/installation/fedora.md b/docs/installation/linux/fedora.md similarity index 96% rename from docs/installation/fedora.md rename to docs/installation/linux/fedora.md index b45a5de048..3fd46e9a5a 100644 --- a/docs/installation/fedora.md +++ b/docs/installation/linux/fedora.md @@ -1,10 +1,11 @@ @@ -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 diff --git a/docs/installation/frugalware.md b/docs/installation/linux/frugalware.md similarity index 91% rename from docs/installation/frugalware.md rename to docs/installation/linux/frugalware.md index b93267b0ff..40368302c0 100644 --- a/docs/installation/frugalware.md +++ b/docs/installation/linux/frugalware.md @@ -1,10 +1,11 @@ @@ -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 diff --git a/docs/installation/gentoolinux.md b/docs/installation/linux/gentoolinux.md similarity index 92% rename from docs/installation/gentoolinux.md rename to docs/installation/linux/gentoolinux.md index 3295eef166..dac0497465 100644 --- a/docs/installation/gentoolinux.md +++ b/docs/installation/linux/gentoolinux.md @@ -1,10 +1,11 @@ @@ -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 diff --git a/docs/installation/linux/index.md b/docs/installation/linux/index.md new file mode 100644 index 0000000000..2fb81ae2ed --- /dev/null +++ b/docs/installation/linux/index.md @@ -0,0 +1,29 @@ + + +# 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). diff --git a/docs/installation/oracle.md b/docs/installation/linux/oracle.md similarity index 94% rename from docs/installation/oracle.md rename to docs/installation/linux/oracle.md index 077b49cdb8..a154346494 100644 --- a/docs/installation/oracle.md +++ b/docs/installation/linux/oracle.md @@ -1,10 +1,11 @@ @@ -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 diff --git a/docs/installation/rhel.md b/docs/installation/linux/rhel.md similarity index 96% rename from docs/installation/rhel.md rename to docs/installation/linux/rhel.md index b550a3790d..d35d09a1b3 100644 --- a/docs/installation/rhel.md +++ b/docs/installation/linux/rhel.md @@ -1,10 +1,11 @@ @@ -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 diff --git a/docs/installation/ubuntulinux.md b/docs/installation/linux/ubuntulinux.md similarity index 98% rename from docs/installation/ubuntulinux.md rename to docs/installation/linux/ubuntulinux.md index 46e95d675f..690e1b3a49 100644 --- a/docs/installation/ubuntulinux.md +++ b/docs/installation/linux/ubuntulinux.md @@ -1,10 +1,11 @@ @@ -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: diff --git a/docs/installation/mac.md b/docs/installation/mac.md index 9ae6604c96..1df35ff791 100644 --- a/docs/installation/mac.md +++ b/docs/installation/mac.md @@ -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" +++ diff --git a/docs/installation/windows.md b/docs/installation/windows.md index 59c1f93dd0..915d468faa 100644 --- a/docs/installation/windows.md +++ b/docs/installation/windows.md @@ -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" +++ @@ -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 diff --git a/docs/misc/release-notes.md b/docs/misc/release-notes.md deleted file mode 100644 index b4d1dc1050..0000000000 --- a/docs/misc/release-notes.md +++ /dev/null @@ -1,161 +0,0 @@ - - -# 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). diff --git a/docs/misc/search.md b/docs/misc/search.md deleted file mode 100644 index 277ba26ec6..0000000000 --- a/docs/misc/search.md +++ /dev/null @@ -1,16 +0,0 @@ - - -# 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. diff --git a/docs/userguide/basics.md b/docs/quickstart.md similarity index 88% rename from docs/userguide/basics.md rename to docs/quickstart.md index 863ece5d20..d8a93227f2 100644 --- a/docs/userguide/basics.md +++ b/docs/quickstart.md @@ -1,16 +1,18 @@ -# 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) diff --git a/docs/reference/api/docker-io_api.md b/docs/reference/api/docker-io_api.md index 1bbeea4906..5e3c684484 100644 --- a/docs/reference/api/docker-io_api.md +++ b/docs/reference/api/docker-io_api.md @@ -1,10 +1,11 @@ @@ -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. - diff --git a/docs/reference/api/docker_io_accounts_api.md b/docs/reference/api/docker_io_accounts_api.md index fd9b2787ef..dfee194b19 100644 --- a/docs/reference/api/docker_io_accounts_api.md +++ b/docs/reference/api/docker_io_accounts_api.md @@ -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 +++ diff --git a/docs/reference/api/docker_remote_api.md b/docs/reference/api/docker_remote_api.md index a17b6f5ca7..4cf7548e6d 100644 --- a/docs/reference/api/docker_remote_api.md +++ b/docs/reference/api/docker_remote_api.md @@ -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 +++ @@ -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. diff --git a/docs/reference/api/docker_remote_api_v1.14.md b/docs/reference/api/docker_remote_api_v1.14.md index 0183dbb8f1..3b8c9030b0 100644 --- a/docs/reference/api/docker_remote_api_v1.14.md +++ b/docs/reference/api/docker_remote_api_v1.14.md @@ -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 +++ @@ -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`. diff --git a/docs/reference/api/docker_remote_api_v1.15.md b/docs/reference/api/docker_remote_api_v1.15.md index eb0a01ec64..088b587d99 100644 --- a/docs/reference/api/docker_remote_api_v1.15.md +++ b/docs/reference/api/docker_remote_api_v1.15.md @@ -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 +++ @@ -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`. diff --git a/docs/reference/api/docker_remote_api_v1.16.md b/docs/reference/api/docker_remote_api_v1.16.md index a985806d79..2fb0cd0c7c 100644 --- a/docs/reference/api/docker_remote_api_v1.16.md +++ b/docs/reference/api/docker_remote_api_v1.16.md @@ -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 +++ @@ -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`. diff --git a/docs/reference/api/docker_remote_api_v1.17.md b/docs/reference/api/docker_remote_api_v1.17.md index 0656597bda..5dbc9d5501 100644 --- a/docs/reference/api/docker_remote_api_v1.17.md +++ b/docs/reference/api/docker_remote_api_v1.17.md @@ -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 +++ @@ -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`. diff --git a/docs/reference/api/docker_remote_api_v1.18.md b/docs/reference/api/docker_remote_api_v1.18.md index b9b6cc1453..b24b434f46 100644 --- a/docs/reference/api/docker_remote_api_v1.18.md +++ b/docs/reference/api/docker_remote_api_v1.18.md @@ -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 +++ @@ -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`. diff --git a/docs/reference/api/docker_remote_api_v1.19.md b/docs/reference/api/docker_remote_api_v1.19.md index 71196dca63..adb63f5f5f 100644 --- a/docs/reference/api/docker_remote_api_v1.19.md +++ b/docs/reference/api/docker_remote_api_v1.19.md @@ -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 +++ @@ -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`. diff --git a/docs/reference/api/docker_remote_api_v1.20.md b/docs/reference/api/docker_remote_api_v1.20.md index 6eb9c4f973..ad80b82d02 100644 --- a/docs/reference/api/docker_remote_api_v1.20.md +++ b/docs/reference/api/docker_remote_api_v1.20.md @@ -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 +++ @@ -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`. diff --git a/docs/reference/api/docker_remote_api_v1.21.md b/docs/reference/api/docker_remote_api_v1.21.md index 9e18a17276..c591351ad9 100644 --- a/docs/reference/api/docker_remote_api_v1.21.md +++ b/docs/reference/api/docker_remote_api_v1.21.md @@ -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 +++ @@ -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`. diff --git a/docs/reference/api/docker_remote_api_v1.22.md b/docs/reference/api/docker_remote_api_v1.22.md index d523b95449..892ee07a03 100644 --- a/docs/reference/api/docker_remote_api_v1.22.md +++ b/docs/reference/api/docker_remote_api_v1.22.md @@ -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 +++ @@ -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=` Matches all or part of a network name. - `id=` Matches all or part of a network id. - `type=["custom"|"builtin"]` Filters networks by type. The `custom` keyword returns all user-defined networks. diff --git a/docs/reference/api/docker_remote_api_v1.23.md b/docs/reference/api/docker_remote_api_v1.23.md index e0c93a251e..499086b2e7 100644 --- a/docs/reference/api/docker_remote_api_v1.23.md +++ b/docs/reference/api/docker_remote_api_v1.23.md @@ -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 +++ @@ -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=` Matches all or part of a network name. - `id=` Matches all or part of a network id. - `type=["custom"|"builtin"]` Filters networks by type. The `custom` keyword returns all user-defined networks. diff --git a/docs/reference/api/hub_registry_spec.md b/docs/reference/api/hub_registry_spec.md index 581a01457d..f2517c2386 100644 --- a/docs/reference/api/hub_registry_spec.md +++ b/docs/reference/api/hub_registry_spec.md @@ -1,5 +1,6 @@ + + +# API Reference + +* [Docker Remote API](docker_remote_api.md) +* [Docker Remote API client libraries](remote_api_client_libraries.md) diff --git a/docs/reference/api/registry_api.md b/docs/reference/api/registry_api.md deleted file mode 100644 index 9da7cae683..0000000000 --- a/docs/reference/api/registry_api.md +++ /dev/null @@ -1,598 +0,0 @@ - - -# 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. - diff --git a/docs/reference/api/registry_api_client_libraries.md b/docs/reference/api/registry_api_client_libraries.md deleted file mode 100644 index f5d5b3e515..0000000000 --- a/docs/reference/api/registry_api_client_libraries.md +++ /dev/null @@ -1,49 +0,0 @@ - - -# 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. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Language/FrameworkNameRepositoryStatus
JavaScript (AngularJS) WebUIdocker-registry-frontendhttps://github.com/kwk/docker-registry-frontendActive
Godocker-reg-clienthttps://github.com/CenturyLinkLabs/docker-reg-clientActive
diff --git a/docs/reference/api/remote_api_client_libraries.md b/docs/reference/api/remote_api_client_libraries.md index c86e6976c1..6e5dc00ff9 100644 --- a/docs/reference/api/remote_api_client_libraries.md +++ b/docs/reference/api/remote_api_client_libraries.md @@ -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 +++ diff --git a/docs/reference/builder.md b/docs/reference/builder.md index 8d9aeda17a..79036e39b7 100644 --- a/docs/reference/builder.md +++ b/docs/reference/builder.md @@ -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 +++ @@ -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 `` 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 diff --git a/docs/reference/commandline/export.md b/docs/reference/commandline/export.md index 87b691cd43..604ceab189 100644 --- a/docs/reference/commandline/export.md +++ b/docs/reference/commandline/export.md @@ -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 diff --git a/docs/reference/commandline/index.md b/docs/reference/commandline/index.md index 775c327700..a5704da03a 100644 --- a/docs/reference/commandline/index.md +++ b/docs/reference/commandline/index.md @@ -1,11 +1,12 @@ diff --git a/docs/reference/commandline/search.md b/docs/reference/commandline/search.md index beb4ef0a49..893895e214 100644 --- a/docs/reference/commandline/search.md +++ b/docs/reference/commandline/search.md @@ -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:** diff --git a/docs/reference/commandline/tag.md b/docs/reference/commandline/tag.md index c1ca5aa18d..cd104e8c6a 100644 --- a/docs/reference/commandline/tag.md +++ b/docs/reference/commandline/tag.md @@ -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). diff --git a/docs/reference/index.md b/docs/reference/index.md new file mode 100644 index 0000000000..a207ee7d05 --- /dev/null +++ b/docs/reference/index.md @@ -0,0 +1,18 @@ + + +# Engine reference + +* [Dockerfile reference](builder.md) +* [Docker run reference](run.md) +* [Command line reference](commandline/index.md) +* [API Reference](api/index.md) diff --git a/docs/reference/run.md b/docs/reference/run.md index 4063d588cb..02dbe79289 100644 --- a/docs/reference/run.md +++ b/docs/reference/run.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 +++ @@ -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). diff --git a/docs/security/certificates.md b/docs/security/certificates.md index ade4401443..5684e331e3 100644 --- a/docs/security/certificates.md +++ b/docs/security/certificates.md @@ -1,6 +1,6 @@ -# Work with Docker security +# Secure Engine This section discusses the security features you can configure and use within your Docker Engine installation. diff --git a/docs/introduction/understanding-docker.md b/docs/understanding-docker.md similarity index 94% rename from docs/introduction/understanding-docker.md rename to docs/understanding-docker.md index ec1eed6260..1278f3902c 100644 --- a/docs/introduction/understanding-docker.md +++ b/docs/understanding-docker.md @@ -1,10 +1,12 @@ @@ -88,23 +90,23 @@ run on the same system, or you can connect a Docker client to a remote Docker daemon. The Docker client and daemon communicate via sockets or through a RESTful API. -![Docker Architecture Diagram](../article-img/architecture.svg) +![Docker Architecture Diagram](article-img/architecture.svg) ### The Docker daemon As shown in the diagram above, the Docker daemon runs on a host machine. The user does not directly interact with the daemon, but instead through the Docker client. -### The Docker client +### The Docker client The Docker client, in the form of the `docker` binary, is the primary user interface to Docker. It accepts commands from the user and communicates back and forth with a Docker daemon. -### Inside Docker +### Inside Docker To understand Docker's internals, you need to know about three components: -* Docker images. -* Docker registries. +* Docker images. +* Docker registries. * Docker containers. #### Docker images @@ -130,7 +132,7 @@ image. Docker containers can be run, started, stopped, moved, and deleted. Each container is an isolated and secure application platform. Docker containers are the **run** component of Docker. -## So how does Docker work? +## So how does Docker work? So far, we've learned that: 1. You can build Docker images that hold your applications. @@ -141,7 +143,7 @@ So far, we've learned that: Let's look at how these elements combine together to make Docker work. -### How does a Docker image work? +### How does a Docker image work? We've already seen that Docker images are read-only templates from which Docker containers are launched. Each image consists of a series of layers. Docker makes use of [union file systems](http://en.wikipedia.org/wiki/UnionFS) to @@ -168,8 +170,8 @@ Docker images are then built from these base images using a simple, descriptive set of steps we call *instructions*. Each instruction creates a new layer in our image. Instructions include actions like: -* Run a command. -* Add a file or directory. +* Run a command. +* Add a file or directory. * Create an environment variable. * What process to run when launching a container from this image. @@ -213,7 +215,7 @@ minimum the Docker client needs to tell the Docker daemon to run the container is: * What Docker image to build the container from, here `ubuntu`, a base Ubuntu -image; +image; * The command you want to run inside the container when it is launched, here `/bin/bash`, to start the Bash shell inside the new container. @@ -224,16 +226,16 @@ In order, Docker does the following: - **Pulls the `ubuntu` image:** Docker checks for the presence of the `ubuntu` image and, if it doesn't exist locally on the host, then Docker downloads it from [Docker Hub](https://hub.docker.com). If the image already exists, then Docker -uses it for the new container. +uses it for the new container. - **Creates a new container:** Once Docker has the image, it uses it to create a -container. -- **Allocates a filesystem and mounts a read-write _layer_:** The container is created in +container. +- **Allocates a filesystem and mounts a read-write _layer_:** The container is created in the file system and a read-write layer is added to the image. -- **Allocates a network / bridge interface:** Creates a network interface that allows the -Docker container to talk to the local host. -- **Sets up an IP address:** Finds and attaches an available IP address from a pool. -- **Executes a process that you specify:** Runs your application, and; -- **Captures and provides application output:** Connects and logs standard input, outputs +- **Allocates a network / bridge interface:** Creates a network interface that allows the +Docker container to talk to the local host. +- **Sets up an IP address:** Finds and attaches an available IP address from a pool. +- **Executes a process that you specify:** Runs your application, and; +- **Captures and provides application output:** Connects and logs standard input, outputs and errors for you to see how your application is running. You now have a running container! From here you can manage your container, interact with @@ -241,7 +243,7 @@ your application and then, when finished, stop and remove your container. ## The underlying technology Docker is written in Go and makes use of several kernel features to -deliver the functionality we've seen. +deliver the functionality we've seen. ### Namespaces Docker takes advantage of a technology called `namespaces` to provide the @@ -253,12 +255,12 @@ namespace and does not have access outside it. Some of the namespaces that Docker uses on Linux are: - - **The `pid` namespace:** Used for process isolation (PID: Process ID). + - **The `pid` namespace:** Used for process isolation (PID: Process ID). - **The `net` namespace:** Used for managing network interfaces (NET: - Networking). + Networking). - **The `ipc` namespace:** Used for managing access to IPC - resources (IPC: InterProcess Communication). - - **The `mnt` namespace:** Used for managing mount-points (MNT: Mount). + resources (IPC: InterProcess Communication). + - **The `mnt` namespace:** Used for managing mount-points (MNT: Mount). - **The `uts` namespace:** Used for isolating kernel and version identifiers. (UTS: Unix Timesharing System). @@ -276,7 +278,7 @@ making them very lightweight and fast. Docker uses union file systems to provide the building blocks for containers. Docker can make use of several union file system variants including: AUFS, btrfs, vfs, and DeviceMapper. -### Container format +### Container format Docker combines these components into a wrapper we call a container format. The default container format is called `libcontainer`. In the future, Docker may support other container formats, for example, by integrating with BSD Jails @@ -284,9 +286,7 @@ or Solaris Zones. ## Next steps ### Installing Docker -Visit the [installation section](../installation/index.md#installation). +Visit the [installation section](installation/index.md#installation). ### The Docker user guide -[Learn Docker in depth](../userguide/index.md). - - +[Learn Docker in depth](userguide/index.md). diff --git a/docs/userguide/dockerimages.md b/docs/userguide/containers/dockerimages.md similarity index 99% rename from docs/userguide/dockerimages.md rename to docs/userguide/containers/dockerimages.md index 9146f30c68..03a27081da 100644 --- a/docs/userguide/dockerimages.md +++ b/docs/userguide/containers/dockerimages.md @@ -1,10 +1,11 @@ @@ -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 diff --git a/docs/userguide/dockerizing.md b/docs/userguide/containers/dockerizing.md similarity index 99% rename from docs/userguide/dockerizing.md rename to docs/userguide/containers/dockerizing.md index c73d7b33a1..4c9e3e8175 100644 --- a/docs/userguide/dockerizing.md +++ b/docs/userguide/containers/dockerizing.md @@ -1,10 +1,11 @@ diff --git a/docs/userguide/dockerrepos.md b/docs/userguide/containers/dockerrepos.md similarity index 99% rename from docs/userguide/dockerrepos.md rename to docs/userguide/containers/dockerrepos.md index f04254d860..257f87635b 100644 --- a/docs/userguide/dockerrepos.md +++ b/docs/userguide/containers/dockerrepos.md @@ -1,10 +1,11 @@ diff --git a/docs/userguide/dockervolumes.md b/docs/userguide/containers/dockervolumes.md similarity index 94% rename from docs/userguide/dockervolumes.md rename to docs/userguide/containers/dockervolumes.md index 5ddc9c187c..0fb7fe2571 100644 --- a/docs/userguide/dockervolumes.md +++ b/docs/userguide/containers/dockervolumes.md @@ -1,18 +1,19 @@ # Manage data in containers -So far we've been introduced to some [basic Docker concepts](usingdocker.md), -seen how to work with [Docker images](dockerimages.md) as well as learned about -[networking and links between containers](networking/default_network/dockerlinks.md). In this section we're +So far we've been introduced to some [basic Docker concepts](../containers/usingdocker.md), +seen how to work with [Docker images](../containers/dockerimages.md) as well as learned about +[networking and links between containers](../networking/default_network/dockerlinks.md). In this section we're going to discuss how you can manage data inside and between your Docker containers. @@ -25,7 +26,7 @@ Docker. ## Data volumes A *data volume* is a specially-designated directory within one or more -containers that bypasses the [*Union File System*](../reference/glossary.md#union-file-system). Data volumes provide several useful features for persistent or shared data: +containers that bypasses the [*Union File System*](../../reference/glossary.md#union-file-system). Data volumes provide several useful features for persistent or shared data: - Volumes are initialized when a container is created. If the container's base image contains data at the specified mount point, that existing data is @@ -219,7 +220,7 @@ from the `dbstore` container are visible. You can use multiple `--volumes-from` parameters to combine data volumes from several containers. To find detailed information about `--volumes-from` see the -[Mount volumes from container](../reference/commandline/run.md#mount-volumes-from-container-volumes-from) +[Mount volumes from container](../../reference/commandline/run.md#mount-volumes-from-container-volumes-from) in the `run` command reference. You can also extend the chain by mounting the volume that came from the @@ -282,4 +283,4 @@ combine Docker with the services available on [Docker Hub](https://hub.docker.com) including Automated Builds and private repositories. -Go to [Working with Docker Hub](dockerrepos.md). +Go to [Working with Docker Hub](../containers/dockerrepos.md). diff --git a/docs/userguide/containers/index.md b/docs/userguide/containers/index.md new file mode 100644 index 0000000000..2de0dccea4 --- /dev/null +++ b/docs/userguide/containers/index.md @@ -0,0 +1,19 @@ + + +# Learn by example + +* [Hello world in a container](dockerizing.md) +* [Run a simple application](usingdocker.md) +* [Build your own images](dockerimages.md) +* [Network containers](networkingcontainers.md) +* [Manage data in containers](dockervolumes.md) +* [Store images on Docker Hub](dockerrepos.md) diff --git a/docs/userguide/networkingcontainers.md b/docs/userguide/containers/networkingcontainers.md similarity index 98% rename from docs/userguide/networkingcontainers.md rename to docs/userguide/containers/networkingcontainers.md index bf0b71e894..5795ad7870 100644 --- a/docs/userguide/networkingcontainers.md +++ b/docs/userguide/containers/networkingcontainers.md @@ -1,16 +1,17 @@ -# Networking containers +# Network containers If you are working your way through the user guide, you just built and ran a simple application. You've also built in your own images. This section teaches diff --git a/docs/userguide/search.png b/docs/userguide/containers/search.png similarity index 100% rename from docs/userguide/search.png rename to docs/userguide/containers/search.png diff --git a/docs/userguide/usingdocker.md b/docs/userguide/containers/usingdocker.md similarity index 98% rename from docs/userguide/usingdocker.md rename to docs/userguide/containers/usingdocker.md index 51b8e7d23b..be6daa2780 100644 --- a/docs/userguide/usingdocker.md +++ b/docs/userguide/containers/usingdocker.md @@ -4,7 +4,7 @@ title = "Run a simple application" description = "Learn how to manage and operate Docker containers." keywords = ["docker, the docker guide, documentation, docker.io, monitoring containers, docker top, docker inspect, docker port, ports, docker logs, log, Logs"] [menu.main] -parent="smn_containers" +parent="engine_learn" weight=-5 +++ @@ -76,7 +76,7 @@ To see usage for a specific command, specify the command with the `--help` flag: > **Note:** > For further details and examples of each command, see the -> [command reference](../reference/commandline/cli.md) in this guide. +> [command reference](../../reference/commandline/cli.md) in this guide. ## Running a web application in Docker @@ -104,8 +104,8 @@ Lastly, you've specified a command for our container to run: `python app.py`. Th > **Note:** > You can see more detail on the `docker run` command in the [command -> reference](../reference/commandline/run.md) and the [Docker Run -> Reference](../reference/run.md). +> reference](../../reference/commandline/run.md) and the [Docker Run +> Reference](../../reference/run.md). ## Viewing our web application container diff --git a/docs/userguide/webapp1.png b/docs/userguide/containers/webapp1.png similarity index 100% rename from docs/userguide/webapp1.png rename to docs/userguide/containers/webapp1.png diff --git a/docs/articles/baseimages.md b/docs/userguide/eng-image/baseimages.md similarity index 90% rename from docs/articles/baseimages.md rename to docs/userguide/eng-image/baseimages.md index 99cfc94744..172d65a9c2 100644 --- a/docs/articles/baseimages.md +++ b/docs/userguide/eng-image/baseimages.md @@ -1,16 +1,17 @@ # Create a base image -So you want to create your own [*Base Image*](../reference/glossary.md#base-image)? Great! +So you want to create your own [*Base Image*](../../reference/glossary.md#base-image)? Great! The specific process will depend heavily on the Linux distribution you want to package. We have some examples below, and you are encouraged to @@ -64,7 +65,7 @@ If you want to test it out, you can clone [the image repo](https://github.com/do There are lots more resources available to help you write your 'Dockerfile`. -* There's a [complete guide to all the instructions](../reference/builder.md) available for use in a `Dockerfile` in the reference section. +* There's a [complete guide to all the instructions](../../reference/builder.md) available for use in a `Dockerfile` in the reference section. * To help you write a clear, readable, maintainable `Dockerfile`, we've also written a [`Dockerfile` Best Practices guide](dockerfile_best-practices.md). * If your goal is to create a new Official Repository, be sure to read up on Docker's [Official Repositories](https://docs.docker.com/docker-hub/official_repos/). diff --git a/docs/articles/dockerfile_best-practices.md b/docs/userguide/eng-image/dockerfile_best-practices.md similarity index 92% rename from docs/articles/dockerfile_best-practices.md rename to docs/userguide/eng-image/dockerfile_best-practices.md index e15052395f..1c51af7037 100644 --- a/docs/articles/dockerfile_best-practices.md +++ b/docs/userguide/eng-image/dockerfile_best-practices.md @@ -1,22 +1,21 @@ # Best practices for writing Dockerfiles -## Overview - Docker can build images automatically by reading the instructions from a `Dockerfile`, a text file that contains all the commands, in order, needed to build a given image. `Dockerfile`s adhere to a specific format and use a specific set of instructions. You can learn the basics on the -[Dockerfile Reference](../reference/builder.md) page. If +[Dockerfile Reference](../../reference/builder.md) page. If you’re new to writing `Dockerfile`s, you should start there. This document covers the best practices and methods recommended by Docker, @@ -27,7 +26,7 @@ if you’re creating an Official Image, you *must* adhere to these practices). You can see many of these practices and recommendations in action in the [buildpack-deps `Dockerfile`](https://github.com/docker-library/buildpack-deps/blob/master/jessie/Dockerfile). > Note: for more detailed explanations of any of the Dockerfile commands ->mentioned here, visit the [Dockerfile Reference](../reference/builder.md) page. +>mentioned here, visit the [Dockerfile Reference](../../reference/builder.md) page. ## General guidelines and recommendations @@ -45,7 +44,7 @@ add to that directory only the files needed for building the Dockerfile. To increase the build's performance, you can exclude files and directories by adding a `.dockerignore` file to that directory as well. This file supports exclusion patterns similar to `.gitignore` files. For information on creating one, -see the [.dockerignore file](../reference/builder.md#dockerignore-file). +see the [.dockerignore file](../../reference/builder.md#dockerignore-file). ### Avoid installing unnecessary packages @@ -59,7 +58,7 @@ in a database image. In almost all cases, you should only run a single process in a single container. Decoupling applications into multiple containers makes it much easier to scale horizontally and reuse containers. If that service depends on -another service, make use of [container linking](../userguide/networking/default_network/dockerlinks.md). +another service, make use of [container linking](../../userguide/networking/default_network/dockerlinks.md). ### Minimize the number of layers @@ -128,7 +127,7 @@ various instructions available for use in a `Dockerfile`. ### FROM -[Dockerfile reference for the FROM instruction](../reference/builder.md#from) +[Dockerfile reference for the FROM instruction](../../reference/builder.md#from) Whenever possible, use current Official Repositories as the basis for your image. We recommend the [Debian image](https://registry.hub.docker.com/_/debian/) @@ -137,7 +136,7 @@ since it’s very tightly controlled and kept extremely minimal (currently under ### RUN -[Dockerfile reference for the RUN instruction](../reference/builder.md#run) +[Dockerfile reference for the RUN instruction](../../reference/builder.md#run) As always, to make your `Dockerfile` more readable, understandable, and maintainable, split long or complex `RUN` statements on multiple lines separated @@ -234,7 +233,7 @@ keep the image size down. Since the `RUN` statement starts with ### CMD -[Dockerfile reference for the CMD instruction](../reference/builder.md#cmd) +[Dockerfile reference for the CMD instruction](../../reference/builder.md#cmd) The `CMD` instruction should be used to run the software contained by your image, along with any arguments. `CMD` should almost always be used in the @@ -248,13 +247,13 @@ perl, etc), for example, `CMD ["perl", "-de0"]`, `CMD ["python"]`, or `CMD [“php”, “-a”]`. Using this form means that when you execute something like `docker run -it python`, you’ll get dropped into a usable shell, ready to go. `CMD` should rarely be used in the manner of `CMD [“param”, “param”]` in -conjunction with [`ENTRYPOINT`](../reference/builder.md#entrypoint), unless +conjunction with [`ENTRYPOINT`](../../reference/builder.md#entrypoint), unless you and your expected users are already quite familiar with how `ENTRYPOINT` works. ### EXPOSE -[Dockerfile reference for the EXPOSE instruction](../reference/builder.md#expose) +[Dockerfile reference for the EXPOSE instruction](../../reference/builder.md#expose) The `EXPOSE` instruction indicates the ports on which a container will listen for connections. Consequently, you should use the common, traditional port for @@ -269,7 +268,7 @@ the recipient container back to the source (ie, `MYSQL_PORT_3306_TCP`). ### ENV -[Dockerfile reference for the ENV instruction](../reference/builder.md#env) +[Dockerfile reference for the ENV instruction](../../reference/builder.md#env) In order to make new software easier to run, you can use `ENV` to update the `PATH` environment variable for the software your container installs. For @@ -294,8 +293,8 @@ auto-magically bump the version of the software in your container. ### ADD or COPY -[Dockerfile reference for the ADD instruction](../reference/builder.md#add)
-[Dockerfile reference for the COPY instruction](../reference/builder.md#copy) +[Dockerfile reference for the ADD instruction](../../reference/builder.md#add)
+[Dockerfile reference for the COPY instruction](../../reference/builder.md#copy) Although `ADD` and `COPY` are functionally similar, generally speaking, `COPY` is preferred. That’s because it’s more transparent than `ADD`. `COPY` only @@ -340,7 +339,7 @@ auto-extraction capability, you should always use `COPY`. ### ENTRYPOINT -[Dockerfile reference for the ENTRYPOINT instruction](../reference/builder.md#entrypoint) +[Dockerfile reference for the ENTRYPOINT instruction](../../reference/builder.md#entrypoint) The best use for `ENTRYPOINT` is to set the image's main command, allowing that image to be run as though it was that command (and then use `CMD` as the @@ -390,7 +389,7 @@ exec "$@" > This script uses [the `exec` Bash command](http://wiki.bash-hackers.org/commands/builtin/exec) > so that the final running application becomes the container's PID 1. This allows > the application to receive any Unix signals sent to the container. -> See the [`ENTRYPOINT`](../reference/builder.md#entrypoint) +> See the [`ENTRYPOINT`](../../reference/builder.md#entrypoint) > help for more details. @@ -416,7 +415,7 @@ Lastly, it could also be used to start a totally different tool, such as Bash: ### VOLUME -[Dockerfile reference for the VOLUME instruction](../reference/builder.md#volume) +[Dockerfile reference for the VOLUME instruction](../../reference/builder.md#volume) The `VOLUME` instruction should be used to expose any database storage area, configuration storage, or files/folders created by your docker container. You @@ -425,7 +424,7 @@ parts of your image. ### USER -[Dockerfile reference for the USER instruction](../reference/builder.md#user) +[Dockerfile reference for the USER instruction](../../reference/builder.md#user) If a service can run without privileges, use `USER` to change to a non-root user. Start by creating the user and group in the `Dockerfile` with something @@ -446,7 +445,7 @@ and forth frequently. ### WORKDIR -[Dockerfile reference for the WORKDIR instruction](../reference/builder.md#workdir) +[Dockerfile reference for the WORKDIR instruction](../../reference/builder.md#workdir) For clarity and reliability, you should always use absolute paths for your `WORKDIR`. Also, you should use `WORKDIR` instead of proliferating @@ -455,7 +454,7 @@ troubleshoot, and maintain. ### ONBUILD -[Dockerfile reference for the ONBUILD instruction](../reference/builder.md#onbuild) +[Dockerfile reference for the ONBUILD instruction](../../reference/builder.md#onbuild) An `ONBUILD` command executes after the current `Dockerfile` build completes. `ONBUILD` executes in any child image derived `FROM` the current image. Think @@ -489,7 +488,7 @@ These Official Repositories have exemplary `Dockerfile`s: ## Additional resources: -* [Dockerfile Reference](../reference/builder.md) +* [Dockerfile Reference](../../reference/builder.md) * [More about Base Images](baseimages.md) * [More about Automated Builds](https://docs.docker.com/docker-hub/builds/) * [Guidelines for Creating Official diff --git a/docs/userguide/image_management.md b/docs/userguide/eng-image/image_management.md similarity index 92% rename from docs/userguide/image_management.md rename to docs/userguide/eng-image/image_management.md index 169ffade06..035b6b681a 100644 --- a/docs/userguide/image_management.md +++ b/docs/userguide/eng-image/image_management.md @@ -1,12 +1,12 @@ @@ -48,6 +48,6 @@ operates on. You use Docker to push and pull images (data) to a registry. Content trust gives you the ability to both verify the integrity and the publisher of all the data received from a registry over any channel. -[Content trust](../security/trust/index.md) is currently only available for users of the +[Content trust](../../security/trust/index.md) is currently only available for users of the public Docker Hub. It is currently not available for the Docker Trusted Registry or for private registries. diff --git a/docs/userguide/eng-image/index.md b/docs/userguide/eng-image/index.md new file mode 100644 index 0000000000..c46eec6b59 --- /dev/null +++ b/docs/userguide/eng-image/index.md @@ -0,0 +1,16 @@ + + +# Work with images + +* [Create a base image](baseimages.md) +* [Best practices for writing Dockerfiles](dockerfile_best-practices.md) +* [Image management](image_management.md) diff --git a/docs/userguide/index.md b/docs/userguide/index.md index 2f581976be..1bffafc4c8 100644 --- a/docs/userguide/index.md +++ b/docs/userguide/index.md @@ -1,127 +1,13 @@ -# Welcome to the Docker user guide - -In the [Introduction](../misc/index.md) you got a taste of what Docker is and how it -works. This guide takes you through the fundamentals of using Docker and -integrating it into your environment. You'll learn how to use Docker to: - -* Dockerize your applications. -* Run your own containers. -* Build Docker images. -* Share your Docker images with others. -* And a whole lot more! - -This guide is broken into major sections that take you through the Docker life -cycle: - -## Getting started with Docker Hub - -*How do I use Docker Hub?* - -Docker Hub is the central hub for Docker. It hosts public Docker images -and provides services to help you build and manage your Docker -environment. To learn more: - -Go to [Using Docker Hub](https://docs.docker.com/docker-hub). - -## Dockerizing applications: A "Hello world" - -*How do I run applications inside containers?* - -Docker offers a containerization platform to power your applications. To learn -how to Dockerize applications and run them: - -Go to [Dockerizing Applications](dockerizing.md). - - -## Working with containers - -*How do I manage my containers?* - -Once you get a grip on running your applications in Docker containers -we're going to show you how to manage those containers. To find out -about how to inspect, monitor and manage containers: - -Go to [Working With Containers](usingdocker.md). - -## Working with Docker images - -*How can I access, share and build my own images?* - -Once you've learnt how to use Docker it's time to take the next step and -learn how to build your own application images with Docker. - -Go to [Working with Docker Images](dockerimages.md). - -## Networking containers - -Until now we've seen how to build individual applications inside Docker -containers. Now learn how to build whole application stacks with Docker -networking. - -Go to [Networking Containers](networkingcontainers.md). - -## Managing data in containers - -Now we know how to link Docker containers together the next step is -learning how to manage data, volumes and mounts inside our containers. - -Go to [Managing Data in Containers](dockervolumes.md). - -## Working with Docker Hub - -Now we've learned a bit more about how to use Docker we're going to see -how to combine Docker with the services available on Docker Hub including -Trusted Builds and private repositories. - -Go to [Working with Docker Hub](dockerrepos.md). - -## Docker Compose - -Docker Compose allows you to define a application's components -- their containers, -configuration, links and volumes -- in a single file. Then a single command -will set everything up and start your application running. - -Go to [Docker Compose user guide](https://docs.docker.com/compose/). - -## Docker Machine - -Docker Machine helps you get Docker Engines up and running quickly. Machine -can set up hosts for Docker Engines on your computer, on cloud providers, -and/or in your data center, and then configure your Docker client to securely -talk to them. - -Go to [Docker Machine user guide](https://docs.docker.com/machine/). - -## Docker Swarm - -Docker Swarm pools several Docker Engines together and exposes them as a single -virtual Docker Engine. It serves the standard Docker API, so any tool that already -works with Docker can now transparently scale up to multiple hosts. - -Go to [Docker Swarm user guide](https://docs.docker.com/swarm/). - -## Getting help - -* [Docker homepage](https://www.docker.com/) -* [Docker Hub](https://hub.docker.com) -* [Docker blog](https://blog.docker.com/) -* [Docker documentation](https://docs.docker.com/) -* [Docker Getting Started Guide](https://docs.docker.com/mac/started/) -* [Docker code on GitHub](https://github.com/docker/docker) -* [Docker mailing - list](https://groups.google.com/forum/#!forum/docker-user) -* Docker on IRC: irc.freenode.net and channel #docker -* [Docker on Twitter](https://twitter.com/docker) -* Get [Docker help](https://stackoverflow.com/search?q=docker) on - StackOverflow -* [Docker.com](https://www.docker.com/) +# User guide diff --git a/docs/userguide/intro.md b/docs/userguide/intro.md new file mode 100644 index 0000000000..a25217c56f --- /dev/null +++ b/docs/userguide/intro.md @@ -0,0 +1,119 @@ + + +# Introduction to Engine user guide + +This guide takes you through the fundamentals of using Docker Engine and +integrating it into your environment. You'll learn how to use Engine to: + +* Dockerize your applications. +* Run your own containers. +* Build Docker images. +* Share your Docker images with others. +* And a whole lot more! + +This guide is broken into major sections that take you through learning the basics of Docker Engine and the other Docker products that support it. + +## Dockerizing applications: A "Hello world" + +*How do I run applications inside containers?* + +Docker Engine offers a containerization platform to power your applications. To +learn how to Dockerize applications and run them: + +Go to [Dockerizing Applications](containers/dockerizing.md). + + +## Working with containers + +*How do I manage my containers?* + +Once you get a grip on running your applications in Docker containers, you'll learn how to manage those containers. To find out +about how to inspect, monitor and manage containers: + +Go to [Working With Containers](containers/usingdocker.md). + +## Working with Docker images + +*How can I access, share and build my own images?* + +Once you've learnt how to use Docker it's time to take the next step and +learn how to build your own application images with Docker. + +Go to [Working with Docker Images](containers/dockerimages.md). + +## Networking containers + +Until now we've seen how to build individual applications inside Docker +containers. Now learn how to build whole application stacks with Docker +networking. + +Go to [Networking Containers](containers/networkingcontainers.md). + +## Managing data in containers + +Now we know how to link Docker containers together the next step is +learning how to manage data, volumes and mounts inside our containers. + +Go to [Managing Data in Containers](containers/dockervolumes.md). + +## Docker products that complement Engine + +Often, one powerful technology spawns many other inventions that make that easier to get to, easier to use, and more powerful. These spawned things share one common characteristic: they augment the central technology. The following Docker products expand on the core Docker Engine functions. + +### Docker Hub + +Docker Hub is the central hub for Docker. It hosts public Docker images +and provides services to help you build and manage your Docker +environment. To learn more: + +Go to [Using Docker Hub](https://docs.docker.com/docker-hub). + +### Docker Machine + +Docker Machine helps you get Docker Engines up and running quickly. Machine +can set up hosts for Docker Engines on your computer, on cloud providers, +and/or in your data center, and then configure your Docker client to securely +talk to them. + +Go to [Docker Machine user guide](https://docs.docker.com/machine/). + +### Docker Compose + +Docker Compose allows you to define a application's components -- their containers, +configuration, links and volumes -- in a single file. Then a single command +will set everything up and start your application running. + +Go to [Docker Compose user guide](https://docs.docker.com/compose/). + + +### Docker Swarm + +Docker Swarm pools several Docker Engines together and exposes them as a single +virtual Docker Engine. It serves the standard Docker API, so any tool that already +works with Docker can now transparently scale up to multiple hosts. + +Go to [Docker Swarm user guide](https://docs.docker.com/swarm/). + +## Getting help + +* [Docker homepage](https://www.docker.com/) +* [Docker Hub](https://hub.docker.com) +* [Docker blog](https://blog.docker.com/) +* [Docker documentation](https://docs.docker.com/) +* [Docker Getting Started Guide](https://docs.docker.com/mac/started/) +* [Docker code on GitHub](https://github.com/docker/docker) +* [Docker mailing + list](https://groups.google.com/forum/#!forum/docker-user) +* Docker on IRC: irc.freenode.net and channel #docker +* [Docker on Twitter](https://twitter.com/docker) +* Get [Docker help](https://stackoverflow.com/search?q=docker) on + StackOverflow +* [Docker.com](https://www.docker.com/) diff --git a/docs/userguide/labels-custom-metadata.md b/docs/userguide/labels-custom-metadata.md index ae6a3c5e9d..4c9a1a114c 100644 --- a/docs/userguide/labels-custom-metadata.md +++ b/docs/userguide/labels-custom-metadata.md @@ -4,7 +4,8 @@ title = "Apply custom metadata" description = "Learn how to work with custom metadata in Docker, using labels." keywords = ["Usage, user guide, labels, metadata, docker, documentation, examples, annotating"] [menu.main] -parent = "mn_use_docker" +parent = "engine_guide" +weight=90 +++ diff --git a/docs/userguide/networking/default_network/dockerlinks.md b/docs/userguide/networking/default_network/dockerlinks.md index 0c71d970e8..ef8e160b1d 100644 --- a/docs/userguide/networking/default_network/dockerlinks.md +++ b/docs/userguide/networking/default_network/dockerlinks.md @@ -25,7 +25,7 @@ detail on container linking in default `bridge` network. ## Connect using network port mapping -In [the Using Docker section](../../usingdocker.md), you created a +In [the Using Docker section](../../containers/usingdocker.md), you created a container that ran a Python Flask application: $ docker run -d -P training/webapp python app.py @@ -33,7 +33,7 @@ container that ran a Python Flask application: > **Note:** > Containers have an internal network and an IP address > (as we saw when we used the `docker inspect` command to show the container's -> IP address in the [Using Docker](../../usingdocker.md) section). +> IP address in the [Using Docker](../../containers/usingdocker.md) section). > Docker can have a variety of network configurations. You can see more > information on Docker networking [here](../index.md). diff --git a/docs/userguide/networking/dockernetworks.md b/docs/userguide/networking/dockernetworks.md index 6e7688413f..c91bf7b40e 100644 --- a/docs/userguide/networking/dockernetworks.md +++ b/docs/userguide/networking/dockernetworks.md @@ -414,7 +414,7 @@ You should open the following ports between each of your hosts. | udp | 4789 | Data plane (VXLAN) | | tcp/udp | 7946 | Control plane | -Your key-value store service may require additional ports. +Your key-value store service may require additional ports. Check your vendor's documentation and open any required ports. Once you have several machines provisioned, you can use Docker Swarm to quickly @@ -501,7 +501,7 @@ and removed in a future release. - [Work with network commands](work-with-networks.md) - [Get started with multi-host networking](get-started-overlay.md) -- [Managing Data in Containers](../dockervolumes.md) +- [Managing Data in Containers](../containers/dockervolumes.md) - [Docker Machine overview](https://docs.docker.com/machine) - [Docker Swarm overview](https://docs.docker.com/swarm) - [Investigate the LibNetwork project](https://github.com/docker/libnetwork) diff --git a/docs/userguide/networking/index.md b/docs/userguide/networking/index.md index 7680b199fa..eb613c6d16 100644 --- a/docs/userguide/networking/index.md +++ b/docs/userguide/networking/index.md @@ -5,7 +5,7 @@ description = "Docker networking feature is introduced" keywords = ["network, networking, bridge, docker, documentation"] [menu.main] identifier="smn_networking" -parent= "mn_use_docker" +parent= "engine_guide" weight=7 +++ diff --git a/docs/userguide/storagedriver/aufs-driver.md b/docs/userguide/storagedriver/aufs-driver.md index 6c1bc6be7e..831d0ac551 100644 --- a/docs/userguide/storagedriver/aufs-driver.md +++ b/docs/userguide/storagedriver/aufs-driver.md @@ -4,7 +4,7 @@ title = "AUFS storage driver in practice" description = "Learn how to optimize your use of AUFS driver." keywords = ["container, storage, driver, AUFS "] [menu.main] -parent = "mn_storage_docker" +parent = "engine_driver" +++ diff --git a/docs/userguide/storagedriver/btrfs-driver.md b/docs/userguide/storagedriver/btrfs-driver.md index 4cce021100..807d32d47f 100644 --- a/docs/userguide/storagedriver/btrfs-driver.md +++ b/docs/userguide/storagedriver/btrfs-driver.md @@ -4,7 +4,7 @@ title = "Btrfs storage in practice" description = "Learn how to optimize your use of Btrfs driver." keywords = ["container, storage, driver, Btrfs "] [menu.main] -parent = "mn_storage_docker" +parent = "engine_driver" +++ diff --git a/docs/userguide/storagedriver/device-mapper-driver.md b/docs/userguide/storagedriver/device-mapper-driver.md index 4d81d714bc..0c755e34a0 100644 --- a/docs/userguide/storagedriver/device-mapper-driver.md +++ b/docs/userguide/storagedriver/device-mapper-driver.md @@ -4,7 +4,7 @@ title="Device mapper storage in practice" description="Learn how to optimize your use of device mapper driver." keywords=["container, storage, driver, device mapper"] [menu.main] -parent="mn_storage_docker" +parent="engine_driver" +++ diff --git a/docs/userguide/storagedriver/imagesandcontainers.md b/docs/userguide/storagedriver/imagesandcontainers.md index eb3c20c7be..bb4eaabf69 100644 --- a/docs/userguide/storagedriver/imagesandcontainers.md +++ b/docs/userguide/storagedriver/imagesandcontainers.md @@ -4,7 +4,7 @@ title = "Understand images, containers, and storage drivers" description = "Learn the technologies that support storage drivers." keywords = ["container, storage, driver, AUFS, btfs, devicemapper,zvfs"] [menu.main] -parent = "mn_storage_docker" +parent = "engine_driver" weight = -2 +++ diff --git a/docs/userguide/storagedriver/index.md b/docs/userguide/storagedriver/index.md index e389e6b1a0..76671c7196 100644 --- a/docs/userguide/storagedriver/index.md +++ b/docs/userguide/storagedriver/index.md @@ -4,8 +4,8 @@ title = "Docker storage drivers" description = "Learn how select the proper storage driver for your container." keywords = ["container, storage, driver, AUFS, btfs, devicemapper,zvfs"] [menu.main] -identifier = "mn_storage_docker" -parent = "mn_use_docker" +identifier = "engine_driver" +parent = "engine_guide" weight = 7 +++ diff --git a/docs/userguide/storagedriver/overlayfs-driver.md b/docs/userguide/storagedriver/overlayfs-driver.md index b4a47d9a12..231dc1f8f1 100644 --- a/docs/userguide/storagedriver/overlayfs-driver.md +++ b/docs/userguide/storagedriver/overlayfs-driver.md @@ -4,7 +4,7 @@ title = "OverlayFS storage in practice" description = "Learn how to optimize your use of OverlayFS driver." keywords = ["container, storage, driver, OverlayFS "] [menu.main] -parent = "mn_storage_docker" +parent = "engine_driver" +++ diff --git a/docs/userguide/storagedriver/selectadriver.md b/docs/userguide/storagedriver/selectadriver.md index 9e619198c0..49ea483530 100644 --- a/docs/userguide/storagedriver/selectadriver.md +++ b/docs/userguide/storagedriver/selectadriver.md @@ -4,7 +4,7 @@ title = "Select a storage driver" description = "Learn how select the proper storage driver for your container." keywords = ["container, storage, driver, AUFS, btfs, devicemapper,zvfs"] [menu.main] -parent = "mn_storage_docker" +parent = "engine_driver" weight = -1 +++ diff --git a/docs/userguide/storagedriver/zfs-driver.md b/docs/userguide/storagedriver/zfs-driver.md index 33ac83194e..548d586e14 100644 --- a/docs/userguide/storagedriver/zfs-driver.md +++ b/docs/userguide/storagedriver/zfs-driver.md @@ -4,7 +4,7 @@ title = "ZFS storage in practice" description = "Learn how to optimize your use of ZFS driver." keywords = ["container, storage, driver, ZFS "] [menu.main] -parent = "mn_storage_docker" +parent = "engine_driver" +++