diff --git a/_layouts/docs.html b/_layouts/docs.html index 48bf88c8a2e..a99cd38d51b 100644 --- a/_layouts/docs.html +++ b/_layouts/docs.html @@ -185,6 +185,7 @@
+ {% if page.title %}

{{ page.title }}

{% endif %} {{ content }} {% if page.noratings != true %}
diff --git a/apidocs/index.md b/apidocs/index.md index 84a335cde7d..b61a003e75f 100644 --- a/apidocs/index.md +++ b/apidocs/index.md @@ -2,17 +2,9 @@ description: Learn how to use DTR APIs. keywords: - docker, registry, DTR, APIs -menu: - main: - identifier: smn_dtrapi - parent: workw_dtr - weight: "100" title: DTR APIs -type: _default --- -# DTR APIs - This section includes the following topics: * [API overview](overview.md) diff --git a/apidocs/overview.md b/apidocs/overview.md index cdf8bc9e0de..f11e2b96cd8 100644 --- a/apidocs/overview.md +++ b/apidocs/overview.md @@ -2,17 +2,9 @@ description: Learn how to use DTR APIs. keywords: - docker, registry, DTR, APIs -menu: - main: - identifier: dtr_api_overview - parent: smn_dtrapi - weight: 0 -title: Overview -type: _default +title: API overview --- -# API Overview - Docker Trusted Registry has an experimental API that you can use to manage DTR repositories, permissions, and settings. diff --git a/compose/bundles.md b/compose/bundles.md index c0cdf998403..ef96ef86df3 100644 --- a/compose/bundles.md +++ b/compose/bundles.md @@ -1,17 +1,11 @@ --- advisory: experimental -description: Description of Docker and Compose's experimental support for application - bundles +description: Description of Docker and Compose's experimental support for application bundles keywords: - documentation, docs, docker, compose, bundles, stacks -menu: - main: - parent: workw_compose -title: Docker Stacks and Distributed Application Bundles +title: Docker stacks and distributed application bundles (experimental) --- -# Docker Stacks and Distributed Application Bundles (experimental) - > **Note**: This is a copy of the [Docker Stacks and Distributed Application > Bundles](https://github.com/docker/docker/blob/v1.12.0-rc4/experimental/docker-stacks-and-bundles.md) > document in the [docker/docker repo](https://github.com/docker/docker). diff --git a/compose/completion.md b/compose/completion.md index c527db6a571..ceff202423e 100644 --- a/compose/completion.md +++ b/compose/completion.md @@ -2,15 +2,9 @@ description: Compose CLI reference keywords: - fig, composition, compose, docker, orchestration, cli, reference -menu: - main: - parent: workw_compose - weight: 88 -title: Command-line Completion +title: Command-line completion --- -# Command-line Completion - Compose comes with [command completion](http://en.wikipedia.org/wiki/Command-line_completion) for the bash and zsh shell. diff --git a/compose/compose-file.md b/compose/compose-file.md index 09ac349db67..ba48dcbd93f 100644 --- a/compose/compose-file.md +++ b/compose/compose-file.md @@ -4,15 +4,9 @@ aliases: description: Compose file reference keywords: - fig, composition, compose, docker -menu: - main: - parent: workw_compose - weight: 70 -title: Compose File Reference +title: Compose file reference --- -# Compose file reference - The Compose file is a [YAML](http://yaml.org/) file defining [services](compose-file.md#service-configuration-reference), [networks](compose-file.md#network-configuration-reference) and diff --git a/compose/django.md b/compose/django.md index 2f33a16835d..cc233297fbe 100644 --- a/compose/django.md +++ b/compose/django.md @@ -2,15 +2,9 @@ description: Getting started with Docker Compose and Django keywords: - documentation, docs, docker, compose, orchestration, containers -menu: - main: - parent: workw_compose - weight: 4 -title: 'Quickstart: Compose and Django' +title: "Quickstart: Compose and Django" --- -# Quickstart: Docker Compose and Django - This quick-start guide demonstrates how to use Docker Compose to set up and run a simple Django/PostgreSQL app. Before starting, you'll need to have [Compose installed](install.md). diff --git a/compose/env-file.md b/compose/env-file.md index e2708291bca..48959bda525 100644 --- a/compose/env-file.md +++ b/compose/env-file.md @@ -1,16 +1,10 @@ --- -description: Declaring default environment variables in file +description: Declare default environment variables in a file keywords: - fig, composition, compose, docker, orchestration, environment, env file -menu: - main: - parent: workw_compose - weight: 10 -title: Environment file +title: Declare default environment variables in file --- -# Environment file - Compose supports declaring default environment variables in an environment file named `.env` placed in the folder `docker-compose` command is executed from *(current working directory)*. diff --git a/compose/environment-variables.md b/compose/environment-variables.md index 6a55cd94fb9..332c2691dd3 100644 --- a/compose/environment-variables.md +++ b/compose/environment-variables.md @@ -2,15 +2,9 @@ description: How to set, use and manage environment variables in Compose keywords: - fig, composition, compose, docker, orchestration, environment, variables, env file -menu: - main: - parent: workw_compose - weight: 10 title: Environment variables in Compose --- -# Environment variables in Compose - There are multiple parts of Compose that deal with environment variables in one sense or another. This page should help you find the information you need. diff --git a/compose/extends.md b/compose/extends.md index 9e9a8a54aab..c4fb22cad0b 100644 --- a/compose/extends.md +++ b/compose/extends.md @@ -1,17 +1,10 @@ --- -description: How to use Docker Compose's extends keyword to share configuration between - files and projects +description: How to use Docker Compose's extends keyword to share configuration between files and projects keywords: - fig, composition, compose, docker, orchestration, documentation, docs -menu: - main: - parent: workw_compose - weight: 20 -title: Extending Services in Compose +title: Share Compose configurations between files and projects --- -# Extending services and Compose files - Compose supports two methods of sharing common configuration: 1. Extending an entire Compose file by diff --git a/compose/faq.md b/compose/faq.md index 05dddd7ef54..cc4ac336197 100644 --- a/compose/faq.md +++ b/compose/faq.md @@ -1,16 +1,9 @@ --- description: Docker Compose FAQ keywords: documentation, docs, docker, compose, faq -menu: - main: - identifier: faq.compose - parent: workw_compose - weight: 90 -title: Frequently Asked Questions +title: Frequently asked questions --- -# Frequently asked questions - If you don’t see your question here, feel free to drop by `#docker-compose` on freenode IRC and ask the community. diff --git a/compose/gettingstarted.md b/compose/gettingstarted.md index d7019d63101..007af7bdc09 100644 --- a/compose/gettingstarted.md +++ b/compose/gettingstarted.md @@ -1,16 +1,10 @@ --- -description: Getting started with Docker Compose +description: Get started with Docker Compose keywords: - documentation, docs, docker, compose, orchestration, containers -menu: - main: - parent: workw_compose - weight: -85 -title: Getting Started +title: Get started with Docker Compose --- -# Getting Started - On this page you build a simple Python web application running on Docker Compose. The application uses the Flask framework and increments a value in Redis. While the sample uses Python, the concepts demonstrated here should be understandable even diff --git a/compose/index.md b/compose/index.md index 6c1fb143d5d..9f8f32e9079 100644 --- a/compose/index.md +++ b/compose/index.md @@ -2,15 +2,9 @@ description: Introduction and Overview of Compose keywords: - documentation, docs, docker, compose, orchestration, containers -menu: - main: - identifier: workw_compose - weight: -70 title: Docker Compose --- -# Docker Compose - Compose is a tool for defining and running multi-container Docker applications. To learn more about Compose refer to the following documentation: - [Compose Overview](overview.md) diff --git a/compose/install.md b/compose/install.md index 36c90413322..8b241eaf90b 100644 --- a/compose/install.md +++ b/compose/install.md @@ -2,15 +2,9 @@ description: How to install Docker Compose keywords: - compose, orchestration, install, installation, docker, documentation -menu: - main: - parent: workw_compose - weight: -90 -title: Install Compose +title: Install Docker Compose --- -# Install Docker Compose - You can run Compose on macOS, Windows and 64-bit Linux. To install it, you'll need to install Docker first. To install Compose, do the following: diff --git a/compose/link-env-deprecated.md b/compose/link-env-deprecated.md index d9d62423ea5..7141e918bf6 100644 --- a/compose/link-env-deprecated.md +++ b/compose/link-env-deprecated.md @@ -4,15 +4,9 @@ aliases: description: Compose CLI reference keywords: - fig, composition, compose, docker, orchestration, cli, reference -menu: - main: - parent: workw_compose - weight: 89 -title: Link Environment Variables +title: Link environment variables (superseded) --- -# Link environment variables reference - > **Note:** Environment variables are no longer the recommended method for connecting to linked services. Instead, you should use the link name (by default, the name of the linked service) as the hostname to connect to. See the [docker-compose.yml documentation](compose-file.md#links) for details. > > Environment variables will only be populated if you're using the [legacy version 1 Compose file format](compose-file.md#versioning). diff --git a/compose/networking.md b/compose/networking.md index 7604abf2b0c..291fe84f09c 100644 --- a/compose/networking.md +++ b/compose/networking.md @@ -2,15 +2,9 @@ description: How Compose sets up networking between containers keywords: - documentation, docs, docker, compose, orchestration, containers, networking -menu: - main: - parent: workw_compose - weight: 21 title: Networking in Compose --- -# Networking in Compose - > **Note:** This document only applies if you're using [version 2 of the Compose file format](compose-file.md#versioning). Networking features are not supported for version 1 (legacy) Compose files. By default Compose sets up a single diff --git a/compose/overview.md b/compose/overview.md index 20a9c28ac08..e04d1fc64dc 100644 --- a/compose/overview.md +++ b/compose/overview.md @@ -2,15 +2,9 @@ description: Introduction and Overview of Compose keywords: - documentation, docs, docker, compose, orchestration, containers -menu: - main: - parent: workw_compose - weight: -99 title: Overview of Docker Compose --- -# Overview of Docker Compose - Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a Compose file to configure your application's services. Then, using a single command, you create and start all the services diff --git a/compose/production.md b/compose/production.md index 089a5e3c223..7d9c031bf84 100644 --- a/compose/production.md +++ b/compose/production.md @@ -2,15 +2,9 @@ description: Guide to using Docker Compose in production keywords: - documentation, docs, docker, compose, orchestration, containers, production -menu: - main: - parent: workw_compose - weight: 22 -title: Using Compose in Production +title: Using Compose in production --- -## Using Compose in production - When you define your app with Compose in development, you can use this definition to run your application in different environments such as CI, staging, and production. diff --git a/compose/rails.md b/compose/rails.md index a3b49075c11..885236e8ed4 100644 --- a/compose/rails.md +++ b/compose/rails.md @@ -2,15 +2,9 @@ description: Getting started with Docker Compose and Rails keywords: - documentation, docs, docker, compose, orchestration, containers -menu: - main: - parent: workw_compose - weight: 5 -title: 'Quickstart: Compose and Rails' +title: "Quickstart: Compose and Rails" --- -## Quickstart: Docker Compose and Rails - This Quickstart guide will show you how to use Docker Compose to set up and run a Rails/PostgreSQL app. Before starting, you'll need to have [Compose installed](install.md). ### Define the project diff --git a/compose/reference/build.md b/compose/reference/build.md index 2c01e4da862..18d0e3cc3bb 100644 --- a/compose/reference/build.md +++ b/compose/reference/build.md @@ -1,16 +1,10 @@ --- -description: build +description: docker-compose build keywords: - fig, composition, compose, docker, orchestration, cli, build -menu: - main: - identifier: build.compose - parent: smn_compose_cli -title: build +title: docker-compose build --- -# build - ``` Usage: build [options] [SERVICE...] diff --git a/compose/reference/bundle.md b/compose/reference/bundle.md index 4cb0a02e4f7..834a959300a 100644 --- a/compose/reference/bundle.md +++ b/compose/reference/bundle.md @@ -2,15 +2,9 @@ description: Create a distributed application bundle from the Compose file. keywords: - fig, composition, compose, docker, orchestration, cli, bundle -menu: - main: - identifier: bundle.compose - parent: smn_compose_cli -title: bundle +title: docker-compose bundle --- -# bundle - ``` Usage: bundle [options] diff --git a/compose/reference/config.md b/compose/reference/config.md index 1f610805df6..12d38550010 100644 --- a/compose/reference/config.md +++ b/compose/reference/config.md @@ -2,15 +2,9 @@ description: Config validates and view the compose file. keywords: - fig, composition, compose, docker, orchestration, cli, config -menu: - main: - identifier: config.compose - parent: smn_compose_cli -title: config +title: docker-compose config --- -# config - ```: Usage: config [options] diff --git a/compose/reference/create.md b/compose/reference/create.md index 808276165f6..1d78562e7f9 100644 --- a/compose/reference/create.md +++ b/compose/reference/create.md @@ -2,15 +2,9 @@ description: Create creates containers for a service. keywords: - fig, composition, compose, docker, orchestration, cli, create -menu: - main: - identifier: create.compose - parent: smn_compose_cli -title: create +title: docker-compose create --- -# create - ``` Creates containers for a service. diff --git a/compose/reference/down.md b/compose/reference/down.md index 47ec4dc4895..c44a149b03d 100644 --- a/compose/reference/down.md +++ b/compose/reference/down.md @@ -1,16 +1,10 @@ --- -description: down +description: docker-compose down keywords: - fig, composition, compose, docker, orchestration, cli, down -menu: - main: - identifier: down.compose - parent: smn_compose_cli -title: down +title: docker-compose down --- -# down - ``` Usage: down [options] diff --git a/compose/reference/envvars.md b/compose/reference/envvars.md index 4887e6cdf8a..cd30ba3d020 100644 --- a/compose/reference/envvars.md +++ b/compose/reference/envvars.md @@ -1,16 +1,10 @@ --- -description: CLI Environment Variables +description: Compose CLI environment variables keywords: - fig, composition, compose, docker, orchestration, cli, reference -menu: - main: - parent: smn_compose_cli - weight: -1 -title: CLI Environment Variables +title: Compose CLI environment variables --- -# CLI Environment Variables - Several environment variables are available for you to configure the Docker Compose command-line behaviour. Variables starting with `DOCKER_` are the same as those used to configure the diff --git a/compose/reference/events.md b/compose/reference/events.md index c531df4bb78..08437a41bb4 100644 --- a/compose/reference/events.md +++ b/compose/reference/events.md @@ -2,15 +2,9 @@ description: Receive real time events from containers. keywords: - fig, composition, compose, docker, orchestration, cli, events -menu: - main: - identifier: events.compose - parent: smn_compose_cli -title: events +title: docker-compose events --- -# events - ``` Usage: events [options] [SERVICE...] diff --git a/compose/reference/exec.md b/compose/reference/exec.md index c7415d918d0..92191017b95 100644 --- a/compose/reference/exec.md +++ b/compose/reference/exec.md @@ -1,16 +1,10 @@ --- -description: exec +description: docker-compose exec keywords: - fig, composition, compose, docker, orchestration, cli, exec -menu: - main: - identifier: exec.compose - parent: smn_compose_cli -title: exec +title: docker-compose exec --- -# exec - ``` Usage: exec [options] SERVICE COMMAND [ARGS...] diff --git a/compose/reference/help.md b/compose/reference/help.md index d7e454ba0dd..7c39961d7a1 100644 --- a/compose/reference/help.md +++ b/compose/reference/help.md @@ -1,16 +1,10 @@ --- -description: help +description: docker-compose help keywords: - fig, composition, compose, docker, orchestration, cli, help -menu: - main: - identifier: help.compose - parent: smn_compose_cli -title: help +title: docker-compose help --- -# help - ``` Usage: help COMMAND ``` diff --git a/compose/reference/index.md b/compose/reference/index.md index b28d184b50a..fc60b2313f3 100644 --- a/compose/reference/index.md +++ b/compose/reference/index.md @@ -2,16 +2,9 @@ description: Compose CLI reference keywords: - fig, composition, compose, docker, orchestration, cli, reference -menu: - main: - identifier: smn_compose_cli - parent: workw_compose - weight: 80 -title: Command-line Reference +title: Compose command-line reference --- -## Compose command-line reference - The following pages describe the usage information for the [docker-compose](overview.md) subcommands. You can also see this information by running `docker-compose [SUBCOMMAND] --help` from the command line. * [docker-compose](overview.md) diff --git a/compose/reference/kill.md b/compose/reference/kill.md index 3f6c74973f1..66e8b634314 100644 --- a/compose/reference/kill.md +++ b/compose/reference/kill.md @@ -2,15 +2,9 @@ description: Forces running containers to stop. keywords: - fig, composition, compose, docker, orchestration, cli, kill -menu: - main: - identifier: kill.compose - parent: smn_compose_cli -title: kill +title: docker-compose kill --- -# kill - ``` Usage: kill [options] [SERVICE...] diff --git a/compose/reference/logs.md b/compose/reference/logs.md index 7008a801c7f..c1002391bab 100644 --- a/compose/reference/logs.md +++ b/compose/reference/logs.md @@ -2,15 +2,9 @@ description: Displays log output from services. keywords: - fig, composition, compose, docker, orchestration, cli, logs -menu: - main: - identifier: logs.compose - parent: smn_compose_cli -title: logs +title: docker-compose logs --- -# logs - ``` Usage: logs [options] [SERVICE...] diff --git a/compose/reference/overview.md b/compose/reference/overview.md index b84a6b28d4c..020f83fdfef 100644 --- a/compose/reference/overview.md +++ b/compose/reference/overview.md @@ -4,15 +4,9 @@ aliases: description: Overview of docker-compose CLI keywords: - fig, composition, compose, docker, orchestration, cli, docker-compose -menu: - main: - parent: smn_compose_cli - weight: -2 title: Overview of docker-compose CLI --- -# Overview of docker-compose CLI - This page provides the usage information for the `docker-compose` Command. You can also see this information by running `docker-compose --help` from the command line. diff --git a/compose/reference/pause.md b/compose/reference/pause.md index ba45242e715..c9af6ab3319 100644 --- a/compose/reference/pause.md +++ b/compose/reference/pause.md @@ -2,15 +2,9 @@ description: Pauses running containers for a service. keywords: - fig, composition, compose, docker, orchestration, cli, pause -menu: - main: - identifier: pause.compose - parent: smn_compose_cli -title: pause +title: docker-compose pause --- -# pause - ``` Usage: pause [SERVICE...] ``` diff --git a/compose/reference/port.md b/compose/reference/port.md index a8a6e196784..532adeab411 100644 --- a/compose/reference/port.md +++ b/compose/reference/port.md @@ -2,15 +2,9 @@ description: Prints the public port for a port binding.s keywords: - fig, composition, compose, docker, orchestration, cli, port -menu: - main: - identifier: port.compose - parent: smn_compose_cli -title: port +title: docker-compose port --- -# port - ``` Usage: port [options] SERVICE PRIVATE_PORT diff --git a/compose/reference/ps.md b/compose/reference/ps.md index 20aa45f2485..4a6583014c8 100644 --- a/compose/reference/ps.md +++ b/compose/reference/ps.md @@ -2,15 +2,9 @@ description: Lists containers. keywords: - fig, composition, compose, docker, orchestration, cli, ps -menu: - main: - identifier: ps.compose - parent: smn_compose_cli -title: ps +title: docker-compose ps --- -# ps - ```none Usage: ps [options] [SERVICE...] @@ -22,8 +16,8 @@ Lists containers. ```bash $ docker-compose ps - Name Command State Ports + Name Command State Ports -------------------------------------------------------------------------------------------- -mywordpress_db_1 docker-entrypoint.sh mysqld Up 3306/tcp +mywordpress_db_1 docker-entrypoint.sh mysqld Up 3306/tcp mywordpress_wordpress_1 /entrypoint.sh apache2-for ... Restarting 0.0.0.0:8000->80/tcp ``` diff --git a/compose/reference/pull.md b/compose/reference/pull.md index 018f7a47e04..6605166a73e 100644 --- a/compose/reference/pull.md +++ b/compose/reference/pull.md @@ -2,15 +2,9 @@ description: Pulls service images. keywords: - fig, composition, compose, docker, orchestration, cli, pull -menu: - main: - identifier: pull.compose - parent: smn_compose_cli -title: pull +title: docker-compose pull --- -# pull - ``` Usage: pull [options] [SERVICE...] diff --git a/compose/reference/push.md b/compose/reference/push.md index 4d10b82f3e3..574d47507ce 100644 --- a/compose/reference/push.md +++ b/compose/reference/push.md @@ -2,15 +2,9 @@ description: Pushes service images. keywords: - fig, composition, compose, docker, orchestration, cli, push -menu: - main: - identifier: push.compose - parent: smn_compose_cli -title: push +title: docker-compose push --- -# push - ``` Usage: push [options] [SERVICE...] diff --git a/compose/reference/restart.md b/compose/reference/restart.md index 18d4266750a..50e57c404ba 100644 --- a/compose/reference/restart.md +++ b/compose/reference/restart.md @@ -2,15 +2,9 @@ description: Restarts Docker Compose services. keywords: - fig, composition, compose, docker, orchestration, cli, restart -menu: - main: - identifier: restart.compose - parent: smn_compose_cli -title: restart +title: docker-compose restart --- -# restart - ``` Usage: restart [options] [SERVICE...] diff --git a/compose/reference/rm.md b/compose/reference/rm.md index e18c90818c0..bed1ad2c5f1 100644 --- a/compose/reference/rm.md +++ b/compose/reference/rm.md @@ -2,15 +2,9 @@ description: Removes stopped service containers. keywords: - fig, composition, compose, docker, orchestration, cli, rm -menu: - main: - identifier: rm.compose - parent: smn_compose_cli -title: rm +title: docker-compose rm --- -# rm - ``` Usage: rm [options] [SERVICE...] diff --git a/compose/reference/run.md b/compose/reference/run.md index e61f214326c..fda28cfae28 100644 --- a/compose/reference/run.md +++ b/compose/reference/run.md @@ -2,15 +2,9 @@ description: Runs a one-off command on a service. keywords: - fig, composition, compose, docker, orchestration, cli, run -menu: - main: - identifier: run.compose - parent: smn_compose_cli -title: run +title: docker-compose run --- -# run - ``` Usage: run [options] [-e KEY=VAL...] SERVICE [COMMAND] [ARGS...] diff --git a/compose/reference/scale.md b/compose/reference/scale.md index 34a5e1e31ac..3fcbf085584 100644 --- a/compose/reference/scale.md +++ b/compose/reference/scale.md @@ -2,14 +2,9 @@ description: Sets the number of containers to run for a service. keywords: - fig, composition, compose, docker, orchestration, cli, scale -menu: - main: - parent: smn_compose_cli -title: scale +title: docker-compose scale --- -# scale - ``` Usage: scale [SERVICE=NUM...] ``` diff --git a/compose/reference/start.md b/compose/reference/start.md index 3a7591564d6..3bc4b495f03 100644 --- a/compose/reference/start.md +++ b/compose/reference/start.md @@ -2,15 +2,9 @@ description: Starts existing containers for a service. keywords: - fig, composition, compose, docker, orchestration, cli, start -menu: - main: - identifier: start.compose - parent: smn_compose_cli -title: start +title: docker-compose start --- -# start - ``` Usage: start [SERVICE...] ``` diff --git a/compose/reference/stop.md b/compose/reference/stop.md index fe1e1f15906..bedd1bbff6b 100644 --- a/compose/reference/stop.md +++ b/compose/reference/stop.md @@ -2,15 +2,9 @@ description: 'Stops running containers without removing them. ' keywords: - fig, composition, compose, docker, orchestration, cli, stop -menu: - main: - identifier: stop.compose - parent: smn_compose_cli -title: stop +title: docker-compose stop --- -# stop - ``` Usage: stop [options] [SERVICE...] diff --git a/compose/reference/unpause.md b/compose/reference/unpause.md index a04e957b48b..47f85a8836e 100644 --- a/compose/reference/unpause.md +++ b/compose/reference/unpause.md @@ -2,15 +2,9 @@ description: Unpauses paused containers for a service. keywords: - fig, composition, compose, docker, orchestration, cli, unpause -menu: - main: - identifier: unpause.compose - parent: smn_compose_cli -title: unpause +title: docker-compose unpause --- -# unpause - ``` Usage: unpause [SERVICE...] ``` diff --git a/compose/reference/up.md b/compose/reference/up.md index decd4971c4a..464c9c936dd 100644 --- a/compose/reference/up.md +++ b/compose/reference/up.md @@ -2,15 +2,9 @@ description: Builds, (re)creates, starts, and attaches to containers for a service. keywords: - fig, composition, compose, docker, orchestration, cli, up -menu: - main: - identifier: up.compose - parent: smn_compose_cli -title: up +title: docker-compose up --- -# up - ``` Usage: up [options] [SERVICE...] diff --git a/compose/startup-order.md b/compose/startup-order.md index 634c7bba991..76bf7ffaed1 100644 --- a/compose/startup-order.md +++ b/compose/startup-order.md @@ -1,15 +1,9 @@ --- description: How to control service startup order in Docker Compose keywords: documentation, docs, docker, compose, startup, order -menu: - main: - parent: workw_compose - weight: 90 -title: Controlling startup order +title: Controlling startup order in Compose --- -# Controlling startup order in Compose - You can control the order of service startup with the [depends_on](compose-file.md#depends-on) option. Compose always starts containers in dependency order, where dependencies are determined by @@ -56,7 +50,7 @@ script: - Alternatively, write your own wrapper script to perform a more application-specific health check. For example, you might want to wait until Postgres is definitely ready to accept commands: - + wait-for-postgres.sh #!/bin/bash diff --git a/compose/swarm.md b/compose/swarm.md index 0b26fa35f93..bc637417c74 100644 --- a/compose/swarm.md +++ b/compose/swarm.md @@ -2,14 +2,9 @@ description: How to use Compose and Swarm together to deploy apps to multi-host clusters keywords: - documentation, docs, docker, compose, orchestration, containers, swarm -menu: - main: - parent: workw_compose -title: Using Compose with Swarm +title: Use Compose with Swarm --- -# Using Compose with Swarm - Docker Compose and [Docker Swarm](/swarm/overview.md) aim to have full integration, meaning you can point a Compose app at a Swarm cluster and have it all just work as if you were using a single Docker host. diff --git a/compose/wordpress.md b/compose/wordpress.md index b830e2829fa..1ec38603b08 100644 --- a/compose/wordpress.md +++ b/compose/wordpress.md @@ -2,15 +2,9 @@ description: Getting started with Compose and WordPress keywords: - documentation, docs, docker, compose, orchestration, containers -menu: - main: - parent: workw_compose - weight: 6 -title: 'Quickstart: Compose and WordPress' +title: "Quickstart: Compose and WordPress" --- -# Quickstart: Docker Compose and WordPress - You can use Docker Compose to easily run WordPress in an isolated environment built with Docker containers. This quick-start guide demonstrates how to use Compose to set up and run WordPress. Before starting, you'll need to have [Compose installed](install.md). diff --git a/cs-engine/index.md b/cs-engine/index.md index 2e3ad7c4e07..5946cdf94b5 100644 --- a/cs-engine/index.md +++ b/cs-engine/index.md @@ -4,15 +4,9 @@ aliases: description: Learn more about the Commercially Supported Docker Engine. keywords: - docker, engine, documentation -menu: - main: - identifier: menu_csengine - weight: -65 -title: CS Docker Engine +title: Commercially Supported Docker Engine --- -# Docker CS Engine - This section includes the following topics: * [Install CS Docker Engine](install.md) diff --git a/cs-engine/install.md b/cs-engine/install.md index 449e7fe2bfb..0878e3e57db 100644 --- a/cs-engine/install.md +++ b/cs-engine/install.md @@ -6,16 +6,9 @@ aliases: description: Learn how to install the commercially supported version of Docker Engine. keywords: - docker, engine, dtr, install -menu: - main: - identifier: csengine_install - parent: menu_csengine - weight: 0 -title: Install CS Docker Engine +title: Install Commercially Supported Docker Engine --- -# Install CS Docker Engine - Follow these instructions to install CS Docker Engine, the commercially supported version of Docker Engine. diff --git a/cs-engine/release-notes/index.md b/cs-engine/release-notes/index.md index f6e7c731515..4c7c169f511 100644 --- a/cs-engine/release-notes/index.md +++ b/cs-engine/release-notes/index.md @@ -4,15 +4,8 @@ aliases: description: The release notes for CS Docker Engine. keywords: - docker, engine, release notes -menu: - main: - identifier: menu_csengine_release_notes - parent: menu_csengine - weight: 100 -title: Release notes +title: Commercially Supported Docker Engine release notes --- -# Docker CS Engine release notes - * [Release notes](release-notes.md) * [Prior release notes](prior-release-notes.md) diff --git a/cs-engine/release-notes/prior-release-notes.md b/cs-engine/release-notes/prior-release-notes.md index b3d34578595..849e9c4f18d 100644 --- a/cs-engine/release-notes/prior-release-notes.md +++ b/cs-engine/release-notes/prior-release-notes.md @@ -4,18 +4,10 @@ aliases: - /docker-trusted-registry/cs-engine/release-notes/prior-release-notes/ description: Archived release notes for commercially supported Docker Engine keywords: -- docker, documentation, about, technology, understanding, enterprise, hub, registry,release, - commercially supported Docker Engine -menu: - main: - identifier: csengine_prior_release_notes - parent: menu_csengine_release_notes - weight: 10 -title: Prior CS Engine release notes +- docker, documentation, about, technology, understanding, enterprise, hub, registry, release, commercially supported Docker Engine +title: Release notes archive for Commercially Supported Docker Engine. --- -# CS Engine release notes archive - This document contains the previous versions of the commercially supported Docker Engine release notes. It includes issues, fixes, and new features. diff --git a/cs-engine/release-notes/release-notes.md b/cs-engine/release-notes/release-notes.md index 1441a70dcd4..a2e13102b29 100644 --- a/cs-engine/release-notes/release-notes.md +++ b/cs-engine/release-notes/release-notes.md @@ -4,18 +4,10 @@ aliases: - /docker-trusted-registry/cs-engine/release-notes/release-notes/ description: Commercially supported Docker Engine release notes keywords: -- docker, documentation, about, technology, understanding, enterprise, hub, registry, - Commercially Supported Docker Engine, release notes -menu: - main: - identifier: csengine_release_notes - parent: menu_csengine_release_notes - weight: 0 -title: CS Engine release notes +- docker, documentation, about, technology, understanding, enterprise, hub, registry, Commercially Supported Docker Engine, release notes +title: Commercially Supported Engine release notes --- -# Commercially supported Engine release notes - This document describes the latest changes, additions, known issues, and fixes for the commercially supported Docker Engine (CS Engine). diff --git a/cs-engine/upgrade.md b/cs-engine/upgrade.md index d3db81887b6..b2be91f8526 100644 --- a/cs-engine/upgrade.md +++ b/cs-engine/upgrade.md @@ -4,16 +4,9 @@ aliases: description: Learn how to install the commercially supported version of Docker Engine. keywords: - docker, engine, dtr, upgrade -menu: - main: - identifier: csengine_upgrade - parent: menu_csengine - weight: 10 -title: Upgrade +title: Upgrade Commercially Supported Docker Engine --- -# Upgrade CS Docker Engine - This article explains how to upgrade your CS Docker Engine. The upgrade process depends on the version that is currently installed and the diff --git a/docker-cloud/apps/api-roles.md b/docker-cloud/apps/api-roles.md index 8d550de5260..090993ea8a0 100644 --- a/docker-cloud/apps/api-roles.md +++ b/docker-cloud/apps/api-roles.md @@ -4,14 +4,9 @@ aliases: description: API Roles keywords: - API, Services, roles -menu: - main: - parent: apps -title: Service API Roles +title: Service API roles --- -# Service API Roles - You can configure a service so that it can access the Docker Cloud API. When you grant API access to a service, its containers receive a token through an environment variable, which is used to query the Docker Cloud API. diff --git a/docker-cloud/apps/auto-destroy.md b/docker-cloud/apps/auto-destroy.md index 9bca633714f..e438878e259 100644 --- a/docker-cloud/apps/auto-destroy.md +++ b/docker-cloud/apps/auto-destroy.md @@ -4,14 +4,9 @@ aliases: description: Autodestroy keywords: - Autodestroy, service, terminate, container -menu: - main: - parent: apps -title: Automatic container destroy +title: Destroy containers automatically --- -# Autodestroy - When enabled on a service, **Autodestroy**  automatically terminates containers when they stop. **This destroys all data in the container on stop.** This is useful for one-time actions that store their results in an external system. diff --git a/docker-cloud/apps/auto-redeploy.md b/docker-cloud/apps/auto-redeploy.md index 3e284782d78..3f83516e8cc 100644 --- a/docker-cloud/apps/auto-redeploy.md +++ b/docker-cloud/apps/auto-redeploy.md @@ -4,14 +4,9 @@ aliases: description: Autoredeploy keywords: - Autoredeploy, image, store, service -menu: - main: - parent: apps -title: Automatic service redeploy +title: Redeploy services automatically --- -# Autoredeploy - Docker Cloud's **Autoredeploy** feature allows a service that uses an image stored in Docker Hub to automatically redeploy whenever a new image is pushed or built. diff --git a/docker-cloud/apps/autorestart.md b/docker-cloud/apps/autorestart.md index 0fe2698a9b8..e49b6253689 100644 --- a/docker-cloud/apps/autorestart.md +++ b/docker-cloud/apps/autorestart.md @@ -4,14 +4,9 @@ aliases: description: Automatically restart a container in Docker Cloud keywords: - container, restart, automated -menu: - main: - parent: apps -title: Automatic container restart +title: Restart a container automatically --- -# Automatically restart a container - **Autorestart** is a service-level setting that can automatically start your containers if they stop or crash. You can use this setting as an automatic crash recovery mechanism. diff --git a/docker-cloud/apps/deploy-tags.md b/docker-cloud/apps/deploy-tags.md index 03e741a8d5b..f0a2fc2edd2 100644 --- a/docker-cloud/apps/deploy-tags.md +++ b/docker-cloud/apps/deploy-tags.md @@ -4,14 +4,9 @@ aliases: description: Deployment tags keywords: - Deployment, tags, services -menu: - main: - parent: apps title: Deployment tags --- -# Deployment tags - You can use **Deployment tags** to make sure certain services are deployed only to specific nodes. Tagged services only deploy to nodes that match **all** of the tags on that service. Docker Cloud shows an error if no nodes match all of diff --git a/docker-cloud/apps/deploy-to-cloud-btn.md b/docker-cloud/apps/deploy-to-cloud-btn.md index 2ce54cd3917..d09f982467f 100644 --- a/docker-cloud/apps/deploy-to-cloud-btn.md +++ b/docker-cloud/apps/deploy-to-cloud-btn.md @@ -5,14 +5,9 @@ aliases: description: Deploy to Docker Cloud keywords: - deploy, docker, cloud -menu: - main: - parent: apps -title: Add a Deploy to Docker Cloud button +title: Add a "Deploy to Docker Cloud" button --- -# Add a Deploy to Docker Cloud Button - The **Deploy to Docker Cloud** button allows developers to deploy stacks with one click in Docker Cloud. The button is intended to be added to `README.md` files in public GitHub repositories, although it can be used anywhere else. This is an example button to deploy our python quickstart: diff --git a/docker-cloud/apps/index.md b/docker-cloud/apps/index.md index 662125ac1a7..d5d5d2220c2 100644 --- a/docker-cloud/apps/index.md +++ b/docker-cloud/apps/index.md @@ -2,15 +2,9 @@ description: Manage your Docker Cloud Applications keywords: - applications, reference, Cloud -menu: - main: - parent: apps - weight: -99 title: Applications in Docker Cloud --- -# Applications in Docker Cloud - Applications in Docker Cloud are usually several Services linked together using the specifications from a [Stackfile](stacks.md) or a Compose file. You can also create individual services using the Docker Cloud Services wizard, and you can diff --git a/docker-cloud/apps/load-balance-hello-world.md b/docker-cloud/apps/load-balance-hello-world.md index c391a975b22..dd71cb81819 100644 --- a/docker-cloud/apps/load-balance-hello-world.md +++ b/docker-cloud/apps/load-balance-hello-world.md @@ -5,14 +5,9 @@ aliases: description: Create a proxy or load balancer keywords: - proxy, load, balancer -menu: - main: - parent: apps title: Create a proxy or load balancer --- -# Create a proxy or load balancer - When you deploy a web service to multiple containers you might want to load balance between the containers using a proxy or load balancer. diff --git a/docker-cloud/apps/ports.md b/docker-cloud/apps/ports.md index 88be4055657..62abb3faedc 100644 --- a/docker-cloud/apps/ports.md +++ b/docker-cloud/apps/ports.md @@ -4,15 +4,12 @@ aliases: description: Publish and expose service or container ports keywords: - publish, expose, ports, containers, services -menu: - main: - parent: apps title: Publish and expose service or container ports --- -# Publish and expose service or container ports - -In Docker Cloud you can **publish** or **expose** ports in services and containers, just like you can in Docker Engine (as documented [here](/reference/run/#expose-incoming-ports) ). +In Docker Cloud you can **publish** or **expose** ports in services and +containers, just like you can in Docker Engine (as documented +[here](/reference/run/#expose-incoming-ports) ). * **Exposed ports** are ports that a container or service is using either to provide a service, or listen on. By default, exposed ports in Docker Cloud are diff --git a/docker-cloud/apps/service-links.md b/docker-cloud/apps/service-links.md index 127f989e6b2..3c6199e9712 100644 --- a/docker-cloud/apps/service-links.md +++ b/docker-cloud/apps/service-links.md @@ -4,14 +4,9 @@ aliases: description: Service discovery keywords: - service, discover, links -menu: - main: - parent: apps title: Service discovery and links --- -# Service discovery and links - Docker Cloud creates a per-user overlay network which connects all containers across all of the user's hosts. This network connects all of your containers on the `10.7.0.0/16` subnet, and gives every container a local IP. This IP persists on each container even if the container is redeployed and ends up on a different host. Every container can reach any other container on any port within the subnet. Docker Cloud gives your containers two ways find other services: diff --git a/docker-cloud/apps/service-redeploy.md b/docker-cloud/apps/service-redeploy.md index 20397b7c947..418ebb61a53 100644 --- a/docker-cloud/apps/service-redeploy.md +++ b/docker-cloud/apps/service-redeploy.md @@ -4,14 +4,9 @@ aliases: description: Redeploy running services keywords: - redeploy, running, services -menu: - main: - parent: apps -title: Redeploy running services +title: Redeploy a running service --- -# Redeploy a running service - You can **redeploy** services in Docker Cloud while they are running to regenerate a service's containers. You might do this when a new version of the image is pushed to the registry, or in order to apply changes that you made to diff --git a/docker-cloud/apps/service-scaling.md b/docker-cloud/apps/service-scaling.md index d99ba265ab0..9e5750b61a4 100644 --- a/docker-cloud/apps/service-scaling.md +++ b/docker-cloud/apps/service-scaling.md @@ -4,14 +4,9 @@ aliases: description: Scale your service, spawn new containers keywords: - spawn, container, service, deploy -menu: - main: - parent: apps title: Scale your service --- -# Scale your service - Docker Cloud makes it easy to spawn new containers of your service to handle additional load. Two modes are available to allow you to scale services with different configuration requirements. diff --git a/docker-cloud/apps/stack-yaml-reference.md b/docker-cloud/apps/stack-yaml-reference.md index 76251dd79a2..8262e84ddf6 100644 --- a/docker-cloud/apps/stack-yaml-reference.md +++ b/docker-cloud/apps/stack-yaml-reference.md @@ -4,14 +4,9 @@ aliases: description: Stack YAML reference keywords: - YAML, stack, reference -menu: - main: - parent: apps -title: Stack YAML reference +title: Stack file YAML reference --- -# Stack YAML reference - A stack is a collection of services that make up an application in a specific environment. Learn more about stacks [here](stacks.md). A **stack file** is a file in YAML format that defines one or more services, similar to a `docker-compose.yml` file but with a few extensions. The default name for this file is `docker-cloud.yml`. ## Stack file example diff --git a/docker-cloud/apps/stacks.md b/docker-cloud/apps/stacks.md index 0aa039fa0b7..c07bb9b1339 100644 --- a/docker-cloud/apps/stacks.md +++ b/docker-cloud/apps/stacks.md @@ -4,14 +4,9 @@ aliases: description: Manage service stacks keywords: - service, stack, yaml -menu: - main: - parent: apps title: Manage service stacks --- -# Manage service stacks - A **stack** is a collection of services that make up an application in a specific environment. A **stack file** is a file in YAML format, similar to a `docker-compose.yml` file, that defines one or more services. The YAML reference is documented [here](stack-yaml-reference.md). Stacks are a convenient way to automatically deploy multiple services that are linked to each other, without needing to define each one separately. diff --git a/docker-cloud/apps/triggers.md b/docker-cloud/apps/triggers.md index 6008cfb1b3d..0a7ab1158dc 100644 --- a/docker-cloud/apps/triggers.md +++ b/docker-cloud/apps/triggers.md @@ -4,14 +4,9 @@ aliases: description: Use triggers keywords: - API, triggers, endpoints -menu: - main: - parent: apps title: Use triggers --- -# Use triggers - **Triggers** are API endpoints that redeploy or scale a specific service whenever a `POST` HTTP request is sent to them. You can create one or more triggers per service. diff --git a/docker-cloud/apps/volumes.md b/docker-cloud/apps/volumes.md index 6d073b86d82..ddcdd2b779c 100644 --- a/docker-cloud/apps/volumes.md +++ b/docker-cloud/apps/volumes.md @@ -5,14 +5,9 @@ aliases: description: Work with data volumes keywords: - data, volumes, create, reuse -menu: - main: - parent: apps title: Work with data volumes --- -# Work with data volumes - In Docker Cloud, you can define one or more data volumes for a service. **Volumes** are directories that are stored outside of the container's filesystem and which hold reusable and shareable data that can persist even when diff --git a/docker-cloud/builds/advanced.md b/docker-cloud/builds/advanced.md index a8326410b82..a82356aea3e 100644 --- a/docker-cloud/builds/advanced.md +++ b/docker-cloud/builds/advanced.md @@ -2,15 +2,9 @@ description: Automated builds keywords: - automated, build, images -menu: - main: - parent: builds - weight: -40 title: Advanced options for Autobuild and Autotest --- -# Advanced options for Autobuild and Autotest - The following options allow you to customize your automated build and automated test processes. ## Environment variables for building and testing diff --git a/docker-cloud/builds/automated-build.md b/docker-cloud/builds/automated-build.md index 6367e82c18f..e57b392f0d6 100644 --- a/docker-cloud/builds/automated-build.md +++ b/docker-cloud/builds/automated-build.md @@ -4,15 +4,9 @@ aliases: description: Automated builds keywords: - automated, build, images -menu: - main: - parent: builds - weight: -50 title: Automated builds --- -# Automated builds - > **Note**: Docker Cloud's Build functionality is in BETA. Docker Cloud can automatically build images from source code in an external diff --git a/docker-cloud/builds/automated-testing.md b/docker-cloud/builds/automated-testing.md index dbd6a9f01ad..822b2e2f315 100644 --- a/docker-cloud/builds/automated-testing.md +++ b/docker-cloud/builds/automated-testing.md @@ -4,15 +4,9 @@ aliases: description: Automated tests keywords: - Automated, testing, repository -menu: - main: - parent: builds - weight: -50 title: Automated repository tests --- -# Automated repository tests - Docker Cloud can automatically test changes pushed to your source code repositories using containers. You can enable `Autotest` on [any Docker Cloud repository](repos.md) to run tests at each push to the source code repository, similar to a continuous integration testing service. diff --git a/docker-cloud/builds/image-scan.md b/docker-cloud/builds/image-scan.md index b8ed162c845..a41e46d114f 100644 --- a/docker-cloud/builds/image-scan.md +++ b/docker-cloud/builds/image-scan.md @@ -1,17 +1,10 @@ --- -description: 'Docker Security Scanning: automatic image scanning' +description: "Docker Security Scanning: automatic image scanning" keywords: -- Docker, docker, scan, scanning, security, registry, plans, Docker Cloud, docs, documentation, - trusted, builds, trusted builds, automated builds -menu: - main: - parent: builds - weight: -55 +- Docker, docker, scan, scanning, security, registry, plans, Docker Cloud, docs, documentation, trusted, builds, trusted builds, automated builds title: Docker Security Scanning --- -# Docker Security Scanning - Docker Cloud and Docker Hub can scan images in private repositories to verify that they are free from known security vulnerabilities or exposures, and report the results of the scan for each image tag. diff --git a/docker-cloud/builds/index.md b/docker-cloud/builds/index.md index af3d18f9d77..32b21711b34 100644 --- a/docker-cloud/builds/index.md +++ b/docker-cloud/builds/index.md @@ -2,16 +2,10 @@ description: Manage Builds and Images in Docker Cloud keywords: - builds, images, Cloud -menu: - main: - parent: builds - weight: -80 notoc: true -title: Builds and Images Overview +title: Builds and images overview --- -# Builds and Images Overview - Docker Cloud provides a hosted registry service where you can create repositories to store your Docker images. You can choose to push images to the repositories, or link to your source code and build them directly in Docker diff --git a/docker-cloud/builds/link-source.md b/docker-cloud/builds/link-source.md index bccfad7d1d2..6b21bbc4ed0 100644 --- a/docker-cloud/builds/link-source.md +++ b/docker-cloud/builds/link-source.md @@ -3,15 +3,9 @@ aliases: /docker-cloud/tutorials/link-source/ description: Link to your source code repository keywords: - sourcecode, github, bitbucket, Cloud -menu: - main: - parent: builds - weight: -60 -title: Link to a source code repository +title: Link Docker Cloud to a source code provider --- -# Link Docker Cloud to a source code provider - To automate building and testing of your images, you link to your hosted source code service to Docker Cloud so that it can access your source code repositories. You can configure this link for user accounts or diff --git a/docker-cloud/builds/push-images.md b/docker-cloud/builds/push-images.md index bba1f2f2ab6..50dc1be3247 100644 --- a/docker-cloud/builds/push-images.md +++ b/docker-cloud/builds/push-images.md @@ -5,15 +5,9 @@ aliases: description: Push images to Docker Cloud keywords: - images, private, registry -menu: - main: - parent: builds - weight: -60 title: Push images to Docker Cloud --- -# Push images to Docker Cloud - Docker Cloud uses Docker Hub as its native registry for storing both public and private repositories. Once you push your images to Docker Hub, they will be available in Docker Cloud. diff --git a/docker-cloud/builds/repos.md b/docker-cloud/builds/repos.md index 5be83990142..84e40a3d93a 100644 --- a/docker-cloud/builds/repos.md +++ b/docker-cloud/builds/repos.md @@ -2,15 +2,9 @@ description: Create and edit Docker Cloud repositories keywords: - Docker Cloud repositories, automated, build, images -menu: - main: - parent: builds - weight: -70 title: Docker Cloud repositories --- -# Docker Cloud repositories - Repositories in Docker Cloud store your Docker images. You can create repositories and manually [push images](push-images.md) using `docker push`, or you can link to a source code provider and use [automated builds](automated-build.md) to build the images for you. These repositories diff --git a/docker-cloud/docker-errors-faq.md b/docker-cloud/docker-errors-faq.md index 64e74cd42f0..a1029aafb42 100644 --- a/docker-cloud/docker-errors-faq.md +++ b/docker-cloud/docker-errors-faq.md @@ -4,15 +4,9 @@ aliases: description: Known Docker Engine issues in Docker Cloud keywords: - Engine, issues, troubleshoot -menu: - main: - parent: docker-cloud - weight: 50 -title: Known Issues in Docker Cloud +title: Known issues in Docker Cloud --- -# Known Docker Engine issues in Docker Cloud - This is a list of known issues with current versions of Docker Engine along with our recommended workaround. You might encounter these errors in Docker Cloud. --- diff --git a/docker-cloud/dockerid.md b/docker-cloud/dockerid.md index 4293c851edb..81e9d94d6fb 100644 --- a/docker-cloud/dockerid.md +++ b/docker-cloud/dockerid.md @@ -2,15 +2,9 @@ description: Using your DockerID to log in to Docker Cloud keywords: - one, two, three -menu: - main: - parent: docker-cloud - weight: -99 -title: Docker ID and Settings +title: Docker ID and Docker Cloud settings --- -# Your Docker ID and Docker Cloud account - Docker Cloud uses your Docker ID for access and access control, and this allows you to link your Hub and Cloud accounts. diff --git a/docker-cloud/getting-started/connect-infra.md b/docker-cloud/getting-started/connect-infra.md index 648924a1527..e0daba85681 100644 --- a/docker-cloud/getting-started/connect-infra.md +++ b/docker-cloud/getting-started/connect-infra.md @@ -1,21 +1,12 @@ --- aliases: - /docker-cloud/getting-started/use-hosted/ -description: How to link Docker Cloud to a hosted cloud services provider or your - own hosts +description: How to link Docker Cloud to a hosted cloud services provider or your own hosts keywords: - node, create, understand -menu: - main: - aliases: - - /docker-cloud/getting-started/use-hosted/ - parent: getting-started - weight: -90 -title: Link to your Infrastructure +title: Link to your infrastructure --- -# Link to your Infrastructure - To deploy Docker Cloud nodes, you first need to grant Docker Cloud access to your infrastructure. This could mean granting access to a cloud services provider such as AWS or Azure, or installing the Docker Cloud Agent on your own hosts. Once this is done, you can provision nodes directly from within Docker Cloud using the Web UI, CLI or API. diff --git a/docker-cloud/getting-started/deploy-app/10_provision_a_data_backend_for_your_service.md b/docker-cloud/getting-started/deploy-app/10_provision_a_data_backend_for_your_service.md index a5ba71ca454..d69ecbebbb0 100644 --- a/docker-cloud/getting-started/deploy-app/10_provision_a_data_backend_for_your_service.md +++ b/docker-cloud/getting-started/deploy-app/10_provision_a_data_backend_for_your_service.md @@ -5,15 +5,9 @@ aliases: description: Provision a data backend for the service keywords: - provision, Python, service -menu: - main: - parent: deploy-app - weight: -9 -title: Provision a data backend for the service +title: Provision a data backend for your service --- -# Provision a data backend for a Python service - Docker Cloud offers a large number of data stores in the *Jumpstart* library, including Redis, MongoDB, PostgreSQL, and MySQL. You may have noticed that your app has a visit counter that's been disabled up diff --git a/docker-cloud/getting-started/deploy-app/11_service_stacks.md b/docker-cloud/getting-started/deploy-app/11_service_stacks.md index 97d1678fe64..ed4ee0c03fd 100644 --- a/docker-cloud/getting-started/deploy-app/11_service_stacks.md +++ b/docker-cloud/getting-started/deploy-app/11_service_stacks.md @@ -4,15 +4,9 @@ aliases: description: Stackfiles for your service keywords: - Python, service, stack -menu: - main: - parent: deploy-app - weight: -8 title: Stackfiles for your service --- -# Stackfiles for your service - A stack is a logical grouping of related services that are usually deployed together and require each other to work as intended. If you are familiar with *fig* or *Docker Compose* then you should feel right at home with **stacks**. You can learn more about stacks [here](../../apps/stacks.md). Stack files are YAML files, and you can learn more about the available syntax [here](../../apps/stack-yaml-reference.md). You can also interact with stacks using the [stack commands in our API](/apidocs/docker-cloud.md#stacks). diff --git a/docker-cloud/getting-started/deploy-app/12_data_management_with_volumes.md b/docker-cloud/getting-started/deploy-app/12_data_management_with_volumes.md index f3dc93bf0b1..257cc64cb41 100644 --- a/docker-cloud/getting-started/deploy-app/12_data_management_with_volumes.md +++ b/docker-cloud/getting-started/deploy-app/12_data_management_with_volumes.md @@ -4,15 +4,9 @@ aliases: description: Data management with Volumes keywords: - Python, data, management -menu: - main: - parent: deploy-app - weight: -5 -title: Data management with Volumes +title: Data management with volumes --- -# Data management with Volumes - In the previous step, we set up Redis but didn't provide it a way to store the data it's caching. This means that if you redeployed the redis service, or if the container crashed, the data would be lost. To save the data so it persists diff --git a/docker-cloud/getting-started/deploy-app/1_introduction.md b/docker-cloud/getting-started/deploy-app/1_introduction.md index ad46e690fb1..b6ed91e4eb8 100644 --- a/docker-cloud/getting-started/deploy-app/1_introduction.md +++ b/docker-cloud/getting-started/deploy-app/1_introduction.md @@ -5,15 +5,9 @@ aliases: description: Deploy an app to Docker Cloud keywords: - deploy, Python, application -menu: - main: - parent: deploy-app - weight: -90 -title: Introduction to Deploying an app in Docker Cloud +title: Introduction to deploying an app in Docker Cloud --- -# Introduction and tutorial prerequisites - In this tutorial you will bring an application to Docker Cloud using either Go or Python. This tutorial is intended for more advanced beginners who have some experience with web applications, and who want to learn more about diff --git a/docker-cloud/getting-started/deploy-app/2_set_up.md b/docker-cloud/getting-started/deploy-app/2_set_up.md index a21db0865a4..866e89b3fab 100644 --- a/docker-cloud/getting-started/deploy-app/2_set_up.md +++ b/docker-cloud/getting-started/deploy-app/2_set_up.md @@ -5,15 +5,9 @@ aliases: description: Set up the application keywords: - Python, application, setup -menu: - main: - parent: deploy-app - weight: -80 title: Set up your environment --- -# Set up your environment - In this step you install the Docker Cloud CLI so interact with the service using your command shell. This tutorial uses CLI commands to complete actions. ## Install the Docker Cloud CLI diff --git a/docker-cloud/getting-started/deploy-app/3_prepare_the_app.md b/docker-cloud/getting-started/deploy-app/3_prepare_the_app.md index 3de4fcb6bd4..b79bb1ac572 100644 --- a/docker-cloud/getting-started/deploy-app/3_prepare_the_app.md +++ b/docker-cloud/getting-started/deploy-app/3_prepare_the_app.md @@ -5,15 +5,9 @@ aliases: description: Prepare the application keywords: - Python, prepare, application -menu: - main: - parent: deploy-app - weight: -70 title: Prepare the application --- -# Prepare the application - In this step, you will prepare a simple application that can be deployed. Run the following command to clone the sample application. You can use either the Python or the Go version of this application, but you don't need to diff --git a/docker-cloud/getting-started/deploy-app/4_push_to_cloud_registry.md b/docker-cloud/getting-started/deploy-app/4_push_to_cloud_registry.md index 5ae0f5799be..c70ccd4103e 100644 --- a/docker-cloud/getting-started/deploy-app/4_push_to_cloud_registry.md +++ b/docker-cloud/getting-started/deploy-app/4_push_to_cloud_registry.md @@ -5,15 +5,9 @@ aliases: description: Push the Docker image to Docker Cloud's Registry keywords: - image, Docker, cloud -menu: - main: - parent: deploy-app - weight: -60 -title: Push the image to Docker Cloud's Registry +title: Push the image to Docker Cloud's registry --- -# Push the image to Docker Cloud's Registry - *Skip this step if you don't have Docker Engine installed locally.* In this step you will take the image that you built in the previous step, and push it to Docker Cloud. diff --git a/docker-cloud/getting-started/deploy-app/5_deploy_the_app_as_a_service.md b/docker-cloud/getting-started/deploy-app/5_deploy_the_app_as_a_service.md index 94fc3ec4d90..2e56c7ce3d5 100644 --- a/docker-cloud/getting-started/deploy-app/5_deploy_the_app_as_a_service.md +++ b/docker-cloud/getting-started/deploy-app/5_deploy_the_app_as_a_service.md @@ -5,15 +5,9 @@ aliases: description: Deploy the app as a Docker Cloud service keywords: - Python, deploy, Cloud -menu: - main: - parent: deploy-app - weight: -50 title: Deploy the app as a Docker Cloud service --- -# Deploy the app as a Docker Cloud service - In this step you will deploy the app as a Docker Cloud Service. Remember that a service is a group of containers of the same **image:tag**. What you'll do in this step is slightly different if you have Docker Engine installed locally or not. diff --git a/docker-cloud/getting-started/deploy-app/6_define_environment_variables.md b/docker-cloud/getting-started/deploy-app/6_define_environment_variables.md index 9581e5ebc7b..53daa74bce5 100644 --- a/docker-cloud/getting-started/deploy-app/6_define_environment_variables.md +++ b/docker-cloud/getting-started/deploy-app/6_define_environment_variables.md @@ -5,15 +5,9 @@ aliases: description: Define environment variables keywords: - Python, service, environment, service -menu: - main: - parent: deploy-app - weight: -40 title: Define environment variables --- -# Define environment variables - Docker lets you store data such as configuration settings, encryption keys, and external resource addresses in environment variables. Docker Cloud makes it easy to define, share, and update the environment variables for your services. At runtime, environment variables are exposed to the application inside the container. Let's look inside the app you just deployed. diff --git a/docker-cloud/getting-started/deploy-app/7_scale_the_service.md b/docker-cloud/getting-started/deploy-app/7_scale_the_service.md index 112cc6db59f..73782c768c3 100644 --- a/docker-cloud/getting-started/deploy-app/7_scale_the_service.md +++ b/docker-cloud/getting-started/deploy-app/7_scale_the_service.md @@ -5,15 +5,9 @@ aliases: description: Scale the service keywords: - scale, Python, service -menu: - main: - parent: deploy-app - weight: -30 title: Scale the service --- -# Scale the service - Right now, your service is running on a single container. That's great for now. You can check how many containers are running using the `docker-cloud container ps` command. diff --git a/docker-cloud/getting-started/deploy-app/8_view_logs.md b/docker-cloud/getting-started/deploy-app/8_view_logs.md index 26a62c025d7..31274b90f89 100644 --- a/docker-cloud/getting-started/deploy-app/8_view_logs.md +++ b/docker-cloud/getting-started/deploy-app/8_view_logs.md @@ -5,15 +5,9 @@ aliases: description: View service logs keywords: - View, logs, Python -menu: - main: - parent: deploy-app - weight: -20 title: View service logs --- -# View service logs - Docker Cloud grants you access to the logs your application writes to `stdout`. An internal service multiplexes all the logs from all the containers of a service into a single stream. To see a service's logs run the `docker-cloud diff --git a/docker-cloud/getting-started/deploy-app/9_load-balance_the_service.md b/docker-cloud/getting-started/deploy-app/9_load-balance_the_service.md index 13ba6a26cab..77fce1be90f 100644 --- a/docker-cloud/getting-started/deploy-app/9_load-balance_the_service.md +++ b/docker-cloud/getting-started/deploy-app/9_load-balance_the_service.md @@ -5,15 +5,9 @@ aliases: description: Load-balance the service keywords: - load, balance, Python -menu: - main: - parent: deploy-app - weight: -10 title: Load-balance the service --- -# Load-balance a Python service - To load-balance a your application, you need to deploy a load-balancing service. This service distributes incoming requests to all of the available containers in the application. diff --git a/docker-cloud/getting-started/deploy-app/index.md b/docker-cloud/getting-started/deploy-app/index.md index 8e5203ae85a..6db345e4717 100644 --- a/docker-cloud/getting-started/deploy-app/index.md +++ b/docker-cloud/getting-started/deploy-app/index.md @@ -5,16 +5,9 @@ aliases: description: Go or Python and Docker Cloud keywords: - Python, Go, Docker, Cloud, application -menu: - main: - identifier: deploy-app - parent: getting-started - weight: 50 title: Deploy an application --- -# Deploy an application - * [Introduction to Deploying an app to Docker Cloud](1_introduction.md) * [Set up your environment](2_set_up.md) * [Prepare the application](3_prepare_the_app.md) diff --git a/docker-cloud/getting-started/index.md b/docker-cloud/getting-started/index.md index 98879c38471..bfb340848e2 100644 --- a/docker-cloud/getting-started/index.md +++ b/docker-cloud/getting-started/index.md @@ -3,16 +3,9 @@ description: 'Getting Started with Docker Cloud: Setting up a node using a hoste cloud provider or your own nodes, deploying a service and clustering.' keywords: - one, two, three -menu: - main: - identifier: getting-started - parent: docker-cloud - weight: -97 -title: Getting Started +title: Getting started with Docker Cloud --- -# Getting Started with Docker Cloud - If you're completely new to Docker Cloud, start here! * [Introducing Docker Cloud](intro_cloud.md) Start here! Then, you can either: diff --git a/docker-cloud/getting-started/intro_cloud.md b/docker-cloud/getting-started/intro_cloud.md index ba959425f06..3d715a6508a 100644 --- a/docker-cloud/getting-started/intro_cloud.md +++ b/docker-cloud/getting-started/intro_cloud.md @@ -4,15 +4,9 @@ aliases: description: Introducing Docker Cloud concepts and terminology keywords: - node, create, understand -menu: - main: - parent: getting-started - weight: -100 title: Introducing Docker Cloud --- -# Introducing Docker Cloud - This page introduces core Docker Cloud concepts and features so you can easily follow along with the tutorial. The tutorial goes through the following steps: diff --git a/docker-cloud/getting-started/your_first_node.md b/docker-cloud/getting-started/your_first_node.md index 09786389864..2bada2c228e 100644 --- a/docker-cloud/getting-started/your_first_node.md +++ b/docker-cloud/getting-started/your_first_node.md @@ -5,15 +5,9 @@ aliases: description: Deploy your first node on Docker Cloud keywords: - node, create, understand -menu: - main: - parent: getting-started - weight: -50 title: Deploy your first node --- -# Deploy Your First Node - In this step you'll create your first node (inside a node cluster) on Docker Cloud. After you link your Docker Cloud account with your hosts (either your own hosts or one or more cloud providers), the next step is to launch your first node. diff --git a/docker-cloud/getting-started/your_first_service.md b/docker-cloud/getting-started/your_first_service.md index ebdd03eb640..91c5e961056 100644 --- a/docker-cloud/getting-started/your_first_service.md +++ b/docker-cloud/getting-started/your_first_service.md @@ -5,15 +5,9 @@ aliases: description: Deploy your first service on Docker Cloud keywords: - service, Cloud, three -menu: - main: - parent: getting-started - weight: -40 -title: Deploy your first service +title: Create your first service --- -# Your first service - This page describes how to create a service on Docker Cloud. ## What is a service? diff --git a/docker-cloud/index.md b/docker-cloud/index.md index 68a2c01ccab..c22da435bc0 100644 --- a/docker-cloud/index.md +++ b/docker-cloud/index.md @@ -2,15 +2,10 @@ description: Docker Cloud keywords: - Docker, cloud -menu: - main: - identifier: docker-cloud notoc: true -title: Docker Cloud +title: Welcome to the Docker Cloud docs! --- -# Welcome to the Docker Cloud Docs! -
diff --git a/docker-cloud/infrastructure/byoh.md b/docker-cloud/infrastructure/byoh.md index 82c4ac81eb1..587363219b8 100644 --- a/docker-cloud/infrastructure/byoh.md +++ b/docker-cloud/infrastructure/byoh.md @@ -6,14 +6,9 @@ aliases: description: Use the Docker Cloud Agent keywords: - agent, Cloud, install -menu: - main: - parent: infrastructure title: Use the Docker Cloud Agent --- -# Use the Docker Cloud Agent - Docker Cloud allows you to use any Linux host ("bring your own host") as a node which you can then use to deploy containers. To do this, you install the **Docker Cloud Agent** on your Linux host so that Docker Cloud can remotely manage it. The **Docker Cloud Agent** installs its own Docker binary, and automatically removes any prior installation of the Docker Engine packages. See the [Known Limitations](byoh.md#known-limitations) section for more information. diff --git a/docker-cloud/infrastructure/cloud-on-aws-faq.md b/docker-cloud/infrastructure/cloud-on-aws-faq.md index ea365f1b649..95c18885379 100644 --- a/docker-cloud/infrastructure/cloud-on-aws-faq.md +++ b/docker-cloud/infrastructure/cloud-on-aws-faq.md @@ -4,14 +4,9 @@ aliases: description: Docker Cloud on AWS keywords: - Cloud, AWS, faq -menu: - main: - parent: infrastructure -title: Using Docker Cloud on AWS +title: Use Docker Cloud on AWS --- -# Using Docker Cloud on AWS - This section answers frequently asked questions about using Docker Cloud with Amazon Web Services (AWS). ## I can't get my account to link to Docker Cloud. How do I troubleshoot it? diff --git a/docker-cloud/infrastructure/cloud-on-packet.net-faq.md b/docker-cloud/infrastructure/cloud-on-packet.net-faq.md index 8aca158db24..36bf8586a1a 100644 --- a/docker-cloud/infrastructure/cloud-on-packet.net-faq.md +++ b/docker-cloud/infrastructure/cloud-on-packet.net-faq.md @@ -4,14 +4,9 @@ aliases: description: Docker Cloud and Packet.net keywords: - Packet.net, Cloud, drives -menu: - main: - parent: infrastructure -title: Using Docker Cloud and Packet.net +title: Use Docker Cloud and Packet.net --- -# Using Docker Cloud and Packet.net - This page answers frequently asked questions about using Docker Cloud with Packet.net. ## What does Docker Cloud create in my Packet.net account? diff --git a/docker-cloud/infrastructure/deployment-strategies.md b/docker-cloud/infrastructure/deployment-strategies.md index d0ea1890d21..c93ad6fbff4 100644 --- a/docker-cloud/infrastructure/deployment-strategies.md +++ b/docker-cloud/infrastructure/deployment-strategies.md @@ -4,14 +4,9 @@ aliases: description: Schedule a deployment keywords: - schedule, deployment, container -menu: - main: - parent: infrastructure title: Container distribution strategies --- -# Container distribution strategies - Docker Cloud can use different distribution strategies when deploying containers to more than one node. You can use different strategies to change how your service distributes new containers when scaling. diff --git a/docker-cloud/infrastructure/docker-upgrade.md b/docker-cloud/infrastructure/docker-upgrade.md index 557d8353615..acd555206c4 100644 --- a/docker-cloud/infrastructure/docker-upgrade.md +++ b/docker-cloud/infrastructure/docker-upgrade.md @@ -5,14 +5,9 @@ aliases: description: Upgrade Docker Engine on a node keywords: - upgrade, engine, node -menu: - main: - parent: infrastructure title: Upgrade Docker Engine on a node --- -# Upgrade Docker Engine on a node - Docker Cloud helps you manage nodes that have Docker Engine installed on them. You can upgrade the version of Docker Engine on your nodes when new versions are released. Docker Cloud doesn't *automatically* upgrade your nodes for you diff --git a/docker-cloud/infrastructure/index.md b/docker-cloud/infrastructure/index.md index 3bf20b89572..cb26e08ffc5 100644 --- a/docker-cloud/infrastructure/index.md +++ b/docker-cloud/infrastructure/index.md @@ -2,16 +2,9 @@ description: Manage network in Docker Cloud keywords: - nodes, hosts, infrastructure, Cloud -menu: - main: - parent: infrastructure - weight: -80 -notoc: false -title: Docker Cloud network overview +title: Docker Cloud infrastructure overview --- -# Docker Cloud infrastructure overview - Docker Cloud uses an agent and system containers to deploy and manage nodes (hosts) on your behalf. All nodes accessible to your account are connected by an overlay or mesh network, regardless of host or cloud service provider. ## Deploy nodes from Docker Cloud diff --git a/docker-cloud/infrastructure/link-aws.md b/docker-cloud/infrastructure/link-aws.md index 55b82aa6744..b723cd29f58 100644 --- a/docker-cloud/infrastructure/link-aws.md +++ b/docker-cloud/infrastructure/link-aws.md @@ -5,14 +5,9 @@ aliases: description: Link your Amazon Web Services account keywords: - AWS, Cloud, link -menu: - main: - parent: infrastructure -title: Link to Amazon Web Services hosts +title: Link an Amazon Web Services account --- -# Link your Amazon Web Services account - You can create a role with AWS IAM (Identity and Access Management) so that Docker Cloud can provision and manage **node clusters** and **nodes** on your behalf. Previously, we recommended that you create a service user that Docker Cloud would use to access your AWS account. If you previously used this method, you can [create a new role](link-aws.md#acreate-a-dockercloud-role-role), attach the policy you created previously, unlink your AWS credentials and relink them using the new ARN method. You can then delete the `dockercloud-user`. diff --git a/docker-cloud/infrastructure/link-azure.md b/docker-cloud/infrastructure/link-azure.md index aff25092c6f..f2de23d6c58 100644 --- a/docker-cloud/infrastructure/link-azure.md +++ b/docker-cloud/infrastructure/link-azure.md @@ -5,14 +5,9 @@ aliases: description: Link your Microsoft Azure account keywords: - Microsoft, Azure, account -menu: - main: - parent: infrastructure -title: Link to Microsoft Azure hosts +title: Link a Microsoft Azure account --- -# Link your Microsoft Azure account - You can link your Microsoft Azure account to your Docker Cloud account to deploy **nodes** and **node clusters** using Docker Cloud's Dashboard, API, or CLI. You must link your Azure account so that Docker Cloud can interact with Azure on your behalf to create and manage your **nodes** (virtual machines). ## How to create the link diff --git a/docker-cloud/infrastructure/link-do.md b/docker-cloud/infrastructure/link-do.md index 6ece96ffb1e..9201adf350c 100644 --- a/docker-cloud/infrastructure/link-do.md +++ b/docker-cloud/infrastructure/link-do.md @@ -5,14 +5,9 @@ aliases: description: Link your DigitalOcean account keywords: - link, DigitalOcean, account -menu: - main: - parent: infrastructure -title: Link to DigitalOcean hosts +title: Link a DigitalOcean account --- -# Link your DigitalOcean account - You can link your DigitalOcean account to your Docker Cloud account to deploy **nodes** and **node clusters** using Docker Cloud's Dashboard, API, and CLI. You must link your DigitalOcean account so that Docker Cloud can interact with DigitalOcean on your behalf to create and manage your **nodes** (droplets). If you don't have a **DigitalOcean** account, you can sign up with this link to get a $10 credit: [https://www.digitalocean.com/?refcode=bc0c34035aa5](https://www.digitalocean.com/?refcode=bc0c34035aa5) diff --git a/docker-cloud/infrastructure/link-packet.md b/docker-cloud/infrastructure/link-packet.md index 47a1d482ac3..a2db5af879b 100644 --- a/docker-cloud/infrastructure/link-packet.md +++ b/docker-cloud/infrastructure/link-packet.md @@ -5,14 +5,9 @@ aliases: description: Link your Packet account keywords: - Packet, link, Cloud -menu: - main: - parent: infrastructure -title: Link to Packet hosts +title: Link a Packet account --- -# Link your Packet account - You can register your [Packet](https://www.packet.net/promo/docker-cloud/) account credentials in your Docker Cloud account to deploy **nodes** and **node clusters** using Docker Cloud's Dashboard, API, and CLI. Your Packet API key is required so Docker Cloud can interact with Packet on your behalf to create and manage your **nodes** (Packet devices). To link your Packet account so you can launch **nodes** from Docker Cloud, navigate to **Account info \> Cloud Providers**. Click **Add credentials**. diff --git a/docker-cloud/infrastructure/link-softlayer.md b/docker-cloud/infrastructure/link-softlayer.md index 3d9bf68514e..2a118cfc5f9 100644 --- a/docker-cloud/infrastructure/link-softlayer.md +++ b/docker-cloud/infrastructure/link-softlayer.md @@ -5,14 +5,9 @@ aliases: description: Link your SoftLayer account keywords: - SoftLayer, link, cloud -menu: - main: - parent: infrastructure -title: Link to SoftLayer hosts +title: Link a SoftLayer account --- -# Link your SoftLayer account - You can register your SoftLayer account credentials in your Docker Cloud account to deploy **nodes** using Docker Cloud's Dashboard, API, or CLI. Docker Cloud uses your SoftLayer username and API key to interact with SoftLayer on your behalf to create and manage your **nodes** (virtual servers). diff --git a/docker-cloud/infrastructure/ssh-into-a-node.md b/docker-cloud/infrastructure/ssh-into-a-node.md index b90af90f476..e7944660711 100644 --- a/docker-cloud/infrastructure/ssh-into-a-node.md +++ b/docker-cloud/infrastructure/ssh-into-a-node.md @@ -6,14 +6,9 @@ aliases: description: SSHing into a Docker Cloud-managed node keywords: - ssh, Cloud, node -menu: - main: - parent: infrastructure title: SSH into a Docker Cloud-managed node --- -# SSHing into a Docker Cloud-managed node - You can use add a public SSH key to the *authorized_keys* file in each of your nodes so you can access Docker Cloud provisioned nodes. The quickest way to do this is to run our **dockercloud/authorizedkeys)** container image. ## Create pair of keys diff --git a/docker-cloud/installing-cli.md b/docker-cloud/installing-cli.md index 46470062035..99a19e2bd31 100644 --- a/docker-cloud/installing-cli.md +++ b/docker-cloud/installing-cli.md @@ -3,18 +3,12 @@ aliases: - /docker-cloud/getting-started/intermediate/installing-cli/ - /docker-cloud/getting-started/installing-cli/ - /docker-cloud/tutorials/installing-cli/ -description: Using the Docker Cloud CLI on Linux, Windows, and macOS, installing, - updating, uninstall +description: Using the Docker Cloud CLI on Linux, Windows, and macOS, installing, updating, uninstall keywords: - cloud, command-line, CLI -menu: - main: - parent: docker-cloud title: The Docker Cloud CLI --- -# The Docker Cloud CLI - Docker Cloud maintains a Command Line Interface (CLI) tool that you can use to interact with the service. We highly recommend installing the CLI, as it will allow you to script and automate actions in Docker Cloud without using the web diff --git a/docker-cloud/orgs.md b/docker-cloud/orgs.md index 6be8acc4675..45691f87873 100644 --- a/docker-cloud/orgs.md +++ b/docker-cloud/orgs.md @@ -2,15 +2,9 @@ description: Docker Cloud for Organizations and Teams keywords: - organizations, teams, Docker Cloud, resources, permissions -menu: - main: - parent: docker-cloud - weight: -98 -title: Organizations and Teams +title: Organizations and Teams in Docker Cloud --- -# Organizations and Teams in Docker Cloud - You can create Organizations in Docker Cloud to share repositories, and infrastructure and applications with coworkers and collaborators. Members of an organization can see only the teams to which they belong, and diff --git a/docker-cloud/overview.md b/docker-cloud/overview.md index 0d5785d2d2b..dce9a35df7c 100644 --- a/docker-cloud/overview.md +++ b/docker-cloud/overview.md @@ -2,15 +2,9 @@ description: Docker Cloud Overview keywords: - Docker, cloud, three -menu: - main: - parent: docker-cloud - weight: -100 -title: Docker Cloud Overview +title: Docker Cloud overview --- -# What is Docker Cloud? - Docker Cloud is a hosted service that provides a Registry with build and testing facilities for Dockerized application images, tools to help you set up and manage your host infrastructure, and deployment features to help you automate diff --git a/docker-cloud/release-notes.md b/docker-cloud/release-notes.md index 50c2534eb5d..0149a922ec9 100644 --- a/docker-cloud/release-notes.md +++ b/docker-cloud/release-notes.md @@ -2,15 +2,9 @@ description: Docker Cloud keywords: - Docker, cloud, release, notes -menu: - main: - parent: docker-cloud - weight: 100 -title: Release Notes +title: Docker Cloud release notes --- -# Docker Cloud Release Notes - Did you know we also have a [Release notes category](https://forums.docker.com/c/docker-cloud/release-notes) on the Docker Cloud Product forums? Now you do! ## Docker Cloud June 2016 Release Notes diff --git a/docker-cloud/slack-integration.md b/docker-cloud/slack-integration.md index 4cb0ed73afc..c55deccad52 100644 --- a/docker-cloud/slack-integration.md +++ b/docker-cloud/slack-integration.md @@ -4,14 +4,9 @@ aliases: description: Integrate with Slack keywords: - Slack, integrate, notifications -menu: - main: - parent: docker-cloud -title: Docker Cloud notifications in Slack +title: Set up Docker Cloud notifications in Slack --- -# Docker Cloud notifications in Slack - Docker Cloud can integrate with your **Slack** team to provide notifications about stacks, services, containers and nodes. ## Set up a Slack integration diff --git a/docker-for-mac/docker-toolbox.md b/docker-for-mac/docker-toolbox.md index 12b4b6a1e93..d82fcb1517e 100644 --- a/docker-for-mac/docker-toolbox.md +++ b/docker-for-mac/docker-toolbox.md @@ -4,16 +4,9 @@ aliases: description: Docker for Mac and Docker Toolbox keywords: - mac, windows, alpha, beta, toolbox, docker-machine, tutorial -menu: - main: - identifier: kit-toolbox - parent: pinata_mac_menu - weight: 2 title: Docker for Mac vs. Docker Toolbox --- -# Docker for Mac vs. Docker Toolbox - If you already have an installation of Docker Toolbox, please read these topics first to learn how Docker for Mac and Docker Toolbox differ, and how they can coexist. ## The Docker Toolbox environment diff --git a/docker-for-mac/examples.md b/docker-for-mac/examples.md index c1686b582be..d975b1089af 100644 --- a/docker-for-mac/examples.md +++ b/docker-for-mac/examples.md @@ -2,16 +2,9 @@ description: Docker for Mac and Docker for Windows Tutorials keywords: - mac, windows, examples, Compose -menu: - main: - identifier: docker-mac-examples - parent: pinata_mac_menu - weight: "8" -title: ' Example Applications' +title: Example applications --- -# Example Applications - Upcoming releases will include example applications especially tailored for Docker for Mac and Docker for Windows. Examples will highlight develop, build, and run workflows in several languages, including Node.js, Python, Ruby, and Java. diff --git a/docker-for-mac/faqs.md b/docker-for-mac/faqs.md index afde0dc7e16..c6354519646 100644 --- a/docker-for-mac/faqs.md +++ b/docker-for-mac/faqs.md @@ -4,23 +4,17 @@ aliases: description: Frequently asked questions keywords: - mac faqs -menu: - main: - identifier: docker-mac-faqs - parent: pinata_mac_menu - weight: 7 -title: FAQs +title: Frequently asked questions (FAQ) --- -# Frequently Asked Questions (FAQs) - **Looking for popular FAQs on Docker for Mac?** Check out the [Docker Knowledge Hub](http://success.docker.com/) for knowledge base articles, FAQs, technical support for various subscription levels, and more. ### Stable and beta channels **Q: How do I get the stable or beta version of Docker for Mac?** -A: Use the download links for the channels given in the topic [Download Docker for Mac](index.md#download-docker-for-mac). +A: Use the download links for the channels given in the topic [Download Docker +for Mac](index.md#download-docker-for-mac). This topic also has more information about the two channels. @@ -34,9 +28,17 @@ A: Two different download channels are available for Docker for Mac: **Q: Can I switch back and forth between stable and beta versions of Docker for Mac?** -A: Yes, you can switch between versions to try out the betas to see what's new, then go back to stable for other work. However, **you can have only one app installed at a time**. Switching back and forth between stable and beta apps can destabilize your development environment, particularly in cases where you switch from a newer (beta) channel to older (stable). - -For example, containers created with a newer beta version of Docker for Mac may not work after you switch back to stable because they may have been created leveraging beta features that aren't in stable yet. Just keep this in mind as you create and work with beta containers, perhaps in the spirit of a playground space where you are prepared to troubleshoot or start over. +A: Yes, you can switch between versions to try out the betas to see what's new, +then go back to stable for other work. However, **you can have only one app +installed at a time**. Switching back and forth between stable and beta apps can +destabilize your development environment, particularly in cases where you switch +from a newer (beta) channel to older (stable). + +For example, containers created with a newer beta version of Docker for Mac may +not work after you switch back to stable because they may have been created +leveraging beta features that aren't in stable yet. Just keep this in mind as +you create and work with beta containers, perhaps in the spirit of a playground +space where you are prepared to troubleshoot or start over. To safely switch between beta and stable versions be sure to save images and export the containers you need, then uninstall the current version before installing another. The workflow is described in more detail below.
diff --git a/docker-for-mac/index.md b/docker-for-mac/index.md index 9f2f93c6d7d..0aff686dd83 100644 --- a/docker-for-mac/index.md +++ b/docker-for-mac/index.md @@ -9,27 +9,26 @@ aliases: description: Getting Started keywords: - mac, beta, alpha, tutorial -menu: - main: - identifier: docker-mac-getstart - parent: pinata_mac_menu - weight: 1 -title: Getting Started +title: Get started with Docker for Mac --- -# Getting Started with Docker for Mac - Welcome to Docker for Mac! -Please read through these topics on how to get started. To **give us feedback** on your experience with the app and report bugs or problems, log in to our [Docker for Mac forum](https://forums.docker.com/c/docker-for-mac). +Please read through these topics on how to get started. To **give us feedback** +on your experience with the app and report bugs or problems, log in to our +[Docker for Mac forum](https://forums.docker.com/c/docker-for-mac). ->**Already have Docker for Mac?** If you already have Docker for Mac installed, and are ready to get started, skip over to the [Getting Started with Docker](/engine/getstarted/index.md) tutorial. +>**Already have Docker for Mac?** If you already have Docker for Mac installed, +and are ready to get started, skip over to the [Getting Started with +Docker](/engine/getstarted/index.md) tutorial. ## Download Docker for Mac -If you have not already done so, please install Docker for Mac. You can download installers from the stable or beta channel. +If you have not already done so, please install Docker for Mac. You can download +installers from the stable or beta channel. -For more about stable and beta channels, see the [FAQs](faqs.md#stable-and-beta-channels). +For more about stable and beta channels, see the +[FAQs](faqs.md#stable-and-beta-channels). diff --git a/docker-for-mac/multi-arch.md b/docker-for-mac/multi-arch.md index 1fd537b94ae..92dafe9aae8 100644 --- a/docker-for-mac/multi-arch.md +++ b/docker-for-mac/multi-arch.md @@ -4,21 +4,20 @@ aliases: description: Multi-CPU Architecture Support keywords: - mac, Multi-CPU architecture support -menu: - main: - identifier: mac-multiarch - parent: pinata_mac_menu - weight: 3 -title: 'Leveraging Multi-CPU Architecture Support ' +title: Leveraging multi-CPU architecture support --- -# Leveraging Multi-CPU Architecture Support +Docker for Mac provides `binfmt_misc` multi architecture support, so you can run +containers for different Linux architectures, such as `arm`, `mips`, `ppc64le` +and even `s390x`. -Docker for Mac provides `binfmt_misc` multi architecture support, so you can run containers for different Linux architectures, such as `arm`, `mips`, `ppc64le` and even `s390x`. +This should just work without any configuration, but the containers you run need +to have the appropriate `qemu` binary inside the container before you can do +this. (See QEMU for more +information.) -This should just work without any configuration, but the containers you run need to have the appropriate `qemu` binary inside the container before you can do this. (See QEMU for more information.) - -So, you can run a container that already has this set up, like the resin arm builds: +So, you can run a container that already has this set up, like the resin arm builds: ``` $ docker run resin/armv7hf-debian uname -a @@ -31,6 +30,10 @@ Linux edd13885f316 4.1.12 #1 SMP Tue Jan 12 10:51:00 UTC 2016 ppc64le GNU/Linux ``` -Running containers pre-configured with `qemu` has the advantage that you can use these to do builds `FROM`, so you can build new Multi-CPU architecture packages. +Running containers pre-configured with `qemu` has the advantage that you can use +these to do builds `FROM`, so you can build new Multi-CPU architecture packages. -Alternatively, you can bind mount in the `qemu` static binaries to any cross-architecture package, such as the semi-official ones using a script like this one https://github.com/justincormack/cross-docker. (See the README at the given link for details on how to use the script.) +Alternatively, you can bind mount in the `qemu` static binaries to any +cross-architecture package, such as the semi-official ones using a script like +this one https://github.com/justincormack/cross-docker. (See the README at the +given link for details on how to use the script.) diff --git a/docker-for-mac/networking.md b/docker-for-mac/networking.md index 298477daa46..5d82ed20d08 100644 --- a/docker-for-mac/networking.md +++ b/docker-for-mac/networking.md @@ -4,24 +4,18 @@ aliases: description: Networking keywords: - mac, networking -menu: - main: - identifier: mac-networking - parent: pinata_mac_menu - weight: 4 -title: 'Networking ' +title: Networking features in Docker for Mac --- -# Networking - Docker for Mac provides several networking features to make it easier to use. ## Features ### VPN Passthrough -Docker for Mac's networking can work when attached to a VPN. -To do this, Docker for Mac intercepts traffic from the `HyperKit` and injects it into macOS as if it originated from the Docker application. +Docker for Mac's networking can work when attached to a VPN. To do this, Docker +for Mac intercepts traffic from the `HyperKit` and injects it into macOS as if +it originated from the Docker application. ### Port Mapping @@ -33,12 +27,15 @@ Docker for Mac will make the container port available at `localhost`. ### HTTP/HTTPS Proxy Support -Docker for Mac will detect HTTP/HTTPS Proxy Settings from macOS and automatically propagate these to Docker and to your containers. -For example, if you set your proxy settings to `http://proxy.example.com` in macOS, Docker will use this proxy when pulling containers. +Docker for Mac will detect HTTP/HTTPS Proxy Settings from macOS and +automatically propagate these to Docker and to your containers. For example, if +you set your proxy settings to `http://proxy.example.com` in macOS, Docker will +use this proxy when pulling containers. ![macOS Proxy Settings](images/proxy-settings.png) -When you start a container, you will see that your proxy settings propagate into the containers. For example: +When you start a container, you will see that your proxy settings propagate into +the containers. For example: ``` $ docker run -it alpine env @@ -51,22 +48,26 @@ http_proxy=http://proxy.example.com:3128 no_proxy=*.local, 169.254/16 ``` -You can see from the above output that the `HTTP_PROXY`, `http_proxy` and `no_proxy` environment variables are set. -When your proxy configuration changes, Docker restarts automatically to pick up the new settings. -If you have containers that you wish to keep running across restarts, you should consider using [restart policies](/engine/reference/run/#restart-policies-restart) +You can see from the above output that the `HTTP_PROXY`, `http_proxy` and +`no_proxy` environment variables are set. When your proxy configuration changes, +Docker restarts automatically to pick up the new settings. If you have +containers that you wish to keep running across restarts, you should consider +using [restart policies](/engine/reference/run/#restart-policies-restart) ## Known Limitations, Use Cases, and Workarounds -Following is a summary of current limitations on the Docker for Mac networking stack, along with some ideas for workarounds. +Following is a summary of current limitations on the Docker for Mac networking +stack, along with some ideas for workarounds. ### There is no docker0 bridge on macOS -Because of the way networking is implemented in Docker for Mac, you cannot see a `docker0` interface in macOS. -This interface is actually within `HyperKit`. +Because of the way networking is implemented in Docker for Mac, you cannot see a +`docker0` interface in macOS. This interface is actually within `HyperKit`. ### I cannot ping my containers -Unfortunately, due to limitations in macOS, we're unable to route traffic to containers, and from containers back to the host. +Unfortunately, due to limitations in macOS, we're unable to route traffic to +containers, and from containers back to the host. ### Per-container IP addressing is not possible @@ -78,33 +79,48 @@ There are two scenarios that the above limitations will affect: #### I want to connect from a container to a service on the host -The Mac has a changing IP address (or none if you have no network access). Our current recommendation is to attach an unused IP to the `lo0` interface on the Mac; for example: `sudo ifconfig lo0 alias 10.200.10.1/24`, and make sure that your service is listening on this address or `0.0.0.0` (ie not `127.0.0.1`). Then containers can connect to this address. +The Mac has a changing IP address (or none if you have no network access). Our +current recommendation is to attach an unused IP to the `lo0` interface on the +Mac; for example: `sudo ifconfig lo0 alias 10.200.10.1/24`, and make sure that +your service is listening on this address or `0.0.0.0` (ie not `127.0.0.1`). +Then containers can connect to this address. #### I want to connect to a container from the Mac -Port forwarding works for `localhost`; `--publish`, `-p`, or `-P` all work. Ports exposed from Linux are forwarded to the Mac. +Port forwarding works for `localhost`; `--publish`, `-p`, or `-P` all work. +Ports exposed from Linux are forwarded to the Mac. -Our current recommendation is to publish a port, or to connect from another container. Note that this is what you have to do even on Linux if the container is on an overlay network, not a bridge network, as these are not routed. +Our current recommendation is to publish a port, or to connect from another +container. Note that this is what you have to do even on Linux if the container +is on an overlay network, not a bridge network, as these are not routed. -The command to run the `nginx` webserver shown in [Getting Started](index.md#explore) is an example of this. +The command to run the `nginx` webserver shown in [Getting +Started](index.md#explore) is an example of this. ```shell docker run -d -p 80:80 --name webserver nginx ``` -To clarify the syntax, the following two commands both expose port `80` on the container to port `8000` on the host: +To clarify the syntax, the following two commands both expose port `80` on the +container to port `8000` on the host: docker run --publish 8000:80 --name webserver nginx docker run --p 8000:80 --name webserver nginx -To expose all ports, use the `-P` flag. For example, the following command starts a container (in detached mode) and the `-P` exposes all ports on the container to random ports on the host. +To expose all ports, use the `-P` flag. For example, the following command +starts a container (in detached mode) and the `-P` exposes all ports on the +container to random ports on the host. docker run -d -P --name webserver nginx -See the [run commmand](/engine/reference/commandline/run.md) for more details on publish options used with `docker run`. +See the [run commmand](/engine/reference/commandline/run.md) for more details on +publish options used with `docker run`. #### A view into implementation -We understand that these workarounds are not ideal, but there are several problems. In particular, there is a bug in macOS that is only fixed in 10.12 and is not being backported as far as we can tell, which means that we could not support this in all supported macOS versions. In addition, this network setup would require root access which we are trying to avoid entirely in Docker for Mac (we currently have a very small root helper that we are trying to remove). - - +We understand that these workarounds are not ideal, but there are several +problems. In particular, there is a bug in macOS that is only fixed in 10.12 and +is not being backported as far as we can tell, which means that we could not +support this in all supported macOS versions. In addition, this network setup +would require root access which we are trying to avoid entirely in Docker for +Mac (we currently have a very small root helper that we are trying to remove). diff --git a/docker-for-mac/opensource.md b/docker-for-mac/opensource.md index 99a0ad10655..4336d179d87 100644 --- a/docker-for-mac/opensource.md +++ b/docker-for-mac/opensource.md @@ -2,23 +2,20 @@ description: Docker's use of Open Source keywords: - docker, opensource -menu: - main: - identifier: opensource-mac - parent: pinata_mac_menu - weight: "9" -title: Open Source Licensing +title: Open source components and licensing --- -# Open Source Components and Licensing - Docker Desktop Editions are built using open source software. For details on the licensing, choose --> **About Docker** from within the application, then click **Acknowledgements**. -Docker Desktop Editions distribute some components that are licensed under the GNU General Public License. You can download the source for these components [here](https://download.docker.com/opensource/License.tar.gz). - -The sources for `qemu-img` can be obtained [here](http://wiki.qemu-project.org/download/qemu-2.4.1.tar.bz2). -The sources for the `gettext` and `glib` libraries that `qemu-img` requires were obtained from [Homebrew](https://brew.sh) and may be retrieved using `brew install --build-from-source gettext glib`. +Docker Desktop Editions distribute some components that are licensed under the +GNU General Public License. You can download the source for these components +[here](https://download.docker.com/opensource/License.tar.gz). +The sources for `qemu-img` can be obtained +[here](http://wiki.qemu-project.org/download/qemu-2.4.1.tar.bz2). The sources +for the `gettext` and `glib` libraries that `qemu-img` requires were obtained +from [Homebrew](https://brew.sh) and may be retrieved using `brew install +--build-from-source gettext glib`. diff --git a/docker-for-mac/osxfs.md b/docker-for-mac/osxfs.md index f69f464a330..735d2e6db03 100644 --- a/docker-for-mac/osxfs.md +++ b/docker-for-mac/osxfs.md @@ -4,64 +4,52 @@ aliases: description: OSXFS keywords: - mac, osxfs -menu: - main: - identifier: mac-osxfs - parent: pinata_mac_menu - weight: 5 -title: 'File system sharing ' +title: File system sharing (osxfs) --- -# File system sharing (osxfs) - -`osxfs` is a new shared file system solution, exclusive to Docker for -Mac. `osxfs` provides a close-to-native -user experience for bind mounting OS X file system trees into Docker -containers. To this end, `osxfs` features a number of unique -capabilities as well as differences from a classical Linux file system. +`osxfs` is a new shared file system solution, exclusive to Docker for Mac. +`osxfs` provides a close-to-native user experience for bind mounting OS X file +system trees into Docker containers. To this end, `osxfs` features a number of +unique capabilities as well as differences from a classical Linux file system. ### Case sensitivity -With Docker for Mac, file systems are shared from OS X into containers -in the same way as they operate in OS X. As a result, if a file system -on OS X is case-insensitive that behavior is shared by any bind mount -from OS X into a container. The default OS X file system is HFS+ and, -during installation, it is installed as case-insensitive by default. To -get case-sensitive behavior from your bind mounts, you must either -create and format a ramdisk or external volume as HFS+ with -case-sensitivity or reformat your OS root partition with HFS+ with -case-sensitivity. We do not recommend reformatting your root partition -as some Mac software dubiously relies on case-insensitivity to function. +With Docker for Mac, file systems are shared from OS X into containers in the +same way as they operate in OS X. As a result, if a file system on OS X is +case-insensitive that behavior is shared by any bind mount from OS X into a +container. The default OS X file system is HFS+ and, during installation, it is +installed as case-insensitive by default. To get case-sensitive behavior from +your bind mounts, you must either create and format a ramdisk or external volume +as HFS+ with case-sensitivity or reformat your OS root partition with HFS+ with +case-sensitivity. We do not recommend reformatting your root partition as some +Mac software dubiously relies on case-insensitivity to function. ### Access control -`osxfs`, and therefore Docker, can access only those file system -resources that the Docker for Mac user has access to. `osxfs` does -not run as `root`. If the OS X user is an administrator, `osxfs` inherits -those administrator privileges. We are still evaluating which privileges -to drop in the file system process to balance security and -ease-of-use. `osxfs` performs no additional permissions checks and -enforces no extra access control on accesses made through it. All -processes in containers can access the same objects in the same way as -the Docker user who started the containers. +`osxfs`, and therefore Docker, can access only those file system resources that +the Docker for Mac user has access to. `osxfs` does not run as `root`. If the OS +X user is an administrator, `osxfs` inherits those administrator privileges. We +are still evaluating which privileges to drop in the file system process to +balance security and ease-of-use. `osxfs` performs no additional permissions +checks and enforces no extra access control on accesses made through it. All +processes in containers can access the same objects in the same way as the +Docker user who started the containers. ### Namespaces -Much of the OS X file system that is accessible to the user is also -available to containers using the `-v` bind mount syntax. By default, -you can share files in `/Users`, `/Volumes`, `/private`, and `/tmp` -directly. To add or remove directory trees that are exported to Docker, -use the **File sharing** tab in Docker preferences -> **Preferences** -> **File -sharing**. (See [Preferences](index.md#preferences).) All other paths -used in `-v` bind mounts are sourced from the Moby Linux VM running the -Docker containers, so arguments such as `-v -/var/run/docker.sock:/var/run/docker.sock` should work as expected. If -an OS X path is not shared and does not exist in the VM, an attempt to -bind mount it will fail rather than create it in the VM. Paths that -already exist in the VM and contain files are reserved by Docker and -cannot be exported from OS X. +Much of the OS X file system that is accessible to the user is also available to +containers using the `-v` bind mount syntax. By default, you can share files in +`/Users`, `/Volumes`, `/private`, and `/tmp` directly. To add or remove +directory trees that are exported to Docker, use the **File sharing** tab in +Docker preferences -> **Preferences** -> +**File sharing**. (See [Preferences](index.md#preferences).) All other paths +used in `-v` bind mounts are sourced from the Moby Linux VM running the Docker +containers, so arguments such as `-v /var/run/docker.sock:/var/run/docker.sock` +should work as expected. If an OS X path is not shared and does not exist in the +VM, an attempt to bind mount it will fail rather than create it in the VM. Paths +that already exist in the VM and contain files are reserved by Docker and cannot +be exported from OS X. ### Ownership @@ -82,10 +70,10 @@ it until the extended attribute is readable again. ### File system events -Most `inotify` events are supported in bind mounts, and likely `dnotify` -and `fanotify` (though they have not been tested) are also supported. -This means that file system events from OS X are sent into containers -and trigger any listening processes there. +Most `inotify` events are supported in bind mounts, and likely `dnotify` and +`fanotify` (though they have not been tested) are also supported. This means +that file system events from OS X are sent into containers and trigger any +listening processes there. The following are **supported file system events**: @@ -107,7 +95,8 @@ The following are **unsupported file system events**: * Close events * Unmount events (see Mounts) -Some events may be delivered multiple times. Events are not delivered for bind mounts from symlinks (notably `/tmp` will not deliver inotify events but +Some events may be delivered multiple times. Events are not delivered for bind +mounts from symlinks (notably `/tmp` will not deliver inotify events but `/private/tmp` will). These limitations do not apply to events between containers, only to those events originating in OS X. @@ -123,17 +112,16 @@ under development. ### Symlinks -Symlinks are shared unmodified. This may cause issues when symlinks -contain paths that rely on the default case-insensitivity of the -default OS X file system, HFS+. +Symlinks are shared unmodified. This may cause issues when symlinks contain +paths that rely on the default case-insensitivity of the default OS X file +system, HFS+. ### File types -Symlinks, hardlinks, socket files, named pipes, regular files, and -directories are supported. Socket files and named pipes only transmit -between containers and between OS X processes -- no transmission across -the hypervisor is supported, yet. Character and block device files are -not supported. +Symlinks, hardlinks, socket files, named pipes, regular files, and directories +are supported. Socket files and named pipes only transmit between containers and +between OS X processes -- no transmission across the hypervisor is supported, +yet. Character and block device files are not supported. ### Extended attributes diff --git a/docker-for-mac/release-notes.md b/docker-for-mac/release-notes.md index 1f07c9afcb6..b9204cf018a 100644 --- a/docker-for-mac/release-notes.md +++ b/docker-for-mac/release-notes.md @@ -4,16 +4,9 @@ aliases: description: Change log / release notes per release keywords: - pinata, alpha, tutorial -menu: - main: - identifier: docker-mac-relnotes - parent: pinata_mac_menu - weight: 10 -title: Release Notes +title: Docker for Mac release notes --- -# Docker for Mac Release Notes - Here are the main improvements and issues per release, starting with the current release. The documentation is always updated for each release. For system requirements, please see the Getting Started topic on [What to know before you install](index.md#what-to-know-before-you-install). @@ -838,7 +831,7 @@ lead to `Docker.app` not starting on reboot - VPN/Hostnet: In VPN mode, the `-p` option needs to be explicitly of the form `-p :`. `-p ` and `-P` will not -work yet. +work yet. **Bug fixes and minor changes** diff --git a/docker-for-mac/troubleshoot.md b/docker-for-mac/troubleshoot.md index de6c49a9678..c1386a9a62b 100644 --- a/docker-for-mac/troubleshoot.md +++ b/docker-for-mac/troubleshoot.md @@ -4,17 +4,12 @@ aliases: description: Troubleshooting, logs, and known issues keywords: - mac, troubleshooting, logs, issues -menu: - main: - identifier: docker-mac-troubleshoot - parent: pinata_mac_menu - weight: 6 -title: Logs and Troubleshooting +title: Logs and troubleshooting --- -# Logs and Troubleshooting - -Here is information about how to diagnose and troubleshoot problems, send logs and communicate with the Docker for Mac team, use our forums and Knowledge Hub, browse and log issues on GitHub, and find workarounds for known problems. +Here is information about how to diagnose and troubleshoot problems, send logs +and communicate with the Docker for Mac team, use our forums and Knowledge Hub, +browse and log issues on GitHub, and find workarounds for known problems. ## Docker Knowledge Hub @@ -22,13 +17,19 @@ Here is information about how to diagnose and troubleshoot problems, send logs a ## Diagnose problems, send feedback, and create GitHub issues -If you encounter problems for which you do not find solutions in this documentation, [Docker for Mac issues on GitHub](https://github.com/docker/for-mac/issues) already filed by other users, or on the [Docker for Mac forum](https://forums.docker.com/c/docker-for-mac), we can help you troubleshoot the log data. +If you encounter problems for which you do not find solutions in this +documentation, [Docker for Mac issues on +GitHub](https://github.com/docker/for-mac/issues) already filed by other users, +or on the [Docker for Mac forum](https://forums.docker.com/c/docker-for-mac), we +can help you troubleshoot the log data. -Choose --> **Diagnose & Feedback** from the menu bar. +Choose --> **Diagnose & Feedback** from the +menu bar. ![Diagnose problems](images/settings-diagnose.png) -You can choose to run diagnostics only, or diagnose and send the results to the Docker Team: +You can choose to run diagnostics only, or diagnose and send the results to the +Docker Team: * **Diagnose Only** - Runs diagnostics, and shows results locally. (Results are not sent to Docker, and no ID is generated.) @@ -38,7 +39,9 @@ You can choose to run diagnostics only, or diagnose and send the results to the ![Diagnostics & Feedback](images/settings-diagnose-id.png) -If you click **Open Issues**, this opens [Docker for Mac issues on GitHub](https://github.com/docker/for-mac/issues/) in your web browser in a “create new issue” template prepopulated with the following: +If you click **Open Issues**, this opens [Docker for Mac issues on +GitHub](https://github.com/docker/for-mac/issues/) in your web browser in a +“create new issue” template prepopulated with the following: * ID and summary of the diagnostic you just ran @@ -48,9 +51,14 @@ If you click **Open Issues**, this opens [Docker for Mac issues on GitHub](https ![Create issue on GitHub](images/diagnose-issue.png) -You can also create a new issue directly on GitHub at [https://github.com/docker/for-mac/issues](https://github.com/docker/for-mac/issues). (The README for the repository is [here](https://github.com/docker/for-mac).) +You can also create a new issue directly on GitHub at +[https://github.com/docker/for-mac/issues](https://github.com/docker/for-mac/issues). +(The README for the repository is [here](https://github.com/docker/for-mac).) -Click [New Issue](https://github.com/docker/for-mac/issues/new) on that page (or right here ☺) to get a "create new issue" template prepopulated with sections for the ID and summary of your diagnostics, system and version details, description of expected and actual behavior, and steps to reproduce the issue. +Click [New Issue](https://github.com/docker/for-mac/issues/new) on that page (or +right here ☺) to get a "create new issue" template prepopulated with +sections for the ID and summary of your diagnostics, system and version details, +description of expected and actual behavior, and steps to reproduce the issue. ![issue template](images/diagnose-d4mac-issues-template.png) @@ -58,23 +66,28 @@ Click [New Issue](https://github.com/docker/for-mac/issues/new) on that page (or ## Checking the logs -In addition to using the diagnose and feedback option to submit logs, you can browse the logs yourself. +In addition to using the diagnose and feedback option to submit logs, you can +browse the logs yourself. #### Use the command line to view logs -To view Docker for Mac logs at the command line, type this command in a terminal window or your favorite shell. +To view Docker for Mac logs at the command line, type this command in a terminal +window or your favorite shell. $ syslog -k Sender Docker -Alternatively, you can send the output of this command to a file. The following command redirects the log output to a file called `my_docker_logs.txt`. +Alternatively, you can send the output of this command to a file. The following +command redirects the log output to a file called `my_docker_logs.txt`. $ syslog -k Sender Docker > ~/Desktop/my_docker_logs.txt #### Use the Mac Console for log queries -Macs provide a built-in log viewer. You can use the Mac Console System Log Query to check Docker app logs. +Macs provide a built-in log viewer. You can use the Mac Console System Log Query +to check Docker app logs. -The Console lives on your Mac hard drive in `Applications` > `Utilities`. You can bring it up quickly by just searching for it with Spotlight Search. +The Console lives on your Mac hard drive in `Applications` > `Utilities`. You +can bring it up quickly by just searching for it with Spotlight Search. To find all Docker app log messages, do the following. @@ -89,11 +102,15 @@ To find all Docker app log messages, do the following. ![Mac Console display of Docker app search results](images/console_logs.png) -You can use the Console Log Query to search logs, filter the results in various ways, and create reports. +You can use the Console Log Query to search logs, filter the results in various +ways, and create reports. -For example, you could construct a search for log messages sent by Docker that contain the word `hypervisor` then filter the results by time (earlier, later, now). +For example, you could construct a search for log messages sent by Docker that +contain the word `hypervisor` then filter the results by time (earlier, later, +now). -The diagnostics and usage information to the left of the results provide auto-generated reports on packages. +The diagnostics and usage information to the left of the results provide +auto-generated reports on packages. @@ -101,13 +118,18 @@ The diagnostics and usage information to the left of the results provide auto-ge ### Recreate or update your containers after Beta 18 upgrade -Docker 1.12.0 RC3 release introduces a backward incompatible change from RC2 to RC3. (For more information, see https://github.com/docker/docker/issues/24343#issuecomment-230623542.) +Docker 1.12.0 RC3 release introduces a backward incompatible change from RC2 to +RC3. (For more information, see +https://github.com/docker/docker/issues/24343#issuecomment-230623542.) -You may get the following error when you try to start a container created with pre-Beta 18 Docker for Mac applications. +You may get the following error when you try to start a container created with +pre-Beta 18 Docker for Mac applications. Error response from daemon: Unknown runtime specified default -You can fix this by either [recreating](troubleshoot.md#recreate-your-containers) or [updating](troubleshoot.md#update-your-containers) your containers. +You can fix this by either +[recreating](troubleshoot.md#recreate-your-containers) or +[updating](troubleshoot.md#update-your-containers) your containers. If you get the error message shown above, we recommend recreating them. @@ -155,20 +177,27 @@ To fix existing containers, follow these steps. ### Incompatible CPU detected -Docker for Mac requires a processor (CPU) that supports virtualization and, more specifically, the [Apple Hypervisor framework](https://developer.apple.com/library/mac/documentation/DriversKernelHardware/Reference/Hypervisor/). Docker for Mac is only compatible with Macs that have a CPU that supports the Hypervisor framework. Most Macs built in 2010 and later support it, as described in the Apple Hypervisor Framework documentation about supported hardware: +Docker for Mac requires a processor (CPU) that supports virtualization and, more +specifically, the [Apple Hypervisor +framework](https://developer.apple.com/library/mac/documentation/DriversKernelHardware/Reference/Hypervisor/). +Docker for Mac is only compatible with Macs that have a CPU that supports the +Hypervisor framework. Most Macs built in 2010 and later support it, as described +in the Apple Hypervisor Framework documentation about supported hardware: *Generally, machines with an Intel VT-x feature set that includes Extended Page Tables (EPT) and Unrestricted Mode are supported.* -To check if your Mac supports the Hypervisor framework, run this command in a terminal window. +To check if your Mac supports the Hypervisor framework, run this command in a +terminal window. -``` -sysctl kern.hv_support -``` -If your Mac supports the Hypervisor Framework, the command will print `kern.hv_support: 1`. +``` sysctl kern.hv_support ``` If your Mac supports the Hypervisor Framework, +the command will print `kern.hv_support: 1`. If not, the command will print `kern.hv_support: 0`. -See also, [Hypervisor Framework Reference](https://developer.apple.com/library/mac/documentation/DriversKernelHardware/Reference/Hypervisor/) in the Apple documentation, and Docker for Mac system requirements in [What to know before you install](index.md#what-to-know-before-you-install). +See also, [Hypervisor Framework +Reference](https://developer.apple.com/library/mac/documentation/DriversKernelHardware/Reference/Hypervisor/) +in the Apple documentation, and Docker for Mac system requirements in [What to +know before you install](index.md#what-to-know-before-you-install). ### Workarounds for common problems diff --git a/docker-for-windows/examples.md b/docker-for-windows/examples.md index f1be305e384..1d29f8d716c 100644 --- a/docker-for-windows/examples.md +++ b/docker-for-windows/examples.md @@ -2,24 +2,23 @@ description: Docker for Mac and Docker for Windows Tutorials keywords: - mac, windows, examples, Compose -menu: - main: - identifier: docker-win-examples - parent: pinata_win_menu - weight: "5" -title: ' Example Applications' +title: Example applications --- -# Example Applications +Upcoming releases will include example applications especially tailored for +Docker for Mac and Docker for Windows. -Upcoming releases will include example applications especially tailored for Docker for Mac and Docker for Windows. +Examples will highlight develop, build, and run workflows in several languages, +including Node.js, Python, Ruby, and Java. -Examples will highlight develop, build, and run workflows in several languages, including Node.js, Python, Ruby, and Java. - -For now, if you want get started experimenting with the Beta apps and Docker Compose (which is installed automatically with Docker Desktop Editions), have a look at these example applications in the Compose documentation. You should be able to run these with Docker for Mac and Docker for Windows. +For now, if you want get started experimenting with the Beta apps and Docker +Compose (which is installed automatically with Docker Desktop Editions), have a +look at these example applications in the Compose documentation. You should be +able to run these with Docker for Mac and Docker for Windows. - [Quickstart: Compose and Django](/compose/django/) - [Quickstart: Compose and Rails](/compose/rails/) - [Quickstart: Compose and WordPress](/compose/wordpress/) -See also [learn by example](/engine/tutorials/) tutorials on building images, running containers, networking, managing data, and storing images on Docker Hub. +See also [learn by example](/engine/tutorials/) tutorials on building images, +running containers, networking, managing data, and storing images on Docker Hub. diff --git a/docker-for-windows/faqs.md b/docker-for-windows/faqs.md index f167285a002..c9aabcbba11 100644 --- a/docker-for-windows/faqs.md +++ b/docker-for-windows/faqs.md @@ -2,17 +2,9 @@ description: Frequently asked questions keywords: - windows faqs -menu: - main: - identifier: docker-windows-faqs - parent: pinata_win_menu - weight: 4 -title: FAQs +title: Frequently asked questions (FAQ) --- -# Frequently Asked Questions (FAQs) - - >**Looking for popular FAQs on Docker for Windows?** Check out the [Docker Knowledge Hub](http://success.docker.com/) for knowledge base articles, FAQs, technical support for various subscription levels, and more. diff --git a/docker-for-windows/index.md b/docker-for-windows/index.md index 3106d5083fc..e2b30f8cef4 100644 --- a/docker-for-windows/index.md +++ b/docker-for-windows/index.md @@ -9,16 +9,9 @@ aliases: description: Getting Started keywords: - windows, beta, alpha, tutorial -menu: - main: - identifier: docker-win-getstart - parent: pinata_win_menu - weight: 1 -title: Getting Started +title: Get started with Docker for Windows --- -# Getting Started with Docker for Windows - Welcome to Docker for Windows! Please read through these topics on how to get started. To **give us your feedback** on your experience with the app and report bugs or problems, log in to our [Docker for Windows forum](https://forums.docker.com/c/docker-for-windows). diff --git a/docker-for-windows/opensource.md b/docker-for-windows/opensource.md index 293d5b04809..38623adb7e5 100644 --- a/docker-for-windows/opensource.md +++ b/docker-for-windows/opensource.md @@ -2,17 +2,13 @@ description: Docker's use of Open Source keywords: - docker, opensource -menu: - main: - identifier: opensource-win - parent: pinata_win_menu - weight: "6" -title: Open Source Licensing +title: Open source components and licensing --- -# Open Source Components and Licensing - -Docker Desktop Editions are built using open source software software. For details on the licensing, choose --> **About** from within the application, then click **Acknowledgements**. - -Docker Desktop Editions distribute some components that are licensed under the GNU General Public License. You can download the source for these components [here](https://download.docker.com/opensource/License.tar.gz). +Docker Desktop Editions are built using open source software software. For +details on the licensing, choose +--> **About** from within the application, then click **Acknowledgements**. +Docker Desktop Editions distribute some components that are licensed under the +GNU General Public License. You can download the source for these components +[here](https://download.docker.com/opensource/License.tar.gz). diff --git a/docker-for-windows/release-notes.md b/docker-for-windows/release-notes.md index 7692aefa96c..f4d12f94696 100644 --- a/docker-for-windows/release-notes.md +++ b/docker-for-windows/release-notes.md @@ -4,21 +4,18 @@ aliases: description: Change log / release notes per release keywords: - pinata, alpha, tutorial -menu: - main: - identifier: docker-win-relnotes - parent: pinata_win_menu - weight: 7 -title: Release Notes +title: Docker for Windows Release notes --- -# Docker for Windows Release Notes +Here are the main improvements and issues per release, starting with the current +release. The documentation is always updated for each release. -Here are the main improvements and issues per release, starting with the current release. The documentation is always updated for each release. +For system requirements, please see the Getting Started topic on [What to know +before you install](index.md#what-to-know-before-you-install). -For system requirements, please see the Getting Started topic on [What to know before you install](index.md#what-to-know-before-you-install). - -Release notes for _stable_ and _beta_ releases are listed below. You can learn about both kinds of releases, and download stable and beta product installers at [Download Docker for Windows](index.md#download-docker-for-windows). +Release notes for _stable_ and _beta_ releases are listed below. You can learn +about both kinds of releases, and download stable and beta product installers at +[Download Docker for Windows](index.md#download-docker-for-windows). * [Stable Release Notes](release-notes.md#stable-release-notes) * [Beta Release Notes](release-notes.md#beta-release-notes) diff --git a/docker-for-windows/troubleshoot.md b/docker-for-windows/troubleshoot.md index f4d2d621613..30cb1bf61b3 100644 --- a/docker-for-windows/troubleshoot.md +++ b/docker-for-windows/troubleshoot.md @@ -4,16 +4,9 @@ aliases: description: Troubleshooting, logs, and known issues keywords: - windows, troubleshooting, logs, issues -menu: - main: - identifier: docker-windows-troubleshoot - parent: pinata_win_menu - weight: 3 -title: Logs and Troubleshooting +title: Logs and troubleshooting --- -# Logs and Troubleshooting - Here is information about how to diagnose and troubleshoot problems, send logs and communicate with the Docker for Windows team, use our forums and Knowledge Hub, browse and log issues on GitHub, and find workarounds for known problems. ## Docker Knowledge Hub diff --git a/docker-hub/accounts.md b/docker-hub/accounts.md index 680caafd4ca..539245e57dd 100644 --- a/docker-hub/accounts.md +++ b/docker-hub/accounts.md @@ -1,41 +1,35 @@ --- description: Your Docker ID keywords: -- Docker, docker, trusted, sign-up, registry, accounts, plans, Dockerfile, Docker - Hub, docs, documentation -menu: - main: - parent: mn_pubhub - weight: -90 -title: Your Docker ID +- Docker, docker, trusted, sign-up, registry, accounts, plans, Dockerfile, Docker Hub, docs, documentation +title: Docker ID and Docker Hub accounts --- -# Your Docker ID - You can `search` for Docker images and `pull` them from [Docker -Hub](https://hub.docker.com) without signing in or even having an -account. However, to `push` images, leave comments, or to *star* -a repository, you need a free [Docker ID](https://hub.docker.com) to log in to Docker Hub. +Hub](https://hub.docker.com) without signing in or even having an account. +However, to `push` images, leave comments, or to *star* a repository, you need a +free [Docker ID](https://hub.docker.com) to log in to Docker Hub. Once you have a personal Docker ID, you can also create or join Docker Hub [Organizations and Teams](orgs.md). ## Register for a Docker ID -If you're not already logged in, go to [Docker Hub](https://hub.docker.com) -to use the sign up page. -A valid email address is required to register. A verification email is sent to this address to activate your account. +If you're not already logged in, go to [Docker Hub](https://hub.docker.com) to +use the sign up page. A valid email address is required to register. A +verification email is sent to this address to activate your account. You cannot log in to your Docker ID until you verify the email address. #### Confirm your email -Once you've filled in the registration form, check your email for a welcome message asking for -confirmation so we can activate your account. +Once you've filled in the registration form, check your email for a welcome +message asking for confirmation so we can activate your account. ## Login -After you complete the account creation process, you can log in any time using the web console with your Docker ID: +After you complete the account creation process, you can log in any time using +the web console with your Docker ID: ![Login using the web console](images/login-web.png) @@ -51,7 +45,10 @@ Your Docker ID is now active and ready to use. ### Upgrading your account -Free Hub accounts include one private registry. If you need more private registries, you can [upgrade your account](https://hub.docker.com/account/billing-plans/) to a paid plan directly from the Hub. +Free Hub accounts include one private registry. If you need more private +registries, you can [upgrade your +account](https://hub.docker.com/account/billing-plans/) to a paid plan directly +from the Hub. ## Password reset process diff --git a/docker-hub/bitbucket.md b/docker-hub/bitbucket.md index e83c4d6e6cc..0dda2cff8d1 100644 --- a/docker-hub/bitbucket.md +++ b/docker-hub/bitbucket.md @@ -1,53 +1,50 @@ --- description: Docker Hub Automated Builds using Bitbucket keywords: -- Docker, docker, registry, accounts, plans, Dockerfile, Docker Hub, docs, documentation, - trusted, builds, trusted builds, automated builds, bitbucket -menu: - main: - parent: mn_pubhub - weight: 8 -title: Automated Builds with Bitbucket +- Docker, docker, registry, accounts, plans, Dockerfile, Docker Hub, docs, documentation, trusted, builds, trusted builds, automated builds, bitbucket +title: Configure automated builds with Bitbucket --- -# Automated Builds with Bitbucket - -If you've previously linked Docker Hub to your Bitbucket account, -you'll be able to skip to [Creating an Automated Build](bitbucket.md#creating-an-automated-build). +If you've previously linked Docker Hub to your Bitbucket account, you'll be able +to skip to [Creating an Automated +Build](bitbucket.md#creating-an-automated-build). ## Linking to your Bitbucket account In order to set up an Automated Build of a repository on Bitbucket, you need to link your [Docker Hub](https://hub.docker.com/account/authorized-services/) -account to a Bitbucket account. This will allow the registry to see your Bitbucket -repositories. +account to a Bitbucket account. This will allow the registry to see your +Bitbucket repositories. -To add, remove or view your linked account, go to the "Linked Accounts & Services" -section of your Hub profile "Settings". +To add, remove or view your linked account, go to the "Linked Accounts & +Services" section of your Hub profile "Settings". ![authorized-services](images/authorized-services.png) -Then follow the onscreen instructions to authorize and link your -Bitbucket account to Docker Hub. Once it is linked, you'll be able -to create a Docker Hub repository from which to create the Automatic Build. +Then follow the onscreen instructions to authorize and link your Bitbucket +account to Docker Hub. Once it is linked, you'll be able to create a Docker Hub +repository from which to create the Automatic Build. ## Creating an Automated Build You can [create an Automated Build]( -https://hub.docker.com/add/automated-build/bitbucket/) from any of your -public or private Bitbucket repositories with a `Dockerfile`. +https://hub.docker.com/add/automated-build/bitbucket/) from any of your public +or private Bitbucket repositories with a `Dockerfile`. -To get started, log in to Docker Hub and click the -"Create ▼" menu item at the top right of the screen. Then select -[Create Automated Build](https://hub.docker.com/add/automated-build/bitbucket/). +To get started, log in to Docker Hub and click the "Create ▼" menu item +at the top right of the screen. Then select [Create Automated +Build](https://hub.docker.com/add/automated-build/bitbucket/). Select the the linked Bitbucket account, and then choose a repository to set up an Automated Build for. ## The Bitbucket webhook -When you create an Automated Build in Docker Hub, a webhook is added to your Bitbucket repository automatically. +When you create an Automated Build in Docker Hub, a webhook is added to your +Bitbucket repository automatically. -You can also manually add a webhook from your repository's **Settings** page. Set the URL to `https://registry.hub.docker.com/hooks/bitbucket`, to be triggered for repository pushes. +You can also manually add a webhook from your repository's **Settings** page. +Set the URL to `https://registry.hub.docker.com/hooks/bitbucket`, to be +triggered for repository pushes. ![bitbucket-hooks](images/bitbucket-hook.png) diff --git a/docker-hub/builds.md b/docker-hub/builds.md index ecfac94a644..547615e8e9d 100644 --- a/docker-hub/builds.md +++ b/docker-hub/builds.md @@ -2,16 +2,13 @@ description: Docker Hub Automated Builds keywords: - Dockerfile, Hub, builds, trusted builds, automated builds -menu: - main: - parent: mn_pubhub - weight: 6 -title: Automated Builds +title: Configure automated builds on Docker Hub --- -# Automated Builds on Docker Hub - -You can build your images automatically from a build context stored in a repository. A *build context* is a Dockerfile and any files at a specific location. For an automated build, the build context is a repository containing a Dockerfile. +You can build your images automatically from a build context stored in a +repository. A *build context* is a Dockerfile and any files at a specific +location. For an automated build, the build context is a repository containing a +Dockerfile. Automated Builds have several advantages: @@ -19,23 +16,30 @@ Automated Builds have several advantages: * The `Dockerfile` is available to anyone with access to your Docker Hub repository. * Your repository is kept up-to-date with code changes automatically. -Automated Builds are supported for both public and private repositories -on both [GitHub](http://github.com) and [Bitbucket](https://bitbucket.org/). This document guides you through the process of working with automated builds. +Automated Builds are supported for both public and private repositories on both +[GitHub](http://github.com) and [Bitbucket](https://bitbucket.org/). This +document guides you through the process of working with automated builds. ## Prerequisites -To use automated builds you must have an [account on Docker Hub](accounts.md) and on the hosted repository provider (GitHub or Bitbucket). If -you have previously linked your Github or Bitbucket account, you must have -chosen the Public and Private connection type. +To use automated builds you must have an [account on Docker Hub](accounts.md) +and on the hosted repository provider (GitHub or Bitbucket). If you have +previously linked your Github or Bitbucket account, you must have chosen the +Public and Private connection type. -To view your current connection -settings, log in to Docker Hub and choose **Profile > Settings > Linked Accounts & Services**. +To view your current connection settings, log in to Docker Hub and choose +**Profile > Settings > Linked Accounts & Services**. ## Limitations -Currently Docker Hub does not support Git LFS (Large File Storage). If you have binaries in your build context that are managed by Git LFS, only the pointer file will be present in the clone made during the automated build, which is not what you want. +Currently Docker Hub does not support Git LFS (Large File Storage). If you have +binaries in your build context that are managed by Git LFS, only the pointer +file will be present in the clone made during the automated build, which is not +what you want. -Subscribe to the [GitHub issue](https://github.com/docker/hub-feedback/issues/500) tracking this limitation. +Subscribe to the [GitHub +issue](https://github.com/docker/hub-feedback/issues/500) tracking this +limitation. ## Link to a hosted repository service @@ -131,7 +135,9 @@ build request, Docker ignores new requests. ### Build statuses explained -You can view the status of the builds for a specific repository by looking at the Build Details screen. If you have builds that are queued or in progress, you can click **Cancel** to end them. +You can view the status of the builds for a specific repository by looking at +the Build Details screen. If you have builds that are queued or in progress, you +can click **Cancel** to end them. ![Build statuses](images/build-states-ex.png) @@ -144,7 +150,9 @@ The statuses are: ## Use the Build Settings page -The Build Settings page allows you to manage your existing automated build configurations and add new ones. By default, when new code is merged into your source repository, it triggers a build of your DockerHub image. +The Build Settings page allows you to manage your existing automated build +configurations and add new ones. By default, when new code is merged into your +source repository, it triggers a build of your DockerHub image. ![Default checkbox](images/merge_builds.png) @@ -153,7 +161,8 @@ the page to configure and build images. ## Add and run a new build -At the top of the Build Dialog is a list of configured builds. You can build from a code branch or by build tag. +At the top of the Build Dialog is a list of configured builds. You can build +from a code branch or by build tag. ![Build or tag](images/build-by.png) @@ -209,7 +218,8 @@ To add a link: To trigger Automated Builds programmatically, you can set up a remote build trigger in another application such as GitHub or Bitbucket. When you Activate -the build trigger for an Automated Build, it supplies you with a Token and a URL. +the build trigger for an Automated Build, it supplies you with a Token and a +URL. ![Build trigger screen](images/build-trigger.png) @@ -221,6 +231,5 @@ $ curl --data build=true -X POST https://registry.hub.docker.com/u/svendowideit/ OK ``` -To verify everything is working correctly, check the **Last 10 Trigger Logs** on the page. - -  +To verify everything is working correctly, check the **Last 10 Trigger Logs** on +the page. diff --git a/docker-hub/github.md b/docker-hub/github.md index 3d8fc42264f..686e9b8a491 100644 --- a/docker-hub/github.md +++ b/docker-hub/github.md @@ -1,19 +1,12 @@ --- description: Docker Hub Automated Builds with GitHub keywords: -- Docker, docker, registry, accounts, plans, Dockerfile, Docker Hub, docs, documentation, - trusted, builds, trusted builds, automated builds, GitHub -menu: - main: - parent: mn_pubhub - weight: 9 -title: Automated Builds from GitHub +- Docker, docker, registry, accounts, plans, Dockerfile, Docker Hub, docs, documentation, trusted, builds, trusted builds, automated builds, GitHub +title: Configure automated builds from GitHub --- -# Automated Builds from GitHub - -If you've previously linked Docker Hub to your GitHub account, -you'll be able to skip to [Creating an Automated Build](github.md#creating-an-automated-build). +If you've previously linked Docker Hub to your GitHub account, you'll be able to +skip to [Creating an Automated Build](github.md#creating-an-automated-build). ## Linking Docker Hub to a GitHub account @@ -24,10 +17,11 @@ you'll be able to skip to [Creating an Automated Build](github.md#creating-an-au > We do guarantee nothing else will be touched in your account. In order to set up an Automated Build of a repository on GitHub, you need to -link [Docker Hub](https://hub.docker.com/account/authorized-services/) to your GitHub account. This will allow the registry to see your GitHub -repositories. +link [Docker Hub](https://hub.docker.com/account/authorized-services/) to your +GitHub account. This will allow the registry to see your GitHub repositories. -To add, remove or view your linked account, go to the "Linked Accounts & Services" section of your Hub profile "Settings". +To add, remove or view your linked account, go to the "Linked Accounts & +Services" section of your Hub profile "Settings". ![authorized-services](images/authorized-services.png) @@ -36,17 +30,16 @@ or "Limited Access" linking. ![add-authorized-github-service.png](images/add-authorized-github-service.png) -The "Public and Private" option is the easiest to use, -as it grants the Docker Hub full access to all of your repositories. GitHub -also allows you to grant access to repositories belonging to your GitHub -organizations. +The "Public and Private" option is the easiest to use, as it grants the Docker +Hub full access to all of your repositories. GitHub also allows you to grant +access to repositories belonging to your GitHub organizations. -If you choose "Limited Access", Docker Hub only gets permission -to access your public data and public repositories. +If you choose "Limited Access", Docker Hub only gets permission to access your +public data and public repositories. -Follow the onscreen instructions to authorize and link your -GitHub account to Docker Hub. Once it is linked, you'll be able to -choose a source repository from which to create the Automatic Build. +Follow the onscreen instructions to authorize and link your GitHub account to +Docker Hub. Once it is linked, you'll be able to choose a source repository from +which to create the Automatic Build. You will be able to review and revoke Docker Hub's access by visiting the [GitHub User's Applications settings](https://github.com/settings/applications). @@ -59,19 +52,20 @@ You will be able to review and revoke Docker Hub's access by visiting the ## Auto builds and limited linked GitHub accounts. -If you selected to link your GitHub account with only a "Limited Access" link, then -after creating your automated build, you will need to either manually trigger a -Docker Hub build using the "Start a Build" button, or add the GitHub webhook -manually, as described in [GitHub Service Hooks](github.md#github-service-hooks). +If you selected to link your GitHub account with only a "Limited Access" link, +then after creating your automated build, you will need to either manually +trigger a Docker Hub build using the "Start a Build" button, or add the GitHub +webhook manually, as described in [GitHub Service +Hooks](github.md#github-service-hooks). ## Changing the GitHub user link -If you want to remove, or change the level of linking between your GitHub account -and the Docker Hub, you need to do this in two places. +If you want to remove, or change the level of linking between your GitHub +account and the Docker Hub, you need to do this in two places. -First, remove the "Linked Account" from your Docker Hub "Settings". -Then go to your GitHub account's Personal settings, and in the "Applications" -section, "Revoke access". +First, remove the "Linked Account" from your Docker Hub "Settings". Then go to +your GitHub account's Personal settings, and in the "Applications" section, +"Revoke access". You can now re-link your account at any time. @@ -134,11 +128,13 @@ If your GitHub repository contains links to private submodules, you'll get an error message in your build. Normally, the Docker Hub sets up a deploy key in your GitHub repository. -Unfortunately, GitHub only allows a repository deploy key to access a single repository. +Unfortunately, GitHub only allows a repository deploy key to access a single +repository. -To work around this, you can create a dedicated user account in GitHub and attach -the automated build's deploy key that account. This dedicated build account -can be limited to read-only access to just the repositories required to build. +To work around this, you can create a dedicated user account in GitHub and +attach the automated build's deploy key that account. This dedicated build +account can be limited to read-only access to just the repositories required to +build.
diff --git a/docker-hub/index.md b/docker-hub/index.md index 9db8efac919..46c6a7759c7 100644 --- a/docker-hub/index.md +++ b/docker-hub/index.md @@ -2,17 +2,10 @@ aliases: /docker-hub/overview/ description: Docker Hub overview keywords: -- Docker, docker, registry, accounts, plans, Dockerfile, Docker Hub, docs, documentation, - accounts, organizations, repositories, groups, teams -menu: - main: - parent: mn_pubhub - weight: -99 +- Docker, docker, registry, accounts, plans, Dockerfile, Docker Hub, docs, documentation, accounts, organizations, repositories, groups, teams title: Overview of Docker Hub --- -# Overview of Docker Hub - [Docker Hub](https://hub.docker.com) is a cloud-based registry service which allows you to link to code repositories, build your images and test them, stores manually pushed images, and links to [Docker Cloud](/docker-cloud/) so you can deploy images to your @@ -42,12 +35,15 @@ directions in [Your Docker ID](accounts.md). Your Docker ID gives you one private Docker Hub repository for free. If you need more private repositories, you can upgrade from your free account to a paid -plan. To learn more, log in to Docker Hub and go to [Billing & Plans](https://hub.docker.com/account/billing-plans/), in the Settings menu. +plan. To learn more, log in to Docker Hub and go to [Billing & +Plans](https://hub.docker.com/account/billing-plans/), in the Settings menu. ### Explore repositories -You can find public repositories and images from Docker Hub in two ways. -You can "Search" from the Docker Hub website, or you can use the Docker command line tool to run the `docker search` command. For example if you were looking for an ubuntu image, you might run the following command line search: +You can find public repositories and images from Docker Hub in two ways. You can +"Search" from the Docker Hub website, or you can use the Docker command line +tool to run the `docker search` command. For example if you were looking for an +ubuntu image, you might run the following command line search: ``` $ docker search ubuntu @@ -60,8 +56,8 @@ Private repositories do not appear in the repository search results. To see all the repositories you can access and their status, view your "Dashboard" page on [Docker Hub](https://hub.docker.com). - -You can find more information on working with Docker images in the [Docker userguide](/userguide/dockerimages/). +You can find more information on working with Docker images in the +[Docker userguide](/userguide/dockerimages/). ### Use Official Repositories @@ -79,14 +75,16 @@ up-to-date image that was built by experts to power your applications. ## Work with Docker Hub image repositories -Docker Hub provides a place for you and your team to build and ship Docker images. +Docker Hub provides a place for you and your team to build and ship Docker +images. You can configure Docker Hub repositories in two ways: * [Repositories](repos.md), which allow you to push images from a local Docker daemon to Docker Hub, and * [Automated Builds](builds.md), which link to a source code repository and trigger an image rebuild process on Docker Hub when changes are detected in the source code. -You can create public repositories which can be accessed by any other Hub user, or you can create private repositories with limited access you control. +You can create public repositories which can be accessed by any other Hub user, +or you can create private repositories with limited access you control. ### Docker commands and Docker Hub diff --git a/docker-hub/official_repos.md b/docker-hub/official_repos.md index 4bca00805c4..5ff3a37c62d 100644 --- a/docker-hub/official_repos.md +++ b/docker-hub/official_repos.md @@ -1,19 +1,13 @@ --- description: Guidelines for Official Repositories on Docker Hub keywords: -- Docker, docker, registry, accounts, plans, Dockerfile, Docker Hub, docs, official, - image, documentation -menu: - main: - parent: mn_pubhub - weight: 15 -title: Official Repositories on Docker Hub +- Docker, docker, registry, accounts, plans, Dockerfile, Docker Hub, docs, official,image, documentation +title: Official repositories on Docker Hub --- -# Official Repositories on Docker Hub - The Docker [Official Repositories](https://hub.docker.com/official/) are a -curated set of Docker repositories that are promoted on Docker Hub. They are designed to: +curated set of Docker repositories that are promoted on Docker Hub. They are +designed to: * Provide essential base OS repositories (for example, [ubuntu](https://hub.docker.com/_/ubuntu/), @@ -72,7 +66,8 @@ these efforts. ## How do I know the Official Repositories are secure? -Docker provides a preview version of Docker Cloud's [Security Scanning service](/docker-cloud/builds/image-scan/) for all of the +Docker provides a preview version of Docker Cloud's +[Security Scanning service](/docker-cloud/builds/image-scan/) for all of the Official Repositories located on Docker Hub. These security scan results provide valuable information about which images contain security vulnerabilities, which you should use to help you choose secure components for your own projects. diff --git a/docker-hub/orgs.md b/docker-hub/orgs.md index 7eb9f562e43..4e8693f8ac2 100644 --- a/docker-hub/orgs.md +++ b/docker-hub/orgs.md @@ -2,27 +2,22 @@ description: Docker Hub Teams and Organizations keywords: - Docker, docker, registry, teams, organizations, plans, Dockerfile, Docker Hub, docs, documentation -menu: - main: - parent: mn_pubhub - weight: -80 -title: Teams & Organizations +title: Organizations and teams in Docker Hub --- -# Organizations and teams - -Docker Hub [organizations](https://hub.docker.com/organizations/) let you -create teams so you can give colleagues access to shared image repositories. -A Docker Hub organization can contain public and private repositories just like -a user account. -Access to push or pull for these repositories is allocated by defining teams of users and then assigning team rights to specific repositories. Repository -creation is limited to users in the organization owner's group. This allows you -to distribute limited access Docker images, and to select which Docker Hub users -can publish new images. +Docker Hub [organizations](https://hub.docker.com/organizations/) let you create +teams so you can give colleagues access to shared image repositories. A Docker +Hub organization can contain public and private repositories just like a user +account. Access to push or pull for these repositories is allocated by defining +teams of users and then assigning team rights to specific repositories. +Repository creation is limited to users in the organization owner's group. This +allows you to distribute limited access Docker images, and to select which +Docker Hub users can publish new images. ### Creating and viewing organizations -You can see which organizations you belong to and add new organizations by clicking "Organizations" in the top nav bar. +You can see which organizations you belong to and add new organizations by +clicking "Organizations" in the top nav bar. ![organizations](images/orgs.png) @@ -39,9 +34,10 @@ Other users can only see teams they belong to. Use teams to manage who can interact with your repositories. -You need to be a member of the organization's "Owners" team to create a new team, -Hub repository, or automated build. As an "Owner", you then delegate the following -repository access rights to a team using the "Collaborators" section of the repository view: +You need to be a member of the organization's "Owners" team to create a new +team, Hub repository, or automated build. As an "Owner", you then delegate the +following repository access rights to a team using the "Collaborators" section +of the repository view: - `Read` access allows a user to view, search, and pull a private repository in the same way as they can a public repository. - `Write` access users are able to push to non-automated repositories on the Docker Hub. diff --git a/docker-hub/repos.md b/docker-hub/repos.md index 996d114937a..7e18839caf6 100644 --- a/docker-hub/repos.md +++ b/docker-hub/repos.md @@ -1,35 +1,28 @@ --- description: Your Repositories on Docker Hub keywords: -- Docker, docker, trusted, registry, accounts, plans, Dockerfile, Docker Hub, webhooks, - docs, documentation -menu: - main: - parent: mn_pubhub - weight: 5 +- Docker, docker, trusted, registry, accounts, plans, Dockerfile, Docker Hub, webhooks, docs, documentation title: Repositories on Docker Hub --- -# Your Hub repositories - -Docker Hub repositories let you share images with co-workers, -customers, or the Docker community at large. If you're building your images internally, -either on your own Docker daemon, or using your own Continuous integration services, -you can push them to a Docker Hub repository that you add to your Docker Hub user or +Docker Hub repositories let you share images with co-workers, customers, or the +Docker community at large. If you're building your images internally, either on +your own Docker daemon, or using your own Continuous integration services, you +can push them to a Docker Hub repository that you add to your Docker Hub user or organization account. -Alternatively, if the source code for your Docker image is on GitHub or Bitbucket, -you can use an "Automated build" repository, which is built by the Docker Hub -services. See the [automated builds documentation](builds.md) to read about -the extra functionality provided by those services. +Alternatively, if the source code for your Docker image is on GitHub or +Bitbucket, you can use an "Automated build" repository, which is built by the +Docker Hub services. See the [automated builds documentation](builds.md) to read +about the extra functionality provided by those services. ![repositories](images/repos.png) ## Searching for images You can search the [Docker Hub](https://hub.docker.com) registry via its search -interface or by using the command line interface. Searching can find images by image -name, user name, or description: +interface or by using the command line interface. Searching can find images by +image name, user name, or description: $ docker search centos NAME DESCRIPTION STARS OFFICIAL AUTOMATED @@ -38,12 +31,12 @@ name, user name, or description: tutum/centos Centos image with SSH access. For the root... 13 [OK] ... -There you can see two example results: `centos` and `ansible/centos7-ansible`. The second -result shows that it comes from the public repository of a user, named -`ansible/`, while the first result, `centos`, doesn't explicitly list a -repository which means that it comes from the top-level namespace for -[Official Repositories](official_repos.md). The `/` character separates -a user's repository from the image name. +There you can see two example results: `centos` and `ansible/centos7-ansible`. +The second result shows that it comes from the public repository of a user, +named `ansible/`, while the first result, `centos`, doesn't explicitly list a +repository which means that it comes from the top-level namespace for [Official +Repositories](official_repos.md). The `/` character separates a user's +repository from the image name. Once you've found the image you want, you can download it with `docker pull `: @@ -63,29 +56,30 @@ You now have an image from which you can run containers. Docker Hub's repository "Tags" view shows you the available tags and the size of the associated image. -Image sizes are the cumulative space taken up by the image and all -its parent images. This is also the disk space used by the contents of the -Tar file created when you `docker save` an image. +Image sizes are the cumulative space taken up by the image and all its parent +images. This is also the disk space used by the contents of the Tar file created +when you `docker save` an image. ![images/busybox-image-tags.png](images/busybox-image-tags.png) ## Creating a new repository on Docker Hub -When you first create a Docker Hub user, you will have a "Get started with Docker Hub." -screen, from which you can click directly into "Create Repository". +When you first create a Docker Hub user, you will have a "Get started with +Docker Hub." screen, from which you can click directly into "Create Repository". You can also use the "Create ▼" menu to "Create Repository". -When creating a new repository, you can choose to put it in your Docker ID namespace, or that of any [organization](orgs.md) that you -are in the "Owners" team. -The Repository Name will need to be unique in that namespace, can be two to 255 characters, -and can only contain lowercase letters, numbers or `-` and `_`. +When creating a new repository, you can choose to put it in your Docker ID +namespace, or that of any [organization](orgs.md) that you are in the "Owners" +team. The Repository Name will need to be unique in that namespace, can be two +to 255 characters, and can only contain lowercase letters, numbers or `-` and +`_`. -The "Short Description" of 100 characters will be used in the search results, while the -"Full Description" can be used as the Readme for the repository, and can use Markdown to -add simple formatting. +The "Short Description" of 100 characters will be used in the search results, +while the "Full Description" can be used as the Readme for the repository, and +can use Markdown to add simple formatting. -After you hit the "Create" button, you then need to `docker push` images to that Hub based -repository. +After you hit the "Create" button, you then need to `docker push` images to that +Hub based repository. @@ -108,15 +102,15 @@ Now you can push this repository to the registry designated by its name or tag. $ docker push /: -The image will then be uploaded and available for use by your team-mates and/or the -community. +The image will then be uploaded and available for use by your team-mates and/or +the community. ## Stars -Your repositories can be starred and you can star repositories in -return. Stars are a way to show that you like a repository. They are -also an easy way of bookmarking your favorites. +Your repositories can be starred and you can star repositories in return. Stars +are a way to show that you like a repository. They are also an easy way of +bookmarking your favorites. ## Comments @@ -126,65 +120,61 @@ appropriate, you can flag them for review. ## Collaborators and their role -A collaborator is someone you want to give access to a private -repository. Once designated, they can `push` and `pull` to your -repositories. They will not be allowed to perform any administrative -tasks such as deleting the repository or changing its status from -private to public. +A collaborator is someone you want to give access to a private repository. Once +designated, they can `push` and `pull` to your repositories. They will not be +allowed to perform any administrative tasks such as deleting the repository or +changing its status from private to public. > **Note:** > A collaborator cannot add other collaborators. Only the owner of > the repository has administrative access. -You can also assign more granular collaborator rights ("Read", "Write", or "Admin") -on Docker Hub by using organizations and teams. For more information +You can also assign more granular collaborator rights ("Read", "Write", or +"Admin") on Docker Hub by using organizations and teams. For more information see the [organizations documentation](orgs.md). ## Private repositories -Private repositories allow you to have repositories that contain images -that you want to keep private, either to your own account or within an -organization or team. +Private repositories allow you to have repositories that contain images that you +want to keep private, either to your own account or within an organization or +team. -To work with a private repository on [Docker -Hub](https://hub.docker.com), you will need to add one via the [Add -Repository](https://hub.docker.com/add/repository/) -button. You get one private repository for free with your Docker Hub -user account (not usable for organizations you're a member of). If -you need more accounts you can upgrade your [Docker -Hub](https://hub.docker.com/account/billing-plans/) plan. +To work with a private repository on [Docker Hub](https://hub.docker.com), you +will need to add one via the [Add +Repository](https://hub.docker.com/add/repository/) button. You get one private +repository for free with your Docker Hub user account (not usable for +organizations you're a member of). If you need more accounts you can upgrade +your [Docker Hub](https://hub.docker.com/account/billing-plans/) plan. -Once the private repository is created, you can `push` and `pull` images -to and from it using Docker. +Once the private repository is created, you can `push` and `pull` images to and +from it using Docker. > *Note:* You need to be signed in and have access to work with a > private repository. -Private repositories are just like public ones. However, it isn't -possible to browse them or search their content on the public registry. -They do not get cached the same way as a public repository either. +Private repositories are just like public ones. However, it isn't possible to +browse them or search their content on the public registry. They do not get +cached the same way as a public repository either. It is possible to give access to a private repository to those whom you -designate (i.e., collaborators) from its "Settings" page. From there, you -can also switch repository status (*public* to *private*, or -vice-versa). You will need to have an available private repository slot -open before you can do such a switch. If you don't have any available, -you can always upgrade your [Docker +designate (i.e., collaborators) from its "Settings" page. From there, you can +also switch repository status (*public* to *private*, or vice-versa). You will +need to have an available private repository slot open before you can do such a +switch. If you don't have any available, you can always upgrade your [Docker Hub](https://hub.docker.com/account/billing-plans/) plan. ## Webhooks -A webhook is an HTTP call-back triggered by a specific event. -You can use a Hub repository webhook to notify people, services, and other -applications after a new image is pushed to your repository (this also happens -for Automated builds). For example, you can trigger an automated test or -deployment to happen as soon as the image is available. +A webhook is an HTTP call-back triggered by a specific event. You can use a Hub +repository webhook to notify people, services, and other applications after a +new image is pushed to your repository (this also happens for Automated builds). +For example, you can trigger an automated test or deployment to happen as soon +as the image is available. -To get started adding webhooks, go to the desired repository in the Hub, -and click "Webhooks" under the "Settings" box. -A webhook is called only after a successful `push` is -made. The webhook calls are HTTP POST requests with a JSON payload -similar to the example shown below. +To get started adding webhooks, go to the desired repository in the Hub, and +click "Webhooks" under the "Settings" box. A webhook is called only after a +successful `push` is made. The webhook calls are HTTP POST requests with a JSON +payload similar to the example shown below. *Example webhook JSON payload:* @@ -227,12 +217,11 @@ similar to the example shown below. ### Webhook chains -Webhook chains allow you to chain calls to multiple services. For example, -you can use this to trigger a deployment of your container only after -it has been successfully tested, then update a separate Changelog once the -deployment is complete. -After clicking the "Add webhook" button, simply add as many URLs as necessary -in your chain. +Webhook chains allow you to chain calls to multiple services. For example, you +can use this to trigger a deployment of your container only after it has been +successfully tested, then update a separate Changelog once the deployment is +complete. After clicking the "Add webhook" button, simply add as many URLs as +necessary in your chain. The first webhook in a chain will be called after a successful push. Subsequent URLs will be contacted after the callback has been validated. @@ -247,8 +236,8 @@ In order to validate a callback in a webhook chain, you need to > **Note**: A chain request will only be considered complete once the last > callback has been validated. -To help you debug or simply view the results of your webhook(s), -view the "History" of the webhook available on its settings page. +To help you debug or simply view the results of your webhook(s), view the +"History" of the webhook available on its settings page. #### Callback JSON data diff --git a/docker-hub/webhooks.md b/docker-hub/webhooks.md index cbb653864ad..96cd6e6da09 100644 --- a/docker-hub/webhooks.md +++ b/docker-hub/webhooks.md @@ -2,18 +2,16 @@ description: Docker Hub Automated Builds keywords: - Docker, webhookds, hub, builds -menu: - main: - parent: mn_pubhub - weight: 7 title: Webhooks for automated builds --- -# Webhooks for automated builds +If you have an automated build repository in Docker Hub, you can use Webhooks to +cause an action in another application in response to an event in the +repository. Docker Hub webhooks fire when an image is built in, or a new tag +added to, your automated build repository. -If you have an automated build repository in Docker Hub, you can use Webhooks to cause an action in another application in response to an event in the repository. Docker Hub webhooks fire when an image is built in, or a new tag added to, your automated build repository. - -With your webhook, you specify a target URL and a JSON payload to deliver. The example webhook below generates an HTTP POST that delivers a JSON payload: +With your webhook, you specify a target URL and a JSON payload to deliver. The +example webhook below generates an HTTP POST that delivers a JSON payload: ```json { diff --git a/docker-store/faq.md b/docker-store/faq.md index a45727c7b41..5479448737d 100644 --- a/docker-store/faq.md +++ b/docker-store/faq.md @@ -2,14 +2,9 @@ description: Docker Store frequently asked questions keywords: - Docker, docker, store, purchase images -menu: - main: - parent: docker-store -title: Docker Store FAQs +title: Docker Store frequently asked questions (FAQ) --- -# Docker Store Frequently Asked Questions - ### How do I log in to the Docker Store? Log in to the Docker Store using your free Docker ID. Don't have a Docker ID yet? Go to [Docker Cloud](https://cloud.docker.com/) to sign up. diff --git a/docker-store/index.md b/docker-store/index.md index 2392dc70847..18fe8db3059 100644 --- a/docker-store/index.md +++ b/docker-store/index.md @@ -2,24 +2,18 @@ description: Docker Store overview keywords: - Docker, docker, store, purchase images -menu: - main: - parent: docker-store - weight: -99 -title: Docker Store Overview +title: Docker Store overview --- -# Docker Store Overview - - -
-The Docker Store is now in public Beta!
-You can also learn more about publishing, or apply to be a publisher. +
The Docker Store is now in public Beta!
You can also learn more about publishing, or apply to be a publisher.
----------------- -The Docker Store is the place to find the best trusted commercial and free software distributed as Docker Images. +The Docker Store is the place to find the best trusted commercial and free +software distributed as Docker Images. ## Search and Browse diff --git a/docker-store/publish.md b/docker-store/publish.md index 6848c653986..01b92aaa84d 100644 --- a/docker-store/publish.md +++ b/docker-store/publish.md @@ -2,17 +2,15 @@ description: Submit a product for the Docker Store keywords: - Docker, docker, store, purchase images -menu: - main: - parent: docker-store -title: Submit a Product +title: Submit a product to Docker Store --- -# Docker Store product submissions +To submit an image to the Docker Store, you must first [apply to +join](https://store.docker.com/publisher/signup) our publisher program. You'll +receive a welcome email when you're accepted into the program. -To submit an image to the Docker Store, you must first [apply to join](https://store.docker.com/publisher/signup) our publisher program. You'll receive a welcome email when you're accepted into the program. - -Once you've been accepted, click the link in your acceptance email, or go to the [Docker Store](https://store.docker.com) and click **Publish a Product**. +Once you've been accepted, click the link in your acceptance email, or go to the +[Docker Store](https://store.docker.com) and click **Publish a Product**. ----------------- @@ -22,19 +20,30 @@ Before you start, there are a few things you should know. **The Docker Store moderation process** -The Docker Store team validates submitted products to ensure quality and security, and to make sure your product information is complete and helpful for potential customers. +The Docker Store team validates submitted products to ensure quality and +security, and to make sure your product information is complete and helpful for +potential customers. -To do this, you'll provide your product binaries and some information about the product (the "product manifest") which will be reviewed by a moderator. If changes are needed, the moderation team will notify you by email. At that point, you can make changes and resubmit the product. +To do this, you'll provide your product binaries and some information about the +product (the "product manifest") which will be reviewed by a moderator. If +changes are needed, the moderation team will notify you by email. At that point, +you can make changes and resubmit the product. **Use private repositories** -The source for your product must be in a **private** repository in either Docker Cloud or Docker Hub. This allows us to provide feedback to help you produce excellent products _before_ you make your items available to the public. +The source for your product must be in a **private** repository in either Docker +Cloud or Docker Hub. This allows us to provide feedback to help you produce +excellent products _before_ you make your items available to the public. **Product tiers** -You can create several different tiers for a single product. For example, you might have Free, Basic, and Enterprise versions of a single product, each with their own features, support levels, and subscription pricing. +You can create several different tiers for a single product. For example, you +might have Free, Basic, and Enterprise versions of a single product, each with +their own features, support levels, and subscription pricing. -At minimum, each product tier must be represented by a unique tag within a repository, however you can also select tags for each tier from several different repositories or namespaces. +At minimum, each product tier must be represented by a unique tag within a +repository, however you can also select tags for each tier from several +different repositories or namespaces. > **Note**: During the beta period, Docker Store only supports two product tiers. We're working diligently to support more tiers in the future. @@ -73,7 +82,9 @@ Click **Save and Continue**. Fill out your Publisher Details. If you've already done this, for example if you've already submitted a product, skip to the next section. -Your company name comes from the [initial sign up form](https://store.docker.com/publisher/signup) you filled out, however you can change your details on this screen if needed. +Your company name comes from the [initial sign up +form](https://store.docker.com/publisher/signup) you filled out, however you can +change your details on this screen if needed. Provide a URL to the logo that represents your company or organization. This logo must be at least 512x512 pixels. diff --git a/docker-trusted-registry/architecture.md b/docker-trusted-registry/architecture.md index f8098ffa484..4794c7d045c 100644 --- a/docker-trusted-registry/architecture.md +++ b/docker-trusted-registry/architecture.md @@ -2,16 +2,9 @@ description: Learn about the architecture of Docker Trusted Registry. keywords: - docker, registry, dtr, architecture -menu: - main: - identifier: dtr_architecture - parent: workw_dtr - weight: 20 -title: Architecture +title: DTR architecture --- -# DTR architecture - Docker Trusted Registry (DTR) is a Dockerized application that runs on a Docker Universal Control Plane cluster. diff --git a/docker-trusted-registry/configure/config-general.md b/docker-trusted-registry/configure/config-general.md index d72ab83103e..4c616b59b80 100644 --- a/docker-trusted-registry/configure/config-general.md +++ b/docker-trusted-registry/configure/config-general.md @@ -1,19 +1,12 @@ --- description: Configure general settings for Docker Trusted Registry keywords: -- docker, documentation, about, technology, understanding, enterprise, hub, general, - domain name, HTTP, HTTPS ports, Notary, registry -menu: - main: - identifier: dtr_configure_general - parent: workw_dtr_configure - weight: 3 +- docker, documentation, about, technology, understanding, enterprise, hub, general, domain name, HTTP, HTTPS ports, Notary, registry title: Configure general settings --- -# Configure general settings - -This document describes the general settings you need to configure including using Trusted Content through setting up your Notary server. +This document describes the general settings you need to configure including +using Trusted Content through setting up your Notary server. ## Configure your domain name and port settings diff --git a/docker-trusted-registry/configure/config-security.md b/docker-trusted-registry/configure/config-security.md index b4860adcde2..446e6ea4030 100644 --- a/docker-trusted-registry/configure/config-security.md +++ b/docker-trusted-registry/configure/config-security.md @@ -1,13 +1,7 @@ --- description: Security configuration for Docker Trusted Registry keywords: -- docker, documentation, about, technology, understanding, configuration, security, - enterprise, hub, registry -menu: - main: - identifier: dtr_configure_security - parent: workw_dtr_configure - weight: 4 +- docker, documentation, about, technology, understanding, configuration, security, enterprise, hub, registry title: Security configuration --- @@ -20,13 +14,17 @@ This cert must be accompanied by its private key, entered below. * *SSL Private Key*: The hash from the private key associated with the provided SSL Certificate (as a standard x509 key pair). -In order to run, the Trusted Registry requires encrypted communications through HTTPS/SSL between (a) the Trusted Registry and your Docker Engine(s), and (b) between your web browser and the Trusted Registry admin server. There are a few options for setting this up: +In order to run, the Trusted Registry requires encrypted communications through +HTTPS/SSL between (a) the Trusted Registry and your Docker Engine(s), and (b) +between your web browser and the Trusted Registry admin server. There are a few +options for setting this up: 1. You can use the self-signed certificate Docker Trusted Registry generates by default. 2. You can generate your own certificates using a public service or your enterprise's infrastructure. See the [Generating SSL certificates](config-security.md#generating-ssl-certificates) section for the options available. -If you are generating your own certificates, you can install them by following the instructions for -[Adding your own registry certificates to Docker Trusted Registry](config-security.md#adding-your-own-registry-certificates-to-dtr). +If you are generating your own certificates, you can install them by following +the instructions for [Adding your own registry certificates to Docker Trusted +Registry](config-security.md#adding-your-own-registry-certificates-to-dtr). However, if you choose to use the Trusted Registry-generated certificates, or the certificates you generate yourself are not trusted by your client Docker @@ -66,9 +64,9 @@ set up your Trusted Registry server to use them. Certificate" edit box, and the previously generated Private key into the "SSL Private Key" edit box. -2. Click Save, and then wait for the Trusted Registry Admin site to restart -and reload. It should now be using the new certificate. Once the Security page has reloaded, it displays `#` hashes instead of the -certificate text you pasted. +2. Click Save, and then wait for the Trusted Registry Admin site to restart and +reload. It should now be using the new certificate. Once the Security page has +reloaded, it displays `#` hashes instead of the certificate text you pasted. If your certificate is signed by a chain of Certificate Authorities that are already trusted by your Docker daemon servers, you can skip the following @@ -172,7 +170,8 @@ Docker daemon to run in "insecure" mode. This is done by adding an extra flag, `--insecure-registry host-ip|domain-name`, to your client Docker daemon startup flags. You'll need to restart the Docker daemon for the change to take effect. -This flag means that the communications between your Docker client and the Trusted Registry server are still encrypted, but the client Docker daemon is not +This flag means that the communications between your Docker client and the +Trusted Registry server are still encrypted, but the client Docker daemon is not confirming that the Registry connection is not being hijacked or diverted. If you enter a "Domain Name" into the Security settings, it needs to be DNS diff --git a/docker-trusted-registry/configure/config-storage.md b/docker-trusted-registry/configure/config-storage.md index b09e50a63bd..37304523c0d 100644 --- a/docker-trusted-registry/configure/config-storage.md +++ b/docker-trusted-registry/configure/config-storage.md @@ -1,25 +1,20 @@ --- description: Storage configuration for Docker Trusted Registry keywords: -- docker, documentation, about, technology, understanding, configuration, storage, - storage drivers, Azure, S3, Swift, enterprise, hub, registry -menu: - main: - identifier: dtr_configure_storage - parent: workw_dtr_configure - weight: 5 +- docker, documentation, about, technology, understanding, configuration, storage, storage drivers, Azure, S3, Swift, enterprise, hub, registry title: Storage configuration --- -# Storage configuration - After installing Docker Trusted Registry, one of your first tasks is to -designate and configure the Trusted Registry storage backend. This document provides the following: +designate and configure the Trusted Registry storage backend. This document +provides the following: * Information describing your storage backend options. * Configuration steps using either the Trusted Registry UI or a YAML file. -While there is a default storage backend, `filesystem`, the Trusted Registry offers other options that are cloud-based. This flexibility to configure to a different storage backend allows you to: +While there is a default storage backend, `filesystem`, the Trusted Registry +offers other options that are cloud-based. This flexibility to configure to a +different storage backend allows you to: * Scale your Trusted Registry * Leverage storage redundancy @@ -27,12 +22,13 @@ While there is a default storage backend, `filesystem`, the Trusted Registry off * Take advantage of other features that are critical to your organization At first, you might have explored Docker Trusted Registry and Docker Engine by - [installing](../install/index.md) -them on your system in order to familiarize yourself with them. -However, for various reasons such as deployment purposes or continuous -integration, it makes sense to think about your long term organization’s needs -when selecting a storage backend. The Trusted Registry natively supports TLS and -basic authentication. It also ships with a [notification system](/registry/notifications.md), calling webhooks in response to activity. The notification system also provides both extensive logging and +[installing](../install/index.md) them on your system in order to familiarize +yourself with them. However, for various reasons such as deployment purposes or +continuous integration, it makes sense to think about your long term +organization’s needs when selecting a storage backend. The Trusted Registry +natively supports TLS and basic authentication. It also ships with a +[notification system](/registry/notifications.md), calling webhooks in response +to activity. The notification system also provides both extensive logging and reporting, which is useful for organizations that want to collect metrics. ## Understand the Trusted Registry storage backend @@ -41,7 +37,8 @@ By default, your Trusted Registry data resides as a data volume on the host `filesystem`. This is where your repositories and images are stored. This storage driver is the local posix `filesystem` and is configured to use a directory tree in the local filesystem. It's suitable for development or small -deployments. The `filesystem` can be located on the same computer as the Trusted Registry, or on a separate system. +deployments. The `filesystem` can be located on the same computer as the Trusted +Registry, or on a separate system. Additionally, the Trusted Registry supports these cloud-based storage drivers: @@ -68,7 +65,9 @@ adequate space available. To do so, you can run the following commands: ### Amazon S3 S3 stores data as objects within “buckets” where you read, write, and delete -objects in that container. It too, has a `rootdirectory` parameter. If you select this option, there will be some tasks that you need to first perform [on AWS](https://aws.amazon.com/s3/getting-started/). +objects in that container. It too, has a `rootdirectory` parameter. If you +select this option, there will be some tasks that you need to first perform [on +AWS](https://aws.amazon.com/s3/getting-started/). 1. You must create an S3 bucket, and write down its name and the AWS zone it runs on. @@ -80,10 +79,17 @@ time differences. This may cause an issue if you try to authenticate with Amazon web services. 6. You will also need your AWS access key and secret key. Learn [more about it ](http://docs.aws.amazon.com/general/latest/gr/managing-aws-access-keys.html) here. -Conversely, you can further limit what users access in the Trusted Registry when you use AW to host your Trusted Registry. Instead of using the UI to enter information, you can create an [IAM user policy](http://docs.aws.amazon.com/AmazonS3/latest/dev/example-policies-s3.html) which is a JSON description of the effects, actions, and resources available to -a user. The advantage of using this method instead of configuring through the Trusted Registry UI is that you can restrict what users can access. You apply the policy as part of the process of installing the Trusted Registry on AW. To set a policy through the AWS command line, save the policy into a file, -for example `TrustedRegistryUserPerms.json`, and pass it to the -put-user-policy AWS command: +Conversely, you can further limit what users access in the Trusted Registry when +you use AW to host your Trusted Registry. Instead of using the UI to enter +information, you can create an [IAM user +policy](http://docs.aws.amazon.com/AmazonS3/latest/dev/example-policies-s3.html) +which is a JSON description of the effects, actions, and resources available to +a user. The advantage of using this method instead of configuring through the +Trusted Registry UI is that you can restrict what users can access. You apply +the policy as part of the process of installing the Trusted Registry on AW. To +set a policy through the AWS command line, save the policy into a file, for +example `TrustedRegistryUserPerms.json`, and pass it to the put-user-policy AWS +command: ``` $ aws iam put-user-policy --user-name MyUser --policy-name TrustedRegistryUserPerms --policy-document file://C:\Temp\TrustedRegistryUserPerms.json @@ -91,7 +97,9 @@ $ aws iam put-user-policy --user-name MyUser --policy-name TrustedRegistryUserPe You can also set a policy through your AWS console. For more information about setting IAM policies using the command line or the console, review the AWS -[Overview of IAM Policies](http://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) article or visit the console Policies page. +[Overview of IAM +Policies](http://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) +article or visit the console Policies page. The following example describes the minimum permissions set which allows Trusted Registry users to access, push, pull, and delete images. @@ -130,7 +138,9 @@ Trusted Registry users to access, push, pull, and delete images. ### OpenStack Swift OpenStack Swift, also known as OpenStack Object Storage, is an open source -object storage system that is licensed under the Apache 2.0 license. Refer to [Swift documentation](http://docs.openstack.org/developer/swift/) to get started. +object storage system that is licensed under the Apache 2.0 license. Refer to +[Swift documentation](http://docs.openstack.org/developer/swift/) to get +started. c81071adeeb5 Removing intermediate container 23aa52c1897c -Finally, Docker finishes the build and reports its outcome. +Finally, Docker finishes the build and reports its outcome. Step 3 : CMD /usr/games/fortune -a | cowsay ---> Running in a8e6faa88df3 @@ -195,15 +188,15 @@ In this step, you verify the new images is on your computer and then you run you ----------------------------------------- \ \ - \ - ## . - ## ## ## == - ## ## ## ## === - /""""""""""""""""___/ === - ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~ - \______ o __/ - \ \ __/ - \____\______/ + \ + ## . + ## ## ## == + ## ## ## ## === + /""""""""""""""""___/ === + ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~ + \______ o __/ + \ \ __/ + \____\______/ As you can see, you've made the whale a lot smarter. It finds its own things to say and the command line is a lot shorter! You may also notice diff --git a/engine/getstarted/step_one.md b/engine/getstarted/step_one.md index f39486b6708..9c6d0886fc0 100644 --- a/engine/getstarted/step_one.md +++ b/engine/getstarted/step_one.md @@ -6,16 +6,9 @@ aliases: description: Getting started with Docker keywords: - beginner, getting started, Docker, install -menu: - main: - identifier: getstart_all_install - parent: tutorial_getstart_menu - weight: 1 title: Install Docker and run hello-world --- -# Install Docker - - [Step 1: Get Docker](step_one.md#step-1-get-docker) - [Step 2: Install Docker](step_one.md#step-2-install-docker) - [Step 3: Verify your installation](step_one.md#step-3-verify-your-installation) diff --git a/engine/getstarted/step_six.md b/engine/getstarted/step_six.md index f944d9990e2..87418b9675a 100644 --- a/engine/getstarted/step_six.md +++ b/engine/getstarted/step_six.md @@ -6,16 +6,9 @@ aliases: description: Getting started with Docker keywords: - beginner, getting started, Docker -menu: - main: - identifier: getstart_tag_push_pull - parent: tutorial_getstart_menu - weight: 6 -title: Tag, push, & pull your image +title: Tag, push, and pull your image --- -# Tag, push, and pull your image - In this section, you tag and push your `docker-whale` image to your newly created repository. When you are done, you test the repository by pulling your new image. @@ -70,14 +63,14 @@ If you don't already have a terminal open, open one now: The format for the login command is: - docker login + docker login When prompted, enter your password and press enter. So, for example: $ docker login Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one. - Username: - Password: + Username: + Password: Login Succeeded 9. Type the `docker push` command to push your image to your new repository. diff --git a/engine/getstarted/step_three.md b/engine/getstarted/step_three.md index 9623ccdcb25..9a108809a5a 100644 --- a/engine/getstarted/step_three.md +++ b/engine/getstarted/step_three.md @@ -6,16 +6,9 @@ aliases: description: Getting started with Docker keywords: - beginner, getting started, Docker -menu: - main: - identifier: getstart_locate - parent: tutorial_getstart_menu - weight: 3 -title: Find & run the whalesay image +title: Find and run the whalesay image --- -# Find and run the whalesay image - People all over the world create Docker images. You can find these images by browsing the Docker Hub. In this next section, you'll search for and find the image you'll use in the rest of this getting started. diff --git a/engine/getstarted/step_two.md b/engine/getstarted/step_two.md index 06ba29e3366..c314dbc9c68 100644 --- a/engine/getstarted/step_two.md +++ b/engine/getstarted/step_two.md @@ -6,16 +6,9 @@ aliases: description: Getting started with Docker keywords: - beginner, getting started, Docker -menu: - main: - identifier: getstart_understand - parent: tutorial_getstart_menu - weight: 2 -title: Understand images & containers +title: Learn about images and containers --- -# Learn about images & containers - Docker Engine provides the core Docker technology that enables images and containers. As the last step in your installation, you ran the `docker run hello-world` command. The command you ran had three parts. @@ -30,16 +23,21 @@ When you ran the command, Docker Engine: * downloaded the image from the Docker Hub (more about the hub later) * loaded the image into the container and "ran" it -Depending on how it was built, an image might run a simple, single command and then exit. This is what `hello-world` did. +Depending on how it was built, an image might run a simple, single command and +then exit. This is what `hello-world` did. -A Docker image, though, is capable of much more. An image can start software as complex as a database, wait for you (or someone else) to add data, store the data for later use, and then wait for the next person. +A Docker image, though, is capable of much more. An image can start software as +complex as a database, wait for you (or someone else) to add data, store the +data for later use, and then wait for the next person. -Who built the `hello-world` software image though? In this case, Docker did but anyone can. Docker Engine lets people (or companies) create and share software through Docker images. Using Docker Engine, you don't have to worry about whether your computer can run the software in a Docker image — a Docker container *can always run it*. +Who built the `hello-world` software image though? In this case, Docker did but +anyone can. Docker Engine lets people (or companies) create and share software +through Docker images. Using Docker Engine, you don't have to worry about +whether your computer can run the software in a Docker image — a Docker +container *can always run it*. ## Where to go next -See, that was quick wasn't it? Now, you are ready to do some really fun stuff with Docker. -Go on to the next part [to find and run the whalesay image](step_three.md). - - -  +See, that was quick wasn't it? Now, you are ready to do some really fun stuff +with Docker. Go on to the next part [to find and run the whalesay +image](step_three.md). diff --git a/engine/index.md b/engine/index.md index 691445406f6..6e36fb9715f 100644 --- a/engine/index.md +++ b/engine/index.md @@ -4,15 +4,9 @@ aliases: description: Engine keywords: - Engine -menu: - main: - identifier: engine_use - weight: -85 -title: Docker Engine +title: About Docker Engine --- -# About Docker Engine - **Develop, Ship and Run Any Application, Anywhere** [**Docker**](https://www.docker.com) is a platform for developers and sysadmins diff --git a/engine/installation/binaries.md b/engine/installation/binaries.md index 3ec173684b0..eefef3c4572 100644 --- a/engine/installation/binaries.md +++ b/engine/installation/binaries.md @@ -1,17 +1,10 @@ --- -description: Instructions for installing Docker as a binary. Mostly meant for hackers - who want to try out Docker on a variety of environments. +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: engine_install - weight: 110 -title: Installation from binaries +- binaries, installation, docker, documentation, linux +title: Install Docker from binaries --- -# Installation from binaries - **This instruction set is meant for hackers who want to try out Docker on a variety of environments.** diff --git a/engine/installation/cloud/cloud-ex-aws.md b/engine/installation/cloud/cloud-ex-aws.md index 59d1e0b9f22..b6fa3452a2b 100644 --- a/engine/installation/cloud/cloud-ex-aws.md +++ b/engine/installation/cloud/cloud-ex-aws.md @@ -1,17 +1,10 @@ --- -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. +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: install_cloud -title: 'Example: Manual install on cloud provider' +title: "Example: Manual installation on a cloud provider" --- -# Example: Manual install on cloud provider - You can install Docker Engine directly to servers you have on cloud providers. This example shows how to create an Amazon Web Services (AWS) EC2 instance, and install Docker Engine on it. You can use this same general approach to create Dockerized hosts on other cloud providers. @@ -110,7 +103,7 @@ To get help with your private key file, instance IP address, and how to log into ubuntu@ip-xxx-xx-x-xxx:~$ sudo apt-get purge lxc-docker Reading package lists... Done - Building dependency tree + Building dependency tree Reading state information... Done Package 'lxc-docker' is not installed, so not removed 0 upgraded, 0 newly installed, 0 to remove and 139 not upgraded. @@ -147,7 +140,7 @@ For Ubuntu Trusty (and some other versions), it’s recommended to install the ` ubuntu@ip-xxx-xx-x-xxx:~$ sudo apt-get install docker-engine Reading package lists... Done - Building dependency tree + Building dependency tree Reading state information... Done The following extra packages will be installed: aufs-tools cgroup-lite git git-man liberror-perl diff --git a/engine/installation/cloud/cloud-ex-machine-ocean.md b/engine/installation/cloud/cloud-ex-machine-ocean.md index a5df007c445..afac64df47f 100644 --- a/engine/installation/cloud/cloud-ex-machine-ocean.md +++ b/engine/installation/cloud/cloud-ex-machine-ocean.md @@ -1,16 +1,10 @@ --- -description: Example of using Docker Machine to install Docker Engine on a cloud provider, - using Digital Ocean. +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: install_cloud -title: 'Example: Use Docker Machine to provision cloud hosts' +title: "Example: Use Docker Machine to provision cloud hosts" --- -# Example: Use Docker Machine to provision cloud hosts - Docker Machine driver plugins are available for many cloud platforms, so you can use Machine to provision cloud hosts. When you use Docker Machine for provisioning, you create cloud hosts with Docker Engine installed on them. You'll need to install and run Docker Machine, and create an account with the cloud provider. @@ -110,8 +104,8 @@ To generate your access token: ``` $ docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM - default * virtualbox Running tcp://192.168.99.100:2376 - docker-sandbox - digitalocean Running tcp://45.55.139.48:2376 + default * virtualbox Running tcp://192.168.99.100:2376 + docker-sandbox - digitalocean Running tcp://45.55.139.48:2376 ``` Notice that the new cloud server is running but is not the active host. Our command shell is still connected to the default machine, which is currently the active host as indicated by the asterisk (*). @@ -135,7 +129,7 @@ To generate your access token: ``` $ docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM - default - virtualbox Running tcp://192.168.99.100:2376 + default - virtualbox Running tcp://192.168.99.100:2376 docker-sandbox * digitalocean Running tcp://45.55.222.72:2376 ``` diff --git a/engine/installation/cloud/index.md b/engine/installation/cloud/index.md index ecb2e2315d3..9bfe666e476 100644 --- a/engine/installation/cloud/index.md +++ b/engine/installation/cloud/index.md @@ -8,17 +8,10 @@ aliases: - /engine/installation/joyent/ description: Cloud Installations keywords: -- 'Docker install ' -menu: - main: - identifier: install_cloud - parent: engine_install - weight: "-60" -title: On cloud providers +- Docker install +title: Install Engine on cloud hosts --- -# Install Engine in the cloud - * [Understand cloud install options and choose one](overview.md) * [Example: Use Machine to provision cloud hosts](cloud-ex-machine-ocean.md) * [Example: Manual install on a cloud provider](cloud-ex-aws.md) diff --git a/engine/installation/cloud/overview.md b/engine/installation/cloud/overview.md index 7d996b73c18..9000aa46b6e 100644 --- a/engine/installation/cloud/overview.md +++ b/engine/installation/cloud/overview.md @@ -4,15 +4,9 @@ aliases: description: Installation instructions for Docker on cloud. keywords: - cloud, docker, machine, documentation, installation -menu: - main: - parent: install_cloud - weight: -3 -title: Choose how to install +title: Choose an installation method --- -# Choose how to install - You can install Docker Engine on any cloud platform that runs an operating system (OS) that Docker supports. This includes many flavors and versions of Linux, along with Mac and Windows. You have two options for installing: diff --git a/engine/installation/index.md b/engine/installation/index.md index b85bcada9c8..e78d9ba8726 100644 --- a/engine/installation/index.md +++ b/engine/installation/index.md @@ -5,17 +5,10 @@ aliases: - /engine/installation/frugalware/ description: Lists the installation methods keywords: -- 'Docker install ' -menu: - main: - identifier: engine_install - parent: engine_use - weight: "-81" -title: Install +- Docker install +title: Install Docker Engine --- -# Install Docker Engine - Docker Engine is supported on Linux, Cloud, Windows, and macOS. Installation instructions are available for the following: ## On Linux diff --git a/engine/installation/linux/SUSE.md b/engine/installation/linux/SUSE.md index f8ad09df529..d1c514399f1 100644 --- a/engine/installation/linux/SUSE.md +++ b/engine/installation/linux/SUSE.md @@ -4,14 +4,9 @@ aliases: description: Installation instructions for Docker on openSUSE and on SUSE Linux Enterprise. keywords: - openSUSE, SUSE Linux Enterprise, SUSE, SLE, docker, documentation, installation -menu: - main: - parent: engine_linux -title: Installation on openSUSE and SUSE Linux Enterprise +title: Install Docker on openSUSE and SUSE Linux Enterprise --- -# openSUSE and SUSE Linux Enterprise - This page provides instructions for installing and configuring the latest Docker Engine software on openSUSE and SUSE systems. diff --git a/engine/installation/linux/archlinux.md b/engine/installation/linux/archlinux.md index 28b8de775bb..e612816f88f 100644 --- a/engine/installation/linux/archlinux.md +++ b/engine/installation/linux/archlinux.md @@ -4,14 +4,9 @@ aliases: description: Installation instructions for Docker on ArchLinux. keywords: - arch linux, docker, documentation, installation -menu: - main: - parent: engine_linux -title: Installation on Arch Linux +title: Install Docker on Arch Linux --- -# Arch Linux - Installing on Arch Linux can be handled via the package in community: - [docker](https://www.archlinux.org/packages/community/x86_64/docker/) diff --git a/engine/installation/linux/centos.md b/engine/installation/linux/centos.md index 2d70f260001..6c705199b7e 100644 --- a/engine/installation/linux/centos.md +++ b/engine/installation/linux/centos.md @@ -4,15 +4,9 @@ aliases: description: Instructions for installing Docker on CentOS keywords: - Docker, Docker documentation, requirements, linux, centos, epel, docker.io, docker-io -menu: - main: - parent: engine_linux - weight: -4 -title: Installation on CentOS +title: Install Docker on CentOS --- -# CentOS - Docker runs on CentOS 7.X. An installation on other binary compatible EL7 distributions such as Scientific Linux might succeed, but Docker does not test or support Docker on these distributions. diff --git a/engine/installation/linux/cruxlinux.md b/engine/installation/linux/cruxlinux.md index b37d9dd6415..d35b0a08af1 100644 --- a/engine/installation/linux/cruxlinux.md +++ b/engine/installation/linux/cruxlinux.md @@ -4,14 +4,9 @@ aliases: description: Docker installation on CRUX Linux. keywords: - crux linux, Docker, documentation, installation -menu: - main: - parent: engine_linux -title: Installation on CRUX Linux +title: Install Docker on CRUX Linux --- -# CRUX Linux - Installing on CRUX Linux can be done using the official [contrib](http://crux.nu/portdb/?a=repo&q=contrib) ports: diff --git a/engine/installation/linux/debian.md b/engine/installation/linux/debian.md index 82d064b3a85..dc7ad9360ed 100644 --- a/engine/installation/linux/debian.md +++ b/engine/installation/linux/debian.md @@ -4,15 +4,9 @@ aliases: description: Instructions for installing Docker on Debian. keywords: - Docker, Docker documentation, installation, debian -menu: - main: - parent: engine_linux - weight: -2 -title: Installation on Debian +title: Install Docker on Debian --- -# Debian - Docker is supported on the following versions of Debian: - [*Debian testing stretch (64-bit)*](debian.md#debian-wheezy-stable-7-x-64-bit) diff --git a/engine/installation/linux/fedora.md b/engine/installation/linux/fedora.md index 7087e9e8b06..b3018044013 100644 --- a/engine/installation/linux/fedora.md +++ b/engine/installation/linux/fedora.md @@ -4,15 +4,9 @@ aliases: description: Instructions for installing Docker on Fedora. keywords: - Docker, Docker documentation, Fedora, requirements, linux -menu: - main: - parent: engine_linux - weight: -3 -title: Installation on Fedora +title: Install Docker on Fedora --- -# Fedora - Docker is supported on Fedora version 22, 23, and 24. These instructions install Docker using release packages and installation mechanisms managed by Docker, to be sure that you get the latest version of Docker. If you wish to install using diff --git a/engine/installation/linux/gentoolinux.md b/engine/installation/linux/gentoolinux.md index cb87d2f47ac..848a415b471 100644 --- a/engine/installation/linux/gentoolinux.md +++ b/engine/installation/linux/gentoolinux.md @@ -4,21 +4,16 @@ aliases: description: Installation instructions for Docker on Gentoo. keywords: - gentoo linux, docker, documentation, installation -menu: - main: - parent: engine_linux -title: Installation on Gentoo +title: Install Docker on Gentoo --- -# Gentoo - Installing Docker on Gentoo Linux can be accomplished using one of two ways: the **official** way and the `docker-overlay` way. Official project page of [Gentoo Docker](https://wiki.gentoo.org/wiki/Project:Docker) team. ## Official way -The first and recommended way if you are looking for a stable -experience is to use the official `app-emulation/docker` package directly +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 @@ -64,7 +59,7 @@ prompt for all necessary kernel options. $ sudo emerge -av app-emulation/docker >Note: Sometimes there is a disparity between the latest versions ->in the official **Gentoo tree** and the **docker-overlay**. +>in the official **Gentoo tree** and the **docker-overlay**. >Please be patient, and the latest version should propagate shortly. ## Starting Docker @@ -73,7 +68,7 @@ Ensure that you are running a kernel that includes all the necessary 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, the `docker` daemon must be running as **root**. To use Docker as a **non-root** user, add yourself to the **docker** group by running the following command: diff --git a/engine/installation/linux/index.md b/engine/installation/linux/index.md index a0d4868ce1e..4a2ca174d7f 100644 --- a/engine/installation/linux/index.md +++ b/engine/installation/linux/index.md @@ -5,17 +5,11 @@ keywords: - engine - install - linux -menu: - main: - identifier: engine_linux - parent: engine_install - weight: "-70" -title: On Linux distributions +title: Install Docker on Linux distributions --- -# Install Docker Engine on Linux - -Docker Engine is supported on several Linux distributions. Installation instructions are available for the following: +Docker Engine is supported on several Linux distributions. Installation +instructions are available for the following: * [Arch Linux](archlinux.md) * [CentOS](centos.md) @@ -28,4 +22,6 @@ Docker Engine is supported on several Linux distributions. Installation instruct * [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). +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/engine/installation/linux/oracle.md b/engine/installation/linux/oracle.md index f99fd52de45..3380f5933d8 100644 --- a/engine/installation/linux/oracle.md +++ b/engine/installation/linux/oracle.md @@ -4,14 +4,9 @@ aliases: description: Installation instructions for Docker on Oracle Linux. keywords: - Docker, Docker documentation, requirements, linux, rhel, centos, oracle, ol -menu: - main: - parent: engine_linux -title: Installation on Oracle Linux +title: Install Docker on Oracle Linux --- -# Oracle Linux - Docker is supported on Oracle Linux 6 and 7. You do not require an Oracle Linux Support subscription to install Docker on Oracle Linux. diff --git a/engine/installation/linux/rhel.md b/engine/installation/linux/rhel.md index 16ea852478b..3ca0ea36746 100644 --- a/engine/installation/linux/rhel.md +++ b/engine/installation/linux/rhel.md @@ -5,15 +5,9 @@ aliases: description: Instructions for installing Docker on Red Hat Enterprise Linux. keywords: - Docker, Docker documentation, requirements, linux, rhel -menu: - main: - parent: engine_linux - weight: -5 -title: Installation on Red Hat Enterprise Linux +title: Install Docker on Red Hat Enterprise Linux --- -# Red Hat Enterprise Linux - Docker is supported on Red Hat Enterprise Linux 7. These instructions install Docker using release packages and installation mechanisms managed by Docker, to be sure that you get the latest version of Docker. If you wish to install diff --git a/engine/installation/linux/ubuntulinux.md b/engine/installation/linux/ubuntulinux.md index b188aa13cda..7a01d3d1662 100644 --- a/engine/installation/linux/ubuntulinux.md +++ b/engine/installation/linux/ubuntulinux.md @@ -5,15 +5,9 @@ aliases: description: 'Instructions for installing Docker on Ubuntu. ' keywords: - Docker, Docker documentation, requirements, apt, installation, ubuntu -menu: - main: - parent: engine_linux - weight: -6 -title: 'Installation on Ubuntu ' +title: Install Docker on Ubuntu --- -# Ubuntu - Docker is supported on these Ubuntu operating systems: - Ubuntu Xenial 16.04 (LTS) diff --git a/engine/installation/mac.md b/engine/installation/mac.md index d534aec1578..8315dfd4056 100644 --- a/engine/installation/mac.md +++ b/engine/installation/mac.md @@ -1,17 +1,10 @@ --- description: Docker installation on macOS keywords: -- Docker, Docker documentation, requirements, boot2docker, VirtualBox, SSH, Linux, - osx, os x, macOS, Mac -menu: - main: - parent: engine_install - weight: "-90" -title: Installation on macOS +- Docker, Docker documentation, requirements, boot2docker, VirtualBox, SSH, Linux, osx, os x, macOS, Mac +title: Install Docker on macOS --- -# macOS - You have two options for installing Docker on Mac: - [Docker for Mac](mac.md#docker-for-mac) diff --git a/engine/installation/windows.md b/engine/installation/windows.md index 3ae7e62182c..c8e88438295 100644 --- a/engine/installation/windows.md +++ b/engine/installation/windows.md @@ -2,15 +2,9 @@ description: Docker installation on Microsoft Windows keywords: - Docker, Docker documentation, Windows, requirements, virtualbox, boot2docker -menu: - main: - parent: engine_install - weight: "-80" -title: Installation on Windows +title: Install Docker on Windows --- -# Windows - You have two options for installing Docker on Windows: - [Docker for Windows](windows.md#docker-for-windows) diff --git a/engine/migration.md b/engine/migration.md index 52ada60167b..ebad0541c27 100644 --- a/engine/migration.md +++ b/engine/migration.md @@ -2,15 +2,9 @@ description: Migrate to Engine 1.10 keywords: - docker, documentation, engine, upgrade, migration -menu: - main: - parent: engine_use - weight: 79 title: Migrate to Engine 1.10 --- -# Migrate to Engine 1.10 - Starting from version 1.10 of Docker Engine, we completely change the way image data is addressed on disk. Previously, every image and layer used a randomly assigned UUID. In 1.10 we implemented a content addressable method using an ID, diff --git a/engine/reference/api/docker-io_api.md b/engine/reference/api/docker-io_api.md index b3af9d16b96..55f30a6722d 100644 --- a/engine/reference/api/docker-io_api.md +++ b/engine/reference/api/docker-io_api.md @@ -5,14 +5,8 @@ description: API Documentation for the Docker Hub API published: false keywords: - API, Docker, index, REST, documentation, Docker Hub, registry -menu: - main: - parent: engine_remoteapi - weight: 99 title: Docker Hub API --- -# Docker Hub API - This API is deprecated as of 1.7. To view the old version, see the [Docker Hub API](/v1.7/docker/reference/api/docker-io_api/) in the 1.7 documentation. diff --git a/engine/reference/api/docker_io_accounts_api.md b/engine/reference/api/docker_io_accounts_api.md index 699c3cc7b72..d4499907b86 100644 --- a/engine/reference/api/docker_io_accounts_api.md +++ b/engine/reference/api/docker_io_accounts_api.md @@ -4,15 +4,9 @@ aliases: description: API Documentation for docker.io accounts. keywords: - API, Docker, accounts, REST, documentation -menu: - main: - parent: engine_remoteapi - weight: 90 -title: docker.io accounts API +title: Accounts API for docker.io --- -# docker.io accounts API - ## Get a single user `GET /api/v1.1/users/:username/` diff --git a/engine/reference/api/docker_remote_api.md b/engine/reference/api/docker_remote_api.md index ecf1869dffe..0114ea52357 100644 --- a/engine/reference/api/docker_remote_api.md +++ b/engine/reference/api/docker_remote_api.md @@ -4,15 +4,9 @@ aliases: description: API Documentation for Docker keywords: - API, Docker, rcli, REST, documentation -menu: - main: - parent: engine_remoteapi - weight: -99 -title: Remote API +title: Docker Remote API --- -# Docker Remote API - Docker's Remote API uses an open schema model. In this model, unknown properties in incoming messages are ignored. Client applications need to take this behavior into account to ensure they do not break when talking to newer diff --git a/engine/reference/api/docker_remote_api_v1.18.md b/engine/reference/api/docker_remote_api_v1.18.md index ac601a5ff1e..fcd85b78a3f 100644 --- a/engine/reference/api/docker_remote_api_v1.18.md +++ b/engine/reference/api/docker_remote_api_v1.18.md @@ -4,15 +4,9 @@ aliases: description: API Documentation for Docker keywords: - API, Docker, rcli, REST, documentation -menu: - main: - parent: engine_remoteapi - weight: 3 -title: Remote API v1.18 +title: Docker Remote API v1.18 --- -# Docker Remote API v1.18 - ## 1. Brief introduction - The Remote API has replaced `rcli`. diff --git a/engine/reference/api/docker_remote_api_v1.19.md b/engine/reference/api/docker_remote_api_v1.19.md index bb618ad7511..a742f7120a8 100644 --- a/engine/reference/api/docker_remote_api_v1.19.md +++ b/engine/reference/api/docker_remote_api_v1.19.md @@ -4,15 +4,9 @@ aliases: description: API Documentation for Docker keywords: - API, Docker, rcli, REST, documentation -menu: - main: - parent: engine_remoteapi - weight: 2 -title: Remote API v1.19 +title: Docker Remote API v1.19 --- -# Docker Remote API v1.19 - ## 1. Brief introduction - The Remote API has replaced `rcli`. diff --git a/engine/reference/api/docker_remote_api_v1.20.md b/engine/reference/api/docker_remote_api_v1.20.md index 827f4157d5d..63eef947337 100644 --- a/engine/reference/api/docker_remote_api_v1.20.md +++ b/engine/reference/api/docker_remote_api_v1.20.md @@ -4,15 +4,9 @@ aliases: description: API Documentation for Docker keywords: - API, Docker, rcli, REST, documentation -menu: - main: - parent: engine_remoteapi - weight: 1 -title: Remote API v1.20 +title: Docker Remote API v1.20 --- -# Docker Remote API v1.20 - ## 1. Brief introduction - The Remote API has replaced `rcli`. diff --git a/engine/reference/api/docker_remote_api_v1.21.md b/engine/reference/api/docker_remote_api_v1.21.md index b2cbfde6db0..6f78f4f4d58 100644 --- a/engine/reference/api/docker_remote_api_v1.21.md +++ b/engine/reference/api/docker_remote_api_v1.21.md @@ -4,15 +4,9 @@ aliases: description: API Documentation for Docker keywords: - API, Docker, rcli, REST, documentation -menu: - main: - parent: engine_remoteapi - weight: -2 -title: Remote API v1.21 +title: Docker Remote API v1.21 --- -# Docker Remote API v1.21 - ## 1. Brief introduction - The Remote API has replaced `rcli`. diff --git a/engine/reference/api/docker_remote_api_v1.22.md b/engine/reference/api/docker_remote_api_v1.22.md index ae51269a34c..9631181f4f5 100644 --- a/engine/reference/api/docker_remote_api_v1.22.md +++ b/engine/reference/api/docker_remote_api_v1.22.md @@ -4,15 +4,9 @@ aliases: description: API Documentation for Docker keywords: - API, Docker, rcli, REST, documentation -menu: - main: - parent: engine_remoteapi - weight: -3 -title: Remote API v1.22 +title: Docker Remote API v1.22 --- -# Docker Remote API v1.22 - ## 1. Brief introduction - The Remote API has replaced `rcli`. diff --git a/engine/reference/api/docker_remote_api_v1.23.md b/engine/reference/api/docker_remote_api_v1.23.md index ab7731b9652..7496135e1bc 100644 --- a/engine/reference/api/docker_remote_api_v1.23.md +++ b/engine/reference/api/docker_remote_api_v1.23.md @@ -4,15 +4,9 @@ aliases: description: API Documentation for Docker keywords: - API, Docker, rcli, REST, documentation -menu: - main: - parent: engine_remoteapi - weight: -4 -title: Remote API v1.23 +title: Docker Remote API v1.23 --- -# Docker Remote API v1.23 - ## 1. Brief introduction - The Remote API has replaced `rcli`. diff --git a/engine/reference/api/docker_remote_api_v1.24.md b/engine/reference/api/docker_remote_api_v1.24.md index a54d0689e88..9fddd99f86b 100644 --- a/engine/reference/api/docker_remote_api_v1.24.md +++ b/engine/reference/api/docker_remote_api_v1.24.md @@ -4,15 +4,9 @@ aliases: description: API Documentation for Docker keywords: - API, Docker, rcli, REST, documentation -menu: - main: - parent: engine_remoteapi - weight: -5 -title: Remote API v1.24 +title: Docker Remote API v1.24 --- -# Docker Remote API v1.24 - # 1. Brief introduction - The Remote API has replaced `rcli`. diff --git a/engine/reference/api/docker_remote_api_v1.25.md b/engine/reference/api/docker_remote_api_v1.25.md index 5c62ef1253b..cadf58109b8 100644 --- a/engine/reference/api/docker_remote_api_v1.25.md +++ b/engine/reference/api/docker_remote_api_v1.25.md @@ -5,15 +5,9 @@ description: API Documentation for Docker published: false keywords: - API, Docker, rcli, REST, documentation -menu: - main: - parent: engine_remoteapi - weight: -6 -title: Remote API v1.25 +title: Docker Remote API v1.25 --- -# Docker Remote API v1.25 - # 1. Brief introduction - The Remote API has replaced `rcli`. diff --git a/engine/reference/api/hub_registry_spec.md b/engine/reference/api/hub_registry_spec.md index 33a65c589ee..fccc980620d 100644 --- a/engine/reference/api/hub_registry_spec.md +++ b/engine/reference/api/hub_registry_spec.md @@ -5,14 +5,9 @@ description: Documentation for docker Registry and Registry API published: false keywords: - docker, registry, api, hub -menu: - main: - parent: smn_hub_ref -title: The Docker Hub and the Registry v1 +title: Docker Hub and Registry v1 --- -# The Docker Hub and the Registry v1 - This API is deprecated as of 1.7. To view the old version, see the [go here](/v1.7/docker/reference/api/hub_registry_spec/) in the 1.7 documentation. If you want an overview of the current features in diff --git a/engine/reference/api/index.md b/engine/reference/api/index.md index b098b9efcf9..7c92795fdd6 100644 --- a/engine/reference/api/index.md +++ b/engine/reference/api/index.md @@ -4,14 +4,8 @@ aliases: description: Reference keywords: - Engine -menu: - main: - identifier: engine_remoteapi - parent: engine_ref -title: API Reference +title: API reference --- -# API Reference - * [Docker Remote API](docker_remote_api.md) * [Docker Remote API client libraries](remote_api_client_libraries.md) diff --git a/engine/reference/api/remote_api_client_libraries.md b/engine/reference/api/remote_api_client_libraries.md index 121e8bc9e13..0b962e13e32 100644 --- a/engine/reference/api/remote_api_client_libraries.md +++ b/engine/reference/api/remote_api_client_libraries.md @@ -3,17 +3,10 @@ aliases: - /reference/api/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: engine_remoteapi - weight: 90 -title: Remote API client libraries +- API, Docker, index, registry, REST, documentation, clients, C#, Erlang, Go, Groovy, Java, JavaScript, Perl, PHP, Python, Ruby, Rust, Scala +title: Docker Remote API client libraries --- -# Docker Remote API client libraries - These libraries make it easier to build applications on top of the Docker Remote API with various programming languages. They have not been tested by the Docker maintainers for compatibility, so if you run into any issues, file them diff --git a/engine/reference/builder.md b/engine/reference/builder.md index ba86306c016..e17c0b7c06e 100644 --- a/engine/reference/builder.md +++ b/engine/reference/builder.md @@ -1,19 +1,12 @@ --- aliases: - /reference/builder/ -description: Dockerfiles use a simple DSL which allows you to automate the steps you - would normally manually take to create an image. +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: engine_ref - weight: -90 title: Dockerfile reference --- -# Dockerfile reference - Docker can build images automatically by reading the instructions from a `Dockerfile`. A `Dockerfile` is a text document that contains all the commands a user could call on the command line to assemble an image. Using `docker build` diff --git a/engine/reference/commandline/attach.md b/engine/reference/commandline/attach.md index 3a149b09f5e..35e99fb2675 100644 --- a/engine/reference/commandline/attach.md +++ b/engine/reference/commandline/attach.md @@ -4,14 +4,9 @@ aliases: description: The attach command description and usage keywords: - attach, running, container -menu: - main: - parent: smn_cli -title: attach +title: docker attach --- -# attach - ```markdown Usage: docker attach [OPTIONS] CONTAINER @@ -44,13 +39,13 @@ the container. You can detach from a container and leave it running using the It is forbidden to redirect the standard input of a `docker attach` command while attaching to a tty-enabled container (i.e.: launched with `-t`). -While a client is connected to container's stdio using `docker attach`, Docker -uses a ~1MB memory buffer to maximize the throughput of the application. If -this buffer is filled, the speed of the API connection will start to have an -effect on the process output writing speed. This is similar to other -applications like SSH. Because of this, it is not recommended to run -performance critical applications that generate a lot of output in the -foreground over a slow client connection. Instead, users should use the +While a client is connected to container's stdio using `docker attach`, Docker +uses a ~1MB memory buffer to maximize the throughput of the application. If +this buffer is filled, the speed of the API connection will start to have an +effect on the process output writing speed. This is similar to other +applications like SSH. Because of this, it is not recommended to run +performance critical applications that generate a lot of output in the +foreground over a slow client connection. Instead, users should use the `docker logs` command to get access to the logs. diff --git a/engine/reference/commandline/build.md b/engine/reference/commandline/build.md index de4466d59aa..5ceb8888075 100644 --- a/engine/reference/commandline/build.md +++ b/engine/reference/commandline/build.md @@ -4,14 +4,9 @@ aliases: description: The build command description and usage keywords: - build, docker, image -menu: - main: - parent: smn_cli -title: build +title: docker build --- -# build - ```markdown Usage: docker build [OPTIONS] PATH | URL | - diff --git a/engine/reference/commandline/cli.md b/engine/reference/commandline/cli.md index 9baf03b5561..2ddb09dff39 100644 --- a/engine/reference/commandline/cli.md +++ b/engine/reference/commandline/cli.md @@ -4,15 +4,9 @@ aliases: description: Docker's CLI command description and usage keywords: - Docker, Docker documentation, CLI, command line -menu: - main: - parent: smn_cli - weight: -2 -title: Use the Docker command line +title: Use the Docker Engine command-line --- -# Use the Docker command line - To list available commands, either run `docker` with no parameters or execute `docker help`: @@ -124,7 +118,7 @@ directives, see the Once attached to a container, users detach from it and leave it running using the using `CTRL-p CTRL-q` key sequence. This detach key sequence is customizable using the `detachKeys` property. Specify a `` value for the -property. The format of the `` is a comma-separated list of either +property. The format of the `` is a comma-separated list of either a letter [a-Z], or the `ctrl-` combined with any of the following: * `a-z` (a single lowercase alpha character ) diff --git a/engine/reference/commandline/commit.md b/engine/reference/commandline/commit.md index e26051d65e2..1a31c617d1b 100644 --- a/engine/reference/commandline/commit.md +++ b/engine/reference/commandline/commit.md @@ -4,14 +4,9 @@ aliases: description: The commit command description and usage keywords: - commit, file, changes -menu: - main: - parent: smn_cli -title: commit +title: docker commit --- -# commit - ```markdown Usage: docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] @@ -70,7 +65,7 @@ created. Supported `Dockerfile` instructions: [HOME=/ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin DEBUG=true] {% endraw %} -## Commit a container with new `CMD` and `EXPOSE` instructions +## Commit a container with new `CMD` and `EXPOSE` instructions $ docker ps ID IMAGE COMMAND CREATED STATUS PORTS @@ -79,7 +74,7 @@ created. Supported `Dockerfile` instructions: $ docker commit --change='CMD ["apachectl", "-DFOREGROUND"]' -c "EXPOSE 80" c3f279d17e0a svendowideit/testimage:version4 f5283438590d - + $ docker run -d svendowideit/testimage:version4 89373736e2e7f00bc149bd783073ac43d0507da250e999f3f1036e0db60817c0 diff --git a/engine/reference/commandline/cp.md b/engine/reference/commandline/cp.md index e93f53ef665..f4ae5f39065 100644 --- a/engine/reference/commandline/cp.md +++ b/engine/reference/commandline/cp.md @@ -4,14 +4,9 @@ aliases: description: The cp command description and usage keywords: - copy, container, files, folders -menu: - main: - parent: smn_cli -title: cp +title: docker cp --- -# cp - ```markdown Usage: docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|- docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH @@ -35,7 +30,7 @@ either the `SRC_PATH` or `DEST_PATH`, you can also stream a tar archive from `STDIN` or to `STDOUT`. The `CONTAINER` can be a running or stopped container. The `SRC_PATH` or `DEST_PATH` can be a file or directory. -The `docker cp` command assumes container paths are relative to the container's +The `docker cp` command assumes container paths are relative to the container's `/` (root) directory. This means supplying the initial forward slash is optional; The command sees `compassionate_darwin:/tmp/foo/myfile.txt` and `compassionate_darwin:tmp/foo/myfile.txt` as identical. Local machine paths can @@ -80,7 +75,7 @@ argument of `DEST_PATH`, the behavior is as follows: The command requires `SRC_PATH` and `DEST_PATH` to exist according to the above rules. If `SRC_PATH` is local and is a symbolic link, the symbolic link, not -the target, is copied by default. To copy the link target and not the link, specify +the target, is copied by default. To copy the link target and not the link, specify the `-L` option. A colon (`:`) is used as a delimiter between `CONTAINER` and its path. You can diff --git a/engine/reference/commandline/create.md b/engine/reference/commandline/create.md index 5b0ffd2dedf..f64e70b358a 100644 --- a/engine/reference/commandline/create.md +++ b/engine/reference/commandline/create.md @@ -4,14 +4,9 @@ aliases: description: The create command description and usage keywords: - docker, create, container -menu: - main: - parent: smn_cli -title: create +title: docker create --- -# create - Creates a new container. ```markdown @@ -171,8 +166,8 @@ Set storage driver options per container. $ docker create -it --storage-opt size=120G fedora /bin/bash -This (size) will allow to set the container rootfs size to 120G at creation time. -User cannot pass a size less than the Default BaseFS Size. This option is only +This (size) will allow to set the container rootfs size to 120G at creation time. +User cannot pass a size less than the Default BaseFS Size. This option is only available for the `devicemapper`, `btrfs`, and `zfs` graph drivers. ### Specify isolation technology for container (--isolation) diff --git a/engine/reference/commandline/deploy.md b/engine/reference/commandline/deploy.md index cbca20d1092..3c952eabc46 100644 --- a/engine/reference/commandline/deploy.md +++ b/engine/reference/commandline/deploy.md @@ -5,14 +5,9 @@ advisory: experimental description: The deploy command description and usage keywords: - stack, deploy -menu: - main: - parent: smn_cli -title: deploy +title: docker deploy --- -# stack deploy (experimental) - ```markdown Usage: docker deploy [OPTIONS] STACK diff --git a/engine/reference/commandline/diff.md b/engine/reference/commandline/diff.md index 34dbe12c346..a2987c94a2b 100644 --- a/engine/reference/commandline/diff.md +++ b/engine/reference/commandline/diff.md @@ -4,14 +4,9 @@ aliases: description: The diff command description and usage keywords: - list, changed, files, container -menu: - main: - parent: smn_cli -title: diff +title: docker diff --- -# diff - ```markdown Usage: docker diff CONTAINER diff --git a/engine/reference/commandline/dockerd.md b/engine/reference/commandline/dockerd.md index 5eaf9026bdf..bfb9028dba7 100644 --- a/engine/reference/commandline/dockerd.md +++ b/engine/reference/commandline/dockerd.md @@ -6,15 +6,9 @@ aliases: description: The daemon command description and usage keywords: - container, daemon, runtime -menu: - main: - parent: smn_cli - weight: -1 title: dockerd --- -# daemon - ```markdown Usage: dockerd [OPTIONS] diff --git a/engine/reference/commandline/events.md b/engine/reference/commandline/events.md index 6841cf0b4cd..8a9bbb3c4db 100644 --- a/engine/reference/commandline/events.md +++ b/engine/reference/commandline/events.md @@ -4,14 +4,9 @@ aliases: description: The events command description and usage keywords: - events, container, report -menu: - main: - parent: smn_cli -title: events +title: docker events --- -# events - ```markdown Usage: docker events [OPTIONS] diff --git a/engine/reference/commandline/exec.md b/engine/reference/commandline/exec.md index fd5a4003757..90e63275b8b 100644 --- a/engine/reference/commandline/exec.md +++ b/engine/reference/commandline/exec.md @@ -4,14 +4,9 @@ aliases: description: The exec command description and usage keywords: - command, container, run, execute -menu: - main: - parent: smn_cli -title: exec +title: docker exec --- -# exec - ```markdown Usage: docker exec [OPTIONS] CONTAINER COMMAND [ARG...] diff --git a/engine/reference/commandline/export.md b/engine/reference/commandline/export.md index b1c0d480ad2..a6974985322 100644 --- a/engine/reference/commandline/export.md +++ b/engine/reference/commandline/export.md @@ -4,14 +4,9 @@ aliases: description: The export command description and usage keywords: - export, file, system, container -menu: - main: - parent: smn_cli -title: export +title: docker export --- -# export - ```markdown Usage: docker export [OPTIONS] CONTAINER diff --git a/engine/reference/commandline/history.md b/engine/reference/commandline/history.md index 6f979401170..e9e707a9b92 100644 --- a/engine/reference/commandline/history.md +++ b/engine/reference/commandline/history.md @@ -4,14 +4,9 @@ aliases: description: The history command description and usage keywords: - docker, image, history -menu: - main: - parent: smn_cli -title: history +title: docker history --- -# history - ```markdown Usage: docker history [OPTIONS] IMAGE diff --git a/engine/reference/commandline/images.md b/engine/reference/commandline/images.md index fb8ca41ba40..ddfe9bfcff9 100644 --- a/engine/reference/commandline/images.md +++ b/engine/reference/commandline/images.md @@ -4,14 +4,9 @@ aliases: description: The images command description and usage keywords: - list, docker, images -menu: - main: - parent: smn_cli -title: images +title: docker images --- -# images - ```markdown Usage: docker images [OPTIONS] [REPOSITORY[:TAG]] diff --git a/engine/reference/commandline/import.md b/engine/reference/commandline/import.md index 15bd60bf112..1f6a901fc27 100644 --- a/engine/reference/commandline/import.md +++ b/engine/reference/commandline/import.md @@ -4,14 +4,9 @@ aliases: description: The import command description and usage keywords: - import, file, system, container -menu: - main: - parent: smn_cli -title: import +title: docker import --- -# import - ```markdown Usage: docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]] diff --git a/engine/reference/commandline/index.md b/engine/reference/commandline/index.md index e0bf8ca5045..5d363d3c3af 100644 --- a/engine/reference/commandline/index.md +++ b/engine/reference/commandline/index.md @@ -4,16 +4,9 @@ aliases: description: Docker's CLI command description and usage keywords: - Docker, Docker documentation, CLI, command line -menu: - main: - identifier: smn_cli_guide - parent: smn_cli - weight: -70 -title: Docker commands +title: The Docker commands --- -# The Docker commands - This section contains reference information on using Docker's command line client. Each command has a reference page along with samples. If you are unfamiliar with the command line, you should start by reading about how to [Use diff --git a/engine/reference/commandline/info.md b/engine/reference/commandline/info.md index c1a90b70be3..f1f1ee8cbdb 100644 --- a/engine/reference/commandline/info.md +++ b/engine/reference/commandline/info.md @@ -4,14 +4,9 @@ aliases: description: The info command description and usage keywords: - display, docker, information -menu: - main: - parent: smn_cli -title: info +title: docker info --- -# info - ```markdown Usage: docker info @@ -56,7 +51,7 @@ storage driver and a node that is part of a 2-node swarm: Plugins: Volume: local Network: bridge null host overlay - Swarm: + Swarm: NodeID: 0gac67oclbxq7 Is Manager: true Managers: 2 diff --git a/engine/reference/commandline/inspect.md b/engine/reference/commandline/inspect.md index 6bf9f2cd071..83cb4bd3ea4 100644 --- a/engine/reference/commandline/inspect.md +++ b/engine/reference/commandline/inspect.md @@ -4,14 +4,9 @@ aliases: description: The inspect command description and usage keywords: - inspect, container, json -menu: - main: - parent: smn_cli -title: inspect +title: docker inspect --- -# inspect - ```markdown Usage: docker inspect [OPTIONS] CONTAINER|IMAGE|TASK [CONTAINER|IMAGE|TASK...] diff --git a/engine/reference/commandline/kill.md b/engine/reference/commandline/kill.md index bef7d6ef6af..3a5fdf6aaf2 100644 --- a/engine/reference/commandline/kill.md +++ b/engine/reference/commandline/kill.md @@ -4,14 +4,9 @@ aliases: description: The kill command description and usage keywords: - container, kill, signal -menu: - main: - parent: smn_cli -title: kill +title: docker kill --- -# kill - ```markdown Usage: docker kill [OPTIONS] CONTAINER [CONTAINER...] diff --git a/engine/reference/commandline/load.md b/engine/reference/commandline/load.md index a527fbec6ce..2bc7d067719 100644 --- a/engine/reference/commandline/load.md +++ b/engine/reference/commandline/load.md @@ -4,14 +4,9 @@ aliases: description: The load command description and usage keywords: - stdin, tarred, repository -menu: - main: - parent: smn_cli -title: load +title: docker load --- -# load - ```markdown Usage: docker load [OPTIONS] diff --git a/engine/reference/commandline/login.md b/engine/reference/commandline/login.md index ea7725d43bd..01a987badad 100644 --- a/engine/reference/commandline/login.md +++ b/engine/reference/commandline/login.md @@ -4,14 +4,9 @@ aliases: description: The login command description and usage keywords: - registry, login, image -menu: - main: - parent: smn_cli -title: login +title: docker login --- -# login - ```markdown Usage: docker login [OPTIONS] [SERVER] diff --git a/engine/reference/commandline/logout.md b/engine/reference/commandline/logout.md index 5374ddb8f60..71b7783b454 100644 --- a/engine/reference/commandline/logout.md +++ b/engine/reference/commandline/logout.md @@ -4,14 +4,9 @@ aliases: description: The logout command description and usage keywords: - logout, docker, registry -menu: - main: - parent: smn_cli -title: logout +title: docker logout --- -# logout - ```markdown Usage: docker logout [SERVER] diff --git a/engine/reference/commandline/logs.md b/engine/reference/commandline/logs.md index 64cbc38092d..d776a4890bd 100644 --- a/engine/reference/commandline/logs.md +++ b/engine/reference/commandline/logs.md @@ -4,14 +4,9 @@ aliases: description: The logs command description and usage keywords: - logs, retrieve, docker -menu: - main: - parent: smn_cli -title: logs +title: docker logs --- -# logs - ```markdown Usage: docker logs [OPTIONS] CONTAINER diff --git a/engine/reference/commandline/network_connect.md b/engine/reference/commandline/network_connect.md index 8e123aaddb2..2911ae487aa 100644 --- a/engine/reference/commandline/network_connect.md +++ b/engine/reference/commandline/network_connect.md @@ -4,14 +4,9 @@ aliases: description: The network connect command description and usage keywords: - network, connect, user-defined -menu: - main: - parent: smn_cli -title: network connect +title: docker network connect --- -# network connect - ```markdown Usage: docker network connect [OPTIONS] NETWORK CONTAINER diff --git a/engine/reference/commandline/network_create.md b/engine/reference/commandline/network_create.md index bc04f2c2ba8..a2e0ad9c09d 100644 --- a/engine/reference/commandline/network_create.md +++ b/engine/reference/commandline/network_create.md @@ -4,14 +4,9 @@ aliases: description: The network create command description and usage keywords: - network, create -menu: - main: - parent: smn_cli -title: network create +title: docker network create --- -# network create - ```markdown Usage: docker network create [OPTIONS] NETWORK @@ -135,7 +130,7 @@ support it you can create multiple subnetworks. $ docker network create -d overlay \ --subnet=192.168.0.0/16 \ --subnet=192.170.0.0/16 \ - --gateway=192.168.0.100 \ + --gateway=192.168.0.100 \ --gateway=192.170.0.100 \ --ip-range=192.168.1.0/24 \ --aux-address="my-router=192.168.1.5" --aux-address="my-switch=192.168.1.6" \ diff --git a/engine/reference/commandline/network_disconnect.md b/engine/reference/commandline/network_disconnect.md index 3f32ae07c39..fbfd1042997 100644 --- a/engine/reference/commandline/network_disconnect.md +++ b/engine/reference/commandline/network_disconnect.md @@ -4,14 +4,9 @@ aliases: description: The network disconnect command description and usage keywords: - network, disconnect, user-defined -menu: - main: - parent: smn_cli -title: network disconnect +title: docker network disconnect --- -# network disconnect - ```markdown Usage: docker network disconnect [OPTIONS] NETWORK CONTAINER diff --git a/engine/reference/commandline/network_inspect.md b/engine/reference/commandline/network_inspect.md index deaacc6d05e..27b7d34fe21 100644 --- a/engine/reference/commandline/network_inspect.md +++ b/engine/reference/commandline/network_inspect.md @@ -4,14 +4,9 @@ aliases: description: The network inspect command description and usage keywords: - network, inspect, user-defined -menu: - main: - parent: smn_cli -title: network inspect +title: docker network inspect --- -# network inspect - ```markdown Usage: docker network inspect [OPTIONS] NETWORK [NETWORK...] diff --git a/engine/reference/commandline/network_ls.md b/engine/reference/commandline/network_ls.md index ce886e8b763..c9d401ea1b6 100644 --- a/engine/reference/commandline/network_ls.md +++ b/engine/reference/commandline/network_ls.md @@ -4,14 +4,9 @@ aliases: description: The network ls command description and usage keywords: - network, list, user-defined -menu: - main: - parent: smn_cli -title: network ls +title: docker network ls --- -# docker network ls - ```markdown Usage: docker network ls [OPTIONS] diff --git a/engine/reference/commandline/network_rm.md b/engine/reference/commandline/network_rm.md index 4133f84b864..8a754420ae4 100644 --- a/engine/reference/commandline/network_rm.md +++ b/engine/reference/commandline/network_rm.md @@ -4,14 +4,9 @@ aliases: description: the network rm command description and usage keywords: - network, rm, user-defined -menu: - main: - parent: smn_cli -title: network rm +title: docker network rm --- -# network rm - ```markdown Usage: docker network rm NETWORK [NETWORK...] diff --git a/engine/reference/commandline/node_demote.md b/engine/reference/commandline/node_demote.md index 3d151ad31c8..e89e07f6f82 100644 --- a/engine/reference/commandline/node_demote.md +++ b/engine/reference/commandline/node_demote.md @@ -4,14 +4,9 @@ aliases: description: The node demote command description and usage keywords: - node, demote -menu: - main: - parent: smn_cli -title: node demote +title: docker node demote --- -# node demote - ```markdown Usage: docker node demote NODE [NODE...] diff --git a/engine/reference/commandline/node_inspect.md b/engine/reference/commandline/node_inspect.md index ac31b8df256..0470eef3291 100644 --- a/engine/reference/commandline/node_inspect.md +++ b/engine/reference/commandline/node_inspect.md @@ -4,16 +4,11 @@ aliases: description: The node inspect command description and usage keywords: - node, inspect -menu: - main: - parent: smn_cli -title: node inspect +title: docker node inspect --- **Warning:** this command is part of the Swarm management feature introduced in Docker 1.12, and might be subject to non backward-compatible changes. -# node inspect - ```markdown Usage: docker node inspect [OPTIONS] self|NODE [NODE...] diff --git a/engine/reference/commandline/node_ls.md b/engine/reference/commandline/node_ls.md index 956df28ec34..0cb339259db 100644 --- a/engine/reference/commandline/node_ls.md +++ b/engine/reference/commandline/node_ls.md @@ -4,16 +4,11 @@ aliases: description: The node ls command description and usage keywords: - node, list -menu: - main: - parent: smn_cli -title: node ls +title: docker node ls --- **Warning:** this command is part of the Swarm management feature introduced in Docker 1.12, and might be subject to non backward-compatible changes. -# node ls - ```markdown Usage: docker node ls [OPTIONS] diff --git a/engine/reference/commandline/node_promote.md b/engine/reference/commandline/node_promote.md index 6f11fc495fe..3e81d069cd2 100644 --- a/engine/reference/commandline/node_promote.md +++ b/engine/reference/commandline/node_promote.md @@ -4,14 +4,9 @@ aliases: description: The node promote command description and usage keywords: - node, promote -menu: - main: - parent: smn_cli -title: node promote +title: docker node promote --- -# node promote - ```markdown Usage: docker node promote NODE [NODE...] diff --git a/engine/reference/commandline/node_ps.md b/engine/reference/commandline/node_ps.md index 2bfe0e4c2ad..1512a511b01 100644 --- a/engine/reference/commandline/node_ps.md +++ b/engine/reference/commandline/node_ps.md @@ -7,16 +7,11 @@ description: The node ps command description and usage keywords: - node, tasks - ps -menu: - main: - parent: smn_cli -title: node ps +title: docker node ps --- **Warning:** this command is part of the Swarm management feature introduced in Docker 1.12, and might be subject to non backward-compatible changes. -# node ps - ```markdown Usage: docker node ps [OPTIONS] self|NODE diff --git a/engine/reference/commandline/node_rm.md b/engine/reference/commandline/node_rm.md index 5847e35b9d7..b812666b032 100644 --- a/engine/reference/commandline/node_rm.md +++ b/engine/reference/commandline/node_rm.md @@ -4,16 +4,11 @@ aliases: description: The node rm command description and usage keywords: - node, remove -menu: - main: - parent: smn_cli -title: node rm +title: docker node rm --- **Warning:** this command is part of the Swarm management feature introduced in Docker 1.12, and might be subject to non backward-compatible changes. -# node rm - ```markdown Usage: docker node rm [OPTIONS] NODE [NODE...] diff --git a/engine/reference/commandline/node_update.md b/engine/reference/commandline/node_update.md index fff98ea0113..8bc160b0ba4 100644 --- a/engine/reference/commandline/node_update.md +++ b/engine/reference/commandline/node_update.md @@ -4,16 +4,11 @@ aliases: description: The node update command description and usage keywords: - resources, update, dynamically -menu: - main: - parent: smn_cli -title: node update +title: docker node update --- **Warning:** this command is part of the Swarm management feature introduced in Docker 1.12, and might be subject to non backward-compatible changes. -## update - ```markdown Usage: docker node update [OPTIONS] NODE diff --git a/engine/reference/commandline/pause.md b/engine/reference/commandline/pause.md index 731bd40cce1..39d590295be 100644 --- a/engine/reference/commandline/pause.md +++ b/engine/reference/commandline/pause.md @@ -4,14 +4,9 @@ aliases: description: The pause command description and usage keywords: - cgroups, container, suspend, SIGSTOP -menu: - main: - parent: smn_cli -title: pause +title: docker pause --- -# pause - ```markdown Usage: docker pause CONTAINER [CONTAINER...] diff --git a/engine/reference/commandline/plugin_disable.md b/engine/reference/commandline/plugin_disable.md index c8396a96fc0..d202c8d6597 100644 --- a/engine/reference/commandline/plugin_disable.md +++ b/engine/reference/commandline/plugin_disable.md @@ -5,14 +5,9 @@ advisory: experimental description: the plugin disable command description and usage keywords: - plugin, disable -menu: - main: - parent: smn_cli -title: plugin disable +title: docker plugin disable (experimental) --- -# plugin disable (experimental) - ```markdown Usage: docker plugin disable PLUGIN diff --git a/engine/reference/commandline/plugin_enable.md b/engine/reference/commandline/plugin_enable.md index c696fc78391..fb480e281fd 100644 --- a/engine/reference/commandline/plugin_enable.md +++ b/engine/reference/commandline/plugin_enable.md @@ -5,14 +5,9 @@ advisory: experimental description: the plugin enable command description and usage keywords: - plugin, enable -menu: - main: - parent: smn_cli -title: plugin enable +title: docker plugin enable (experimental) --- -# plugin enable (experimental) - ```markdown Usage: docker plugin enable PLUGIN diff --git a/engine/reference/commandline/plugin_inspect.md b/engine/reference/commandline/plugin_inspect.md index 8db76f460a2..18934e1e8ab 100644 --- a/engine/reference/commandline/plugin_inspect.md +++ b/engine/reference/commandline/plugin_inspect.md @@ -5,14 +5,9 @@ advisory: experimental description: The plugin inspect command description and usage keywords: - plugin, inspect -menu: - main: - parent: smn_cli -title: plugin inspect +title: docker plugin inspect (experimental) --- -# plugin inspect (experimental) - ```markdown Usage: docker plugin inspect [OPTIONS] PLUGIN [PLUGIN...] diff --git a/engine/reference/commandline/plugin_install.md b/engine/reference/commandline/plugin_install.md index feb619ad491..712897eb5f8 100644 --- a/engine/reference/commandline/plugin_install.md +++ b/engine/reference/commandline/plugin_install.md @@ -5,14 +5,9 @@ advisory: experimental description: the plugin install command description and usage keywords: - plugin, install -menu: - main: - parent: smn_cli -title: plugin install +title: docker plugin install (experimental) --- -# plugin install (experimental) - ```markdown Usage: docker plugin install [OPTIONS] PLUGIN diff --git a/engine/reference/commandline/plugin_ls.md b/engine/reference/commandline/plugin_ls.md index 0b6b0aa5823..1f5c229802a 100644 --- a/engine/reference/commandline/plugin_ls.md +++ b/engine/reference/commandline/plugin_ls.md @@ -5,14 +5,9 @@ advisory: experimental description: The plugin ls command description and usage keywords: - plugin, list -menu: - main: - parent: smn_cli -title: plugin ls +title: docker plugin ls (experimental) --- -# plugin ls (experimental) - ```markdown Usage: docker plugin ls diff --git a/engine/reference/commandline/plugin_rm.md b/engine/reference/commandline/plugin_rm.md index ec9c40b111d..84241219bfb 100644 --- a/engine/reference/commandline/plugin_rm.md +++ b/engine/reference/commandline/plugin_rm.md @@ -5,14 +5,9 @@ advisory: experimental description: the plugin rm command description and usage keywords: - plugin, rm -menu: - main: - parent: smn_cli -title: plugin rm +title: docker plugin rm (experimental) --- -# plugin rm (experimental) - ```markdown Usage: docker plugin rm PLUGIN diff --git a/engine/reference/commandline/port.md b/engine/reference/commandline/port.md index 290581761a5..a9972783f8c 100644 --- a/engine/reference/commandline/port.md +++ b/engine/reference/commandline/port.md @@ -4,14 +4,9 @@ aliases: description: The port command description and usage keywords: - port, mapping, container -menu: - main: - parent: smn_cli -title: port +title: docker port --- -# port - ```markdown Usage: docker port CONTAINER [PRIVATE_PORT[/PROTO]] diff --git a/engine/reference/commandline/ps.md b/engine/reference/commandline/ps.md index 28a6e7168f0..3f8db26d1f4 100644 --- a/engine/reference/commandline/ps.md +++ b/engine/reference/commandline/ps.md @@ -4,14 +4,9 @@ aliases: description: The ps command description and usage keywords: - container, running, list -menu: - main: - parent: smn_cli -title: ps +title: docker ps --- -# ps - ```markdown Usage: docker ps [OPTIONS] diff --git a/engine/reference/commandline/pull.md b/engine/reference/commandline/pull.md index 3fcec64c6bd..8702fff575f 100644 --- a/engine/reference/commandline/pull.md +++ b/engine/reference/commandline/pull.md @@ -4,14 +4,9 @@ aliases: description: The pull command description and usage keywords: - pull, image, hub, docker -menu: - main: - parent: smn_cli -title: pull +title: docker pull --- -# pull - ```markdown Usage: docker pull [OPTIONS] NAME[:TAG|@DIGEST] @@ -137,7 +132,7 @@ above, the digest of the image is: Docker also prints the digest of an image when *pushing* to a registry. This may be useful if you want to pin to a version of the image you just pushed. -A digest takes the place of the tag when pulling an image, for example, to +A digest takes the place of the tag when pulling an image, for example, to pull the above image by digest, run the following command: ```bash @@ -160,7 +155,7 @@ MAINTAINER some maintainer ``` > **Note**: Using this feature "pins" an image to a specific version in time. -> Docker will therefore not pull updated versions of an image, which may include +> Docker will therefore not pull updated versions of an image, which may include > security updates. If you want to pull an updated image, you need to change the > digest accordingly. diff --git a/engine/reference/commandline/push.md b/engine/reference/commandline/push.md index 55a96427cb9..7123a0e7d1e 100644 --- a/engine/reference/commandline/push.md +++ b/engine/reference/commandline/push.md @@ -4,14 +4,9 @@ aliases: description: The push command description and usage keywords: - share, push, image -menu: - main: - parent: smn_cli -title: push +title: docker push --- -# push - ```markdown Usage: docker push [OPTIONS] NAME[:TAG] diff --git a/engine/reference/commandline/rename.md b/engine/reference/commandline/rename.md index 1d391c98d75..b5893e69abc 100644 --- a/engine/reference/commandline/rename.md +++ b/engine/reference/commandline/rename.md @@ -4,14 +4,9 @@ aliases: description: The rename command description and usage keywords: - rename, docker, container -menu: - main: - parent: smn_cli -title: rename +title: docker rename --- -# rename - ```markdown Usage: docker rename CONTAINER NEW_NAME diff --git a/engine/reference/commandline/restart.md b/engine/reference/commandline/restart.md index 2286ef52e3e..b02fb8c3514 100644 --- a/engine/reference/commandline/restart.md +++ b/engine/reference/commandline/restart.md @@ -4,14 +4,9 @@ aliases: description: The restart command description and usage keywords: - restart, container, Docker -menu: - main: - parent: smn_cli -title: restart +title: docker restart --- -# restart - ```markdown Usage: docker restart [OPTIONS] CONTAINER [CONTAINER...] diff --git a/engine/reference/commandline/rm.md b/engine/reference/commandline/rm.md index fad972aad6c..0620b5e03b9 100644 --- a/engine/reference/commandline/rm.md +++ b/engine/reference/commandline/rm.md @@ -4,14 +4,9 @@ aliases: description: The rm command description and usage keywords: - remove, Docker, container -menu: - main: - parent: smn_cli -title: rm +title: docker rm --- -# rm - ```markdown Usage: docker rm [OPTIONS] CONTAINER [CONTAINER...] diff --git a/engine/reference/commandline/rmi.md b/engine/reference/commandline/rmi.md index a5e2f71fd60..ed7e20feba6 100644 --- a/engine/reference/commandline/rmi.md +++ b/engine/reference/commandline/rmi.md @@ -4,14 +4,9 @@ aliases: description: The rmi command description and usage keywords: - remove, image, Docker -menu: - main: - parent: smn_cli -title: rmi +title: docker rmi --- -# rmi - ```markdown Usage: docker rmi [OPTIONS] IMAGE [IMAGE...] diff --git a/engine/reference/commandline/run.md b/engine/reference/commandline/run.md index 00129fe9171..78b2b0991a8 100644 --- a/engine/reference/commandline/run.md +++ b/engine/reference/commandline/run.md @@ -4,14 +4,9 @@ aliases: description: The run command description and usage keywords: - run, command, container -menu: - main: - parent: smn_cli -title: run +title: docker run --- -# run - ```markdown Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...] @@ -199,8 +194,8 @@ The `-w` lets the command being executed inside directory given, here $ docker run -it --storage-opt size=120G fedora /bin/bash -This (size) will allow to set the container rootfs size to 120G at creation time. -User cannot pass a size less than the Default BaseFS Size. This option is only +This (size) will allow to set the container rootfs size to 120G at creation time. +User cannot pass a size less than the Default BaseFS Size. This option is only available for the `devicemapper`, `btrfs`, and `zfs` graph drivers. ### Mount tmpfs (--tmpfs) @@ -663,7 +658,7 @@ network namespace, run this command: > **Note**: Not all sysctls are namespaced. Docker does not support changing sysctls -> inside of a container that also modify the host system. As the kernel +> inside of a container that also modify the host system. As the kernel > evolves we expect to see more sysctls become namespaced. #### Currently supported sysctls diff --git a/engine/reference/commandline/save.md b/engine/reference/commandline/save.md index da74b554101..e2a3ea06600 100644 --- a/engine/reference/commandline/save.md +++ b/engine/reference/commandline/save.md @@ -4,14 +4,9 @@ aliases: description: The save command description and usage keywords: - tarred, repository, backup -menu: - main: - parent: smn_cli -title: save +title: docker save --- -# save - ```markdown Usage: docker save [OPTIONS] IMAGE [IMAGE...] diff --git a/engine/reference/commandline/search.md b/engine/reference/commandline/search.md index b7291f877ad..94faeb9127c 100644 --- a/engine/reference/commandline/search.md +++ b/engine/reference/commandline/search.md @@ -4,14 +4,9 @@ aliases: description: The search command description and usage keywords: - search, hub, images -menu: - main: - parent: smn_cli -title: search +title: docker search --- -# search - ```markdown Usage: docker search [OPTIONS] TERM @@ -43,7 +38,7 @@ This example displays images with a name containing 'busybox': $ docker search busybox NAME DESCRIPTION STARS OFFICIAL AUTOMATED - busybox Busybox base image. 316 [OK] + busybox Busybox base image. 316 [OK] progrium/busybox 50 [OK] radial/busyboxplus Full-chain, Internet enabled, busybox made... 8 [OK] odise/busybox-python 2 [OK] @@ -76,7 +71,7 @@ at least 3 stars and the description isn't truncated in the output: $ docker search --stars=3 --no-trunc busybox NAME DESCRIPTION STARS OFFICIAL AUTOMATED - busybox Busybox base image. 325 [OK] + busybox Busybox base image. 325 [OK] progrium/busybox 50 [OK] radial/busyboxplus Full-chain, Internet enabled, busybox made from scratch. Comes in git and cURL flavors. 8 [OK] @@ -105,7 +100,7 @@ least 3 stars: $ docker search --filter stars=3 busybox NAME DESCRIPTION STARS OFFICIAL AUTOMATED - busybox Busybox base image. 325 [OK] + busybox Busybox base image. 325 [OK] progrium/busybox 50 [OK] radial/busyboxplus Full-chain, Internet enabled, busybox made... 8 [OK] diff --git a/engine/reference/commandline/service_create.md b/engine/reference/commandline/service_create.md index 129ccac16eb..d8a044c411f 100644 --- a/engine/reference/commandline/service_create.md +++ b/engine/reference/commandline/service_create.md @@ -4,16 +4,11 @@ aliases: description: The service create command description and usage keywords: - service, create -menu: - main: - parent: smn_cli -title: service create +title: docker service create --- **Warning:** this command is part of the Swarm management feature introduced in Docker 1.12, and might be subject to non backward-compatible changes. -# service create - ```Markdown Usage: docker service create [OPTIONS] IMAGE [COMMAND] [ARG...] diff --git a/engine/reference/commandline/service_inspect.md b/engine/reference/commandline/service_inspect.md index 37d9cf4e998..392789273e3 100644 --- a/engine/reference/commandline/service_inspect.md +++ b/engine/reference/commandline/service_inspect.md @@ -4,16 +4,11 @@ aliases: description: The service inspect command description and usage keywords: - service, inspect -menu: - main: - parent: smn_cli -title: service inspect +title: docker service inspect --- **Warning:** this command is part of the Swarm management feature introduced in Docker 1.12, and might be subject to non backward-compatible changes. -# service inspect - ```Markdown Usage: docker service inspect [OPTIONS] SERVICE [SERVICE...] diff --git a/engine/reference/commandline/service_ls.md b/engine/reference/commandline/service_ls.md index e5423c966aa..e9086ac9849 100644 --- a/engine/reference/commandline/service_ls.md +++ b/engine/reference/commandline/service_ls.md @@ -4,13 +4,11 @@ aliases: description: The service ls command description and usage keywords: - service, ls -title: service ls +title: docker service ls --- **Warning:** this command is part of the Swarm management feature introduced in Docker 1.12, and might be subject to non backward-compatible changes. -# service ls - ```Markdown Usage: docker service ls [OPTIONS] diff --git a/engine/reference/commandline/service_ps.md b/engine/reference/commandline/service_ps.md index b02b8b46cac..fcd014241e7 100644 --- a/engine/reference/commandline/service_ps.md +++ b/engine/reference/commandline/service_ps.md @@ -7,16 +7,11 @@ description: The service ps command description and usage keywords: - service, tasks - ps -menu: - main: - parent: smn_cli -title: service ps +title: docker service ps --- **Warning:** this command is part of the Swarm management feature introduced in Docker 1.12, and might be subject to non backward-compatible changes. -# service ps - ```Markdown Usage: docker service ps [OPTIONS] SERVICE diff --git a/engine/reference/commandline/service_rm.md b/engine/reference/commandline/service_rm.md index 05013752621..b26a6ddf417 100644 --- a/engine/reference/commandline/service_rm.md +++ b/engine/reference/commandline/service_rm.md @@ -4,16 +4,11 @@ aliases: description: The service rm command description and usage keywords: - service, rm -menu: - main: - parent: smn_cli -title: service rm +title: docker service rm --- **Warning:** this command is part of the Swarm management feature introduced in Docker 1.12, and might be subject to non backward-compatible changes. -# service rm - ```Markdown Usage: docker service rm [OPTIONS] SERVICE [SERVICE...] diff --git a/engine/reference/commandline/service_scale.md b/engine/reference/commandline/service_scale.md index e730c643dd2..b3fb42ef977 100644 --- a/engine/reference/commandline/service_scale.md +++ b/engine/reference/commandline/service_scale.md @@ -4,16 +4,11 @@ aliases: description: The service scale command description and usage keywords: - service, scale -menu: - main: - parent: smn_cli -title: service scale +title: docker service scale --- **Warning:** this command is part of the Swarm management feature introduced in Docker 1.12, and might be subject to non backward-compatible changes. -# service scale - ```markdown Usage: docker service scale SERVICE=REPLICAS [SERVICE=REPLICAS...] @@ -27,7 +22,7 @@ Options: ### Scale a service -The scale command enables you to scale one or more services either up or down to the desired number of replicas. The command will return immediatly, but the actual scaling of the service may take some time. To stop all replicas of a service while keeping the service active in the swarm you can set the scale to 0. +The scale command enables you to scale one or more services either up or down to the desired number of replicas. The command will return immediatly, but the actual scaling of the service may take some time. To stop all replicas of a service while keeping the service active in the swarm you can set the scale to 0. For example, the following command scales the "frontend" service to 50 tasks. diff --git a/engine/reference/commandline/service_update.md b/engine/reference/commandline/service_update.md index 6d16cd15121..68f704f7bf8 100644 --- a/engine/reference/commandline/service_update.md +++ b/engine/reference/commandline/service_update.md @@ -4,16 +4,11 @@ aliases: description: The service update command description and usage keywords: - service, update -menu: - main: - parent: smn_cli -title: service update +title: docker service update --- **Warning:** this command is part of the Swarm management feature introduced in Docker 1.12, and might be subject to non backward-compatible changes. -# service update - ```Markdown Usage: docker service update [OPTIONS] SERVICE diff --git a/engine/reference/commandline/stack_config.md b/engine/reference/commandline/stack_config.md index 7fb50caa781..673277937bd 100644 --- a/engine/reference/commandline/stack_config.md +++ b/engine/reference/commandline/stack_config.md @@ -5,14 +5,9 @@ advisory: experimental description: The stack config command description and usage keywords: - stack, config -menu: - main: - parent: smn_cli -title: stack config +title: docker stack config (experimental) --- -# stack config (experimental) - ```markdown Usage: docker stack config [OPTIONS] STACK diff --git a/engine/reference/commandline/stack_deploy.md b/engine/reference/commandline/stack_deploy.md index 1492c836359..7b9fed6247b 100644 --- a/engine/reference/commandline/stack_deploy.md +++ b/engine/reference/commandline/stack_deploy.md @@ -5,14 +5,9 @@ advisory: experimental description: The stack deploy command description and usage keywords: - stack, deploy, up -menu: - main: - parent: smn_cli -title: stack deploy +title: docker stack deploy (experimental) --- -# stack deploy (experimental) - ```markdown Usage: docker stack deploy [OPTIONS] STACK diff --git a/engine/reference/commandline/stack_rm.md b/engine/reference/commandline/stack_rm.md index 0698f156341..b15573f8a67 100644 --- a/engine/reference/commandline/stack_rm.md +++ b/engine/reference/commandline/stack_rm.md @@ -5,14 +5,9 @@ advisory: experimental description: The stack rm command description and usage keywords: - stack, rm, remove, down -menu: - main: - parent: smn_cli -title: stack rm +title: docker stack rm (experimental) --- -# stack rm (experimental) - ```markdown Usage: docker stack rm STACK diff --git a/engine/reference/commandline/stack_services.md b/engine/reference/commandline/stack_services.md index bd9dece041b..b5e8253ed4a 100644 --- a/engine/reference/commandline/stack_services.md +++ b/engine/reference/commandline/stack_services.md @@ -5,14 +5,9 @@ advisory: experimental description: The stack services command description and usage keywords: - stack, services -menu: - main: - parent: smn_cli -title: stack services +title: docker stack services (experimental) --- -# stack services (experimental) - ```markdown Usage: docker stack services [OPTIONS] STACK @@ -41,7 +36,7 @@ dn7m7nhhfb9y myapp_db 1/1 mysql@sha256:a9a5b559f8821fe73d58c3606c8 The filtering flag (`-f` or `--filter`) format is a `key=value` pair. If there is more than one filter, then pass multiple flags (e.g. `--filter "foo=bar" --filter "bif=baz"`). -Multiple filter flags are combined as an `OR` filter. +Multiple filter flags are combined as an `OR` filter. The following command shows both the `web` and `db` services: diff --git a/engine/reference/commandline/stack_tasks.md b/engine/reference/commandline/stack_tasks.md index d7853d0f326..e4e2d1416c2 100644 --- a/engine/reference/commandline/stack_tasks.md +++ b/engine/reference/commandline/stack_tasks.md @@ -5,14 +5,9 @@ advisory: experimental description: The stack tasks command description and usage keywords: - stack, tasks -menu: - main: - parent: smn_cli -title: stack tasks +title: docker stack tasks (experimental) --- -# stack tasks (experimental) - ```markdown Usage: docker stack tasks [OPTIONS] STACK diff --git a/engine/reference/commandline/start.md b/engine/reference/commandline/start.md index 2267766b9c8..9fc711dcd33 100644 --- a/engine/reference/commandline/start.md +++ b/engine/reference/commandline/start.md @@ -4,14 +4,9 @@ aliases: description: The start command description and usage keywords: - Start, container, stopped -menu: - main: - parent: smn_cli -title: start +title: docker start --- -# start - ```markdown Usage: docker start [OPTIONS] CONTAINER [CONTAINER...] diff --git a/engine/reference/commandline/stats.md b/engine/reference/commandline/stats.md index 46ccb39fe67..df0208da510 100644 --- a/engine/reference/commandline/stats.md +++ b/engine/reference/commandline/stats.md @@ -4,14 +4,9 @@ aliases: description: The stats command description and usage keywords: - container, resource, statistics -menu: - main: - parent: smn_cli -title: stats +title: docker stats --- -# stats - ```markdown Usage: docker stats [OPTIONS] [CONTAINER...] @@ -25,7 +20,7 @@ Options: The `docker stats` command returns a live data stream for running containers. To limit data to one or more specific containers, specify a list of container names or ids separated by a space. You can specify a stopped container but stopped containers do not return any data. -If you want more detailed information about a container's resource usage, use the `/containers/(id)/stats` API endpoint. +If you want more detailed information about a container's resource usage, use the `/containers/(id)/stats` API endpoint. ## Examples diff --git a/engine/reference/commandline/stop.md b/engine/reference/commandline/stop.md index 57c78b87648..29f29e2eb30 100644 --- a/engine/reference/commandline/stop.md +++ b/engine/reference/commandline/stop.md @@ -4,14 +4,9 @@ aliases: description: The stop command description and usage keywords: - stop, SIGKILL, SIGTERM -menu: - main: - parent: smn_cli -title: stop +title: docker stop --- -# stop - ```markdown Usage: docker stop [OPTIONS] CONTAINER [CONTAINER...] diff --git a/engine/reference/commandline/swarm_init.md b/engine/reference/commandline/swarm_init.md index 05a38d4b4f1..33ed7e89a03 100644 --- a/engine/reference/commandline/swarm_init.md +++ b/engine/reference/commandline/swarm_init.md @@ -4,16 +4,11 @@ aliases: description: The swarm init command description and usage keywords: - swarm, init -menu: - main: - parent: smn_cli -title: swarm init +title: docker swarm init --- **Warning:** this command is part of the Swarm management feature introduced in Docker 1.12, and might be subject to non backward-compatible changes. -# swarm init - ```markdown Usage: docker swarm init [OPTIONS] diff --git a/engine/reference/commandline/swarm_join.md b/engine/reference/commandline/swarm_join.md index 5c0c42f7c2c..14e68e96f5d 100644 --- a/engine/reference/commandline/swarm_join.md +++ b/engine/reference/commandline/swarm_join.md @@ -4,16 +4,11 @@ aliases: description: The swarm join command description and usage keywords: - swarm, join -menu: - main: - parent: smn_cli -title: swarm join +title: docker swarm join --- **Warning:** this command is part of the Swarm management feature introduced in Docker 1.12, and might be subject to non backward-compatible changes. -# swarm join - ```markdown Usage: docker swarm join [OPTIONS] HOST:PORT diff --git a/engine/reference/commandline/swarm_join_token.md b/engine/reference/commandline/swarm_join_token.md index 1b50b92486e..9809b793c61 100644 --- a/engine/reference/commandline/swarm_join_token.md +++ b/engine/reference/commandline/swarm_join_token.md @@ -4,14 +4,9 @@ aliases: description: The swarm join-token command description and usage keywords: - swarm, join-token -menu: - main: - parent: smn_cli -title: swarm join-token +title: docker swarm join-token --- -# swarm join-token - ```markdown Usage: docker swarm join-token [--rotate] (worker|manager) diff --git a/engine/reference/commandline/swarm_leave.md b/engine/reference/commandline/swarm_leave.md index 08deaaa627c..df064ecb070 100644 --- a/engine/reference/commandline/swarm_leave.md +++ b/engine/reference/commandline/swarm_leave.md @@ -4,16 +4,11 @@ aliases: description: The swarm leave command description and usage keywords: - swarm, leave -menu: - main: - parent: smn_cli -title: swarm leave +title: docker swarm leave --- **Warning:** this command is part of the Swarm management feature introduced in Docker 1.12, and might be subject to non backward-compatible changes. -# swarm leave - ```markdown Usage: docker swarm leave [OPTIONS] diff --git a/engine/reference/commandline/swarm_update.md b/engine/reference/commandline/swarm_update.md index 49898100b05..1077af5bd1b 100644 --- a/engine/reference/commandline/swarm_update.md +++ b/engine/reference/commandline/swarm_update.md @@ -4,16 +4,11 @@ aliases: description: The swarm update command description and usage keywords: - swarm, update -menu: - main: - parent: smn_cli -title: swarm update +title: docker swarm update --- **Warning:** this command is part of the Swarm management feature introduced in Docker 1.12, and might be subject to non backward-compatible changes. -# swarm update - ```markdown Usage: docker swarm update [OPTIONS] diff --git a/engine/reference/commandline/tag.md b/engine/reference/commandline/tag.md index 728216e2a18..82fb9f8fa82 100644 --- a/engine/reference/commandline/tag.md +++ b/engine/reference/commandline/tag.md @@ -4,14 +4,9 @@ aliases: description: The tag command description and usage keywords: - tag, name, image -menu: - main: - parent: smn_cli -title: tag +title: docker tag --- -# tag - ```markdown Usage: docker tag IMAGE[:TAG] IMAGE[:TAG] diff --git a/engine/reference/commandline/top.md b/engine/reference/commandline/top.md index 007c9f17dd1..cb3355e5ebf 100644 --- a/engine/reference/commandline/top.md +++ b/engine/reference/commandline/top.md @@ -4,14 +4,9 @@ aliases: description: The top command description and usage keywords: - container, running, processes -menu: - main: - parent: smn_cli -title: top +title: docker top --- -# top - ```markdown Usage: docker top CONTAINER [ps OPTIONS] diff --git a/engine/reference/commandline/unpause.md b/engine/reference/commandline/unpause.md index 5d3cd0e20c3..65feb18bbd8 100644 --- a/engine/reference/commandline/unpause.md +++ b/engine/reference/commandline/unpause.md @@ -4,14 +4,9 @@ aliases: description: The unpause command description and usage keywords: - cgroups, suspend, container -menu: - main: - parent: smn_cli -title: unpause +title: docker unpause --- -# unpause - ```markdown Usage: docker unpause CONTAINER [CONTAINER...] diff --git a/engine/reference/commandline/update.md b/engine/reference/commandline/update.md index 9c872cbbf73..12b2ac2b92b 100644 --- a/engine/reference/commandline/update.md +++ b/engine/reference/commandline/update.md @@ -4,14 +4,9 @@ aliases: description: The update command description and usage keywords: - resources, update, dynamically -menu: - main: - parent: smn_cli -title: update +title: docker update --- -## update - ```markdown Usage: docker update [OPTIONS] CONTAINER [CONTAINER...] diff --git a/engine/reference/commandline/version.md b/engine/reference/commandline/version.md index bc10a8eb882..cc47dc58d8f 100644 --- a/engine/reference/commandline/version.md +++ b/engine/reference/commandline/version.md @@ -4,14 +4,9 @@ aliases: description: The version command description and usage keywords: - version, architecture, api -menu: - main: - parent: smn_cli -title: version +title: docker version --- -# version - ```markdown Usage: docker version [OPTIONS] diff --git a/engine/reference/commandline/volume_create.md b/engine/reference/commandline/volume_create.md index d7af2e2b343..59dc5bada7f 100644 --- a/engine/reference/commandline/volume_create.md +++ b/engine/reference/commandline/volume_create.md @@ -4,14 +4,9 @@ aliases: description: The volume create command description and usage keywords: - volume, create -menu: - main: - parent: smn_cli -title: volume create +title: docker volume create --- -# volume create - ```markdown Usage: docker volume create [OPTIONS] @@ -44,7 +39,7 @@ Volume names must be unique among drivers. This means you cannot use the same v A volume named "hello" already exists with the "some-other" driver. Choose a different volume name. ``` -If you specify a volume name already in use on the current driver, Docker assumes you want to re-use the existing volume and does not return an error. +If you specify a volume name already in use on the current driver, Docker assumes you want to re-use the existing volume and does not return an error. ## Driver specific options @@ -60,7 +55,7 @@ different volume drivers may do different things (or nothing at all). The built-in `local` driver on Windows does not support any options. The built-in `local` driver on Linux accepts options similar to the linux `mount` command. You can provide multiple options by passing the `--opt` flag multiple times. Some `mount` options (such as the `o` option) can take a comma-separated list of options. Complete list of available mount options can be found [here](http://man7.org/linux/man-pages/man8/mount.8.html). - + For example, the following creates a `tmpfs` volume called `foo` with a size of 100 megabyte and `uid` of 1000. ```bash diff --git a/engine/reference/commandline/volume_inspect.md b/engine/reference/commandline/volume_inspect.md index 1f1076c554a..a11e7be3118 100644 --- a/engine/reference/commandline/volume_inspect.md +++ b/engine/reference/commandline/volume_inspect.md @@ -4,14 +4,9 @@ aliases: description: The volume inspect command description and usage keywords: - volume, inspect -menu: - main: - parent: smn_cli -title: volume inspect +title: docker volume inspect --- -# volume inspect - ```markdown Usage: docker volume inspect [OPTIONS] VOLUME [VOLUME...] diff --git a/engine/reference/commandline/volume_ls.md b/engine/reference/commandline/volume_ls.md index 7f05791cc89..9ca28d6ddd7 100644 --- a/engine/reference/commandline/volume_ls.md +++ b/engine/reference/commandline/volume_ls.md @@ -4,14 +4,9 @@ aliases: description: The volume ls command description and usage keywords: - volume, list -menu: - main: - parent: smn_cli -title: volume ls +title: docker volume ls --- -# volume ls - ```markdown Usage: docker volume ls [OPTIONS] diff --git a/engine/reference/commandline/volume_rm.md b/engine/reference/commandline/volume_rm.md index 1ba0597a3f9..58fab3d976d 100644 --- a/engine/reference/commandline/volume_rm.md +++ b/engine/reference/commandline/volume_rm.md @@ -4,14 +4,9 @@ aliases: description: the volume rm command description and usage keywords: - volume, rm -menu: - main: - parent: smn_cli -title: volume rm +title: docker volume rm --- -# volume rm - ```markdown Usage: docker volume rm VOLUME [VOLUME...] diff --git a/engine/reference/commandline/wait.md b/engine/reference/commandline/wait.md index 9998e10a52d..28933f4f0c1 100644 --- a/engine/reference/commandline/wait.md +++ b/engine/reference/commandline/wait.md @@ -4,14 +4,9 @@ aliases: description: The wait command description and usage keywords: - container, stop, wait -menu: - main: - parent: smn_cli -title: wait +title: docker wait --- -# wait - ```markdown Usage: docker wait CONTAINER [CONTAINER...] diff --git a/engine/reference/glossary.md b/engine/reference/glossary.md index d0d972067c4..81a13c1ba0c 100644 --- a/engine/reference/glossary.md +++ b/engine/reference/glossary.md @@ -4,15 +4,9 @@ aliases: description: Glossary of terms used around Docker keywords: - glossary, docker, terms, definitions -menu: - main: - parent: mn_about - weight: "50" -title: Docker Glossary +title: Docker glossary --- -# Glossary - A list of terms used around the Docker project. ## aufs diff --git a/engine/reference/index.md b/engine/reference/index.md index 0f33e54114f..41fc931838b 100644 --- a/engine/reference/index.md +++ b/engine/reference/index.md @@ -4,11 +4,6 @@ aliases: description: Docker Engine reference keywords: - Engine -menu: - main: - identifier: engine_ref - parent: engine_use - weight: 70 title: Engine reference --- diff --git a/engine/reference/run.md b/engine/reference/run.md index 6cf29dfc7ef..0c371e14966 100644 --- a/engine/reference/run.md +++ b/engine/reference/run.md @@ -4,15 +4,9 @@ aliases: description: Configure containers at runtime keywords: - docker, run, configure, runtime -menu: - main: - parent: engine_ref - weight: -80 title: Docker run reference --- -# Docker run reference - Docker runs processes in isolated containers. A container is a process which runs on a host. The host may be local or remote. When an operator executes `docker run`, the container process that runs is isolated in diff --git a/engine/security/apparmor.md b/engine/security/apparmor.md index bcafcfaed48..c8e67f73f9d 100644 --- a/engine/security/apparmor.md +++ b/engine/security/apparmor.md @@ -2,15 +2,9 @@ description: Enabling AppArmor in Docker keywords: - AppArmor, security, docker, documentation -menu: - main: - parent: smn_secure_docker - weight: 5 title: AppArmor security profiles for Docker --- -# AppArmor security profiles for Docker - AppArmor (Application Armor) is a Linux security module that protects an operating system and its applications from security threats. To use it, a system administrator associates an AppArmor security profile with each program. Docker diff --git a/engine/security/certificates.md b/engine/security/certificates.md index cd96bf1e89a..f7b454ce025 100644 --- a/engine/security/certificates.md +++ b/engine/security/certificates.md @@ -3,16 +3,10 @@ aliases: - /engine/articles/certificates/ description: How to set up and use certificates with a registry to verify access keywords: -- Usage, registry, repository, client, root, certificate, docker, apache, ssl, tls, - documentation, examples, articles, tutorials -menu: - main: - parent: smn_secure_docker -title: Using certificates for repository client verification +- Usage, registry, repository, client, root, certificate, docker, apache, ssl, tls, documentation, examples, articles, tutorials +title: Verify repository client with certificates --- -# Using certificates for repository client verification - In [Running Docker with HTTPS](https.md), you learned that, by default, Docker runs via a non-networked Unix socket and TLS must be enabled in order to have the Docker client and the daemon communicate securely over HTTPS. TLS ensures authenticity of the registry endpoint and that traffic to/from registry is encrypted. diff --git a/engine/security/https.md b/engine/security/https.md index 169969d047e..9cae28d47cb 100644 --- a/engine/security/https.md +++ b/engine/security/https.md @@ -5,14 +5,9 @@ aliases: description: How to setup and run Docker with HTTPS keywords: - docker, docs, article, example, https, daemon, tls, ca, certificate -menu: - main: - parent: smn_secure_docker title: Protect the Docker daemon socket --- -# Protect the Docker daemon socket - By default, Docker runs via a non-networked Unix socket. It can also optionally communicate using an HTTP socket. diff --git a/engine/security/index.md b/engine/security/index.md index 312b409b427..9fc2ba59746 100644 --- a/engine/security/index.md +++ b/engine/security/index.md @@ -2,15 +2,9 @@ description: Sec keywords: - seccomp, security, docker, documentation -menu: - main: - identifier: smn_secure_docker - parent: engine_use title: Secure Engine --- -# Secure Engine - This section discusses the security features you can configure and use within your Docker Engine installation. * You can configure Docker's trust features so that your users can push and pull trusted images. To learn how to do this, see [Use trusted images](trust/index.md) in this section. diff --git a/engine/security/non-events.md b/engine/security/non-events.md index d87e3f96fac..5ff9fd06c92 100644 --- a/engine/security/non-events.md +++ b/engine/security/non-events.md @@ -2,14 +2,9 @@ description: Review of security vulnerabilities Docker mitigated keywords: - Docker, Docker documentation, security, security non-events -menu: - main: - parent: smn_secure_docker -title: Docker Security Non-events +title: Docker security non-events --- -# Docker Security Non-events - This page lists security vulnerabilities which Docker mitigated, such that processes run in Docker containers were never vulnerable to the bug—even before it was fixed. This assumes containers are run without adding extra capabilities diff --git a/engine/security/seccomp.md b/engine/security/seccomp.md index 9a947955f73..a9467d551a2 100644 --- a/engine/security/seccomp.md +++ b/engine/security/seccomp.md @@ -2,15 +2,9 @@ description: Enabling seccomp in Docker keywords: - seccomp, security, docker, documentation -menu: - main: - parent: smn_secure_docker - weight: 90 title: Seccomp security profiles for Docker --- -# Seccomp security profiles for Docker - Secure computing mode (Seccomp) is a Linux kernel feature. You can use it to restrict the actions available within the container. The `seccomp()` system call operates on the seccomp state of the calling process. You can use this diff --git a/engine/security/security.md b/engine/security/security.md index 52b2a76cfa0..db29bc6b403 100644 --- a/engine/security/security.md +++ b/engine/security/security.md @@ -5,10 +5,6 @@ aliases: description: Review of the Docker Daemon attack surface keywords: - Docker, Docker documentation, security -menu: - main: - parent: smn_secure_docker - weight: -99 title: Docker security --- diff --git a/engine/security/trust/content_trust.md b/engine/security/trust/content_trust.md index 776f56812ef..03249a1d669 100644 --- a/engine/security/trust/content_trust.md +++ b/engine/security/trust/content_trust.md @@ -2,15 +2,9 @@ description: Enabling content trust in Docker keywords: - content, trust, security, docker, documentation -menu: - main: - parent: smn_content_trust - weight: -1 title: Content trust in Docker --- -# Content trust in Docker - When transferring data among networked systems, *trust* is a central concern. In particular, when communicating over an untrusted medium such as the internet, it is critical to ensure the integrity and the publisher of all the data a system diff --git a/engine/security/trust/deploying_notary.md b/engine/security/trust/deploying_notary.md index e96457199cf..96035fc201a 100644 --- a/engine/security/trust/deploying_notary.md +++ b/engine/security/trust/deploying_notary.md @@ -2,14 +2,9 @@ description: Deploying Notary keywords: - trust, security, notary, deployment -menu: - main: - parent: smn_content_trust -title: Deploying Notary +title: Deploying Notary Server with Compose --- -# Deploying Notary Server with Compose - The easiest way to deploy Notary Server is by using Docker Compose. To follow the procedure on this page, you must have already [installed Docker Compose](/compose/install.md). 1. Clone the Notary repository diff --git a/engine/security/trust/index.md b/engine/security/trust/index.md index 11f7dab6613..45efbbc19fe 100644 --- a/engine/security/trust/index.md +++ b/engine/security/trust/index.md @@ -2,16 +2,9 @@ description: Use trusted images keywords: - trust, security, docker, index -menu: - main: - identifier: smn_content_trust - parent: smn_secure_docker - weight: 4 title: Use trusted images --- -# Use trusted images - The following topics are available: * [Content trust in Docker](content_trust.md) diff --git a/engine/security/trust/trust_automation.md b/engine/security/trust/trust_automation.md index f2beb57ec8a..d3350c76dd9 100644 --- a/engine/security/trust/trust_automation.md +++ b/engine/security/trust/trust_automation.md @@ -2,14 +2,9 @@ description: Automating content push pulls with trust keywords: - trust, security, docker, documentation, automation -menu: - main: - parent: smn_content_trust title: Automation with content trust --- -# Automation with content trust - Your automation systems that pull or build images can also work with trust. Any automation environment must set `DOCKER_TRUST_ENABLED` either manually or in a scripted fashion before processing images. ## Bypass requests for passphrases @@ -79,4 +74,3 @@ unable to process Dockerfile: No trust data for notrust * [Manage keys for content trust](trust_key_mng.md) * [Delegations for content trust](trust_delegation.md) * [Play in a content trust sandbox](trust_sandbox.md) - diff --git a/engine/security/trust/trust_delegation.md b/engine/security/trust/trust_delegation.md index 71d5f184696..be6d50c886a 100644 --- a/engine/security/trust/trust_delegation.md +++ b/engine/security/trust/trust_delegation.md @@ -2,14 +2,9 @@ description: Delegations for content trust keywords: - trust, security, delegations, keys, repository -menu: - main: - parent: smn_content_trust title: Delegations for content trust --- -# Delegations for content trust - Docker Engine supports the usage of the `targets/releases` delegation as the canonical source of a trusted image tag. diff --git a/engine/security/trust/trust_key_mng.md b/engine/security/trust/trust_key_mng.md index 86c56cbe429..8102b168082 100644 --- a/engine/security/trust/trust_key_mng.md +++ b/engine/security/trust/trust_key_mng.md @@ -2,14 +2,9 @@ description: Manage keys for content trust keywords: - trust, security, root, keys, repository -menu: - main: - parent: smn_content_trust title: Manage keys for content trust --- -# Manage keys for content trust - Trust for an image tag is managed through the use of keys. Docker's content trust makes use of five different types of keys: diff --git a/engine/security/trust/trust_sandbox.md b/engine/security/trust/trust_sandbox.md index 285fde3bf40..2111756ec85 100644 --- a/engine/security/trust/trust_sandbox.md +++ b/engine/security/trust/trust_sandbox.md @@ -2,14 +2,9 @@ description: Play in a trust sandbox keywords: - trust, security, root, keys, repository, sandbox -menu: - main: - parent: smn_content_trust title: Play in a content trust sandbox --- -# Play in a content trust sandbox - This page explains how to set up and use a sandbox for experimenting with trust. The sandbox allows you to configure and try trust operations locally without impacting your production images. diff --git a/engine/swarm/admin_guide.md b/engine/swarm/admin_guide.md index 6fdb0736832..4033d2b3719 100644 --- a/engine/swarm/admin_guide.md +++ b/engine/swarm/admin_guide.md @@ -4,16 +4,9 @@ aliases: description: Manager administration guide keywords: - docker, container, swarm, manager, raft -menu: - main: - identifier: manager_admin_guide - parent: engine_swarm - weight: "20" -title: Swarm administration guide +title: Administer and maintain a swarm of Docker Engines --- -# Administer and maintain a swarm of Docker Engines - When you run a swarm of Docker Engines, **manager nodes** are the key components for managing the swarm and storing the swarm state. It is important to understand some key features of manager nodes in order to properly deploy and diff --git a/engine/swarm/how-swarm-mode-works/nodes.md b/engine/swarm/how-swarm-mode-works/nodes.md index a4bb5386add..62d646e8e21 100644 --- a/engine/swarm/how-swarm-mode-works/nodes.md +++ b/engine/swarm/how-swarm-mode-works/nodes.md @@ -4,16 +4,9 @@ aliases: description: How swarm nodes work keywords: - docker, container, cluster, swarm mode, node -menu: - main: - identifier: how-nodes-work - parent: how-swarm-works - weight: "3" title: How nodes work --- -# How nodes work - Docker Engine 1.12 introduces swarm mode that enables you to create a cluster of one or more Docker Engines called a swarm. A swarm consists of one or more nodes: physical or virtual machines running Docker diff --git a/engine/swarm/how-swarm-mode-works/pki.md b/engine/swarm/how-swarm-mode-works/pki.md index 96f08292a4b..9e0c12e54b0 100644 --- a/engine/swarm/how-swarm-mode-works/pki.md +++ b/engine/swarm/how-swarm-mode-works/pki.md @@ -8,16 +8,9 @@ keywords: - node - tls - pki -menu: - main: - identifier: how-pki-work - parent: how-swarm-works - weight: "5" -title: How PKI works +title: How PKI works in swarm mode --- -# How PKI works in swarm mode - The swarm mode public key infrastructure (PKI) system built into Docker Engine makes it simple to securely deploy a container orchestration system. The nodes in a swarm use mutual Transport Layer Security (TLS) to authenticate, authorize, diff --git a/engine/swarm/how-swarm-mode-works/services.md b/engine/swarm/how-swarm-mode-works/services.md index 34c712e3f4d..a6a9a173da5 100644 --- a/engine/swarm/how-swarm-mode-works/services.md +++ b/engine/swarm/how-swarm-mode-works/services.md @@ -2,16 +2,9 @@ description: How swarm mode services work keywords: - docker, container, cluster, swarm mode, node -menu: - main: - identifier: how-services-work - parent: how-swarm-works - weight: "4" title: How services work --- -# How services work - To deploy an application image when Docker Engine is in swarm mode, you create a service. Frequently a service will be the image for a microservice within the context of some larger application. Examples of services might include an HTTP diff --git a/engine/swarm/index.md b/engine/swarm/index.md index 2d6e80742b2..7732ee61c0b 100644 --- a/engine/swarm/index.md +++ b/engine/swarm/index.md @@ -2,16 +2,9 @@ description: Docker Engine swarm mode overview keywords: - docker, container, cluster, swarm -menu: - main: - identifier: swarm_overview - parent: engine_swarm - weight: "1" title: Swarm mode overview --- -# Swarm mode overview - To use Docker Engine in swarm mode, install the Docker Engine `v1.12.0` or later from the [Docker releases GitHub repository](https://github.com/docker/docker/releases). Alternatively, install diff --git a/engine/swarm/ingress.md b/engine/swarm/ingress.md index a1e99ff6ac0..97cbf6b536a 100644 --- a/engine/swarm/ingress.md +++ b/engine/swarm/ingress.md @@ -7,16 +7,9 @@ keywords: - network - ingress - routing mesh -menu: - main: - identifier: ingress-guide - parent: engine_swarm - weight: 17 title: Use swarm mode routing mesh --- -# Use swarm mode routing mesh - Docker Engine swarm mode makes it easy to publish ports for services to make them available to resources outside the swarm. All nodes participate in an ingress **routing mesh**. The routing mesh enables each node in the swarm to diff --git a/engine/swarm/join-nodes.md b/engine/swarm/join-nodes.md index 6c3d45b4498..aa7205dea5a 100644 --- a/engine/swarm/join-nodes.md +++ b/engine/swarm/join-nodes.md @@ -2,16 +2,9 @@ description: Add worker and manager nodes to a swarm keywords: - guide, swarm mode, node -menu: - main: - identifier: join-nodes-guide - parent: engine_swarm - weight: 13 title: Join nodes to a swarm --- -# Join nodes to a swarm - When you first create a swarm, you place a single Docker Engine (Engine) into swarm mode. To take full advantage of swarm mode you can add nodes to the swarm: diff --git a/engine/swarm/key-concepts.md b/engine/swarm/key-concepts.md index 94b74dae868..308b449c69e 100644 --- a/engine/swarm/key-concepts.md +++ b/engine/swarm/key-concepts.md @@ -2,16 +2,9 @@ description: Introducing key concepts for Docker Engine swarm mode keywords: - docker, container, cluster, swarm mode -menu: - main: - identifier: swarm-mode-concepts - parent: engine_swarm - weight: "2" title: Swarm mode key concepts --- -# Swarm mode key concepts - This topic introduces some of the concepts unique to the cluster management and orchestration features of Docker Engine 1.12. diff --git a/engine/swarm/manage-nodes.md b/engine/swarm/manage-nodes.md index a02f8ab6096..fbca6661f2d 100644 --- a/engine/swarm/manage-nodes.md +++ b/engine/swarm/manage-nodes.md @@ -2,16 +2,9 @@ description: Manage existing nodes in a swarm keywords: - guide, swarm mode, node -menu: - main: - identifier: manage-nodes-guide - parent: engine_swarm - weight: 14 title: Manage nodes in a swarm --- -# Manage nodes in a swarm - As part of the swarm management lifecycle, you may need to view or update a node as follows: * [list nodes in the swarm](manage-nodes.md#list-nodes) diff --git a/engine/swarm/networking.md b/engine/swarm/networking.md index 5bff126373f..9103bf30ced 100644 --- a/engine/swarm/networking.md +++ b/engine/swarm/networking.md @@ -5,16 +5,9 @@ keywords: - swarm mode - swarm - network -menu: - main: - identifier: networking-guide - parent: engine_swarm - weight: 16 title: Attach services to an overlay network --- -# Attach services to an overlay network - Docker Engine swarm mode natively supports **overlay networks**, so you can enable container-to-container networks. When you use swarm mode, you don't need an external key-value store. Features of swarm mode overlay networks include the diff --git a/engine/swarm/raft.md b/engine/swarm/raft.md index 3f8dd4631f6..06d0009b3cf 100644 --- a/engine/swarm/raft.md +++ b/engine/swarm/raft.md @@ -2,16 +2,9 @@ description: Raft consensus algorithm in swarm mode keywords: - docker, container, cluster, swarm, raft -menu: - main: - identifier: raft - parent: engine_swarm - weight: "21" title: Raft consensus in swarm mode --- -## Raft consensus algorithm - When the Docker Engine runs in swarm mode, manager nodes implement the [Raft Consensus Algorithm](http://thesecretlivesofdata.com/raft/) to manage the global cluster state. diff --git a/engine/swarm/services.md b/engine/swarm/services.md index bf4e4fcba10..9b77d64e276 100644 --- a/engine/swarm/services.md +++ b/engine/swarm/services.md @@ -5,16 +5,9 @@ keywords: - swarm mode - swarm - service -menu: - main: - identifier: services-guide - parent: engine_swarm - weight: 15 title: Deploy services to a swarm --- -# Deploy services to a swarm - When you are running Docker Engine in swarm mode, you run `docker service create` to deploy your application in the swarm. The swarm manager accepts the service description as the desired state for your diff --git a/engine/swarm/swarm-mode.md b/engine/swarm/swarm-mode.md index 19230f1b2b5..e3904a81b6c 100644 --- a/engine/swarm/swarm-mode.md +++ b/engine/swarm/swarm-mode.md @@ -2,16 +2,9 @@ description: Run Docker Engine in swarm mode keywords: - guide, swarm mode, node -menu: - main: - identifier: initialize-swarm-guide - parent: engine_swarm - weight: 12 title: Run Docker Engine in swarm mode --- -# Run Docker Engine in swarm mode - When you first install and start working with Docker Engine, swarm mode is disabled by default. When you enable swarm mode, you work with the concept of services managed through the `docker service` command. diff --git a/engine/swarm/swarm-tutorial/add-nodes.md b/engine/swarm/swarm-tutorial/add-nodes.md index e5e9d2ee637..0e3e0673ff9 100644 --- a/engine/swarm/swarm-tutorial/add-nodes.md +++ b/engine/swarm/swarm-tutorial/add-nodes.md @@ -2,16 +2,9 @@ description: Add nodes to the swarm keywords: - tutorial, cluster management, swarm -menu: - main: - identifier: add-nodes - parent: swarm-tutorial - weight: 13 title: Add nodes to the swarm --- -# Add nodes to the swarm - Once you've [created a swarm](create-swarm.md) with a manager node, you're ready to add worker nodes. diff --git a/engine/swarm/swarm-tutorial/create-swarm.md b/engine/swarm/swarm-tutorial/create-swarm.md index 4b9ed59092a..e375edbaab8 100644 --- a/engine/swarm/swarm-tutorial/create-swarm.md +++ b/engine/swarm/swarm-tutorial/create-swarm.md @@ -2,16 +2,9 @@ description: Initialize the swarm keywords: - tutorial, cluster management, swarm mode -menu: - main: - identifier: initialize-swarm - parent: swarm-tutorial - weight: 12 title: Create a swarm --- -# Create a swarm - After you complete the [tutorial setup](index.md) steps, you're ready to create a swarm. Make sure the Docker Engine daemon is started on the host machines. diff --git a/engine/swarm/swarm-tutorial/delete-service.md b/engine/swarm/swarm-tutorial/delete-service.md index b9cc6216a14..0a53bff6e05 100644 --- a/engine/swarm/swarm-tutorial/delete-service.md +++ b/engine/swarm/swarm-tutorial/delete-service.md @@ -2,16 +2,9 @@ description: Remove the service from the swarm keywords: - tutorial, cluster management, swarm, service -menu: - main: - identifier: swarm-tutorial-delete-service - parent: swarm-tutorial - weight: 19 -title: Delete the service +title: Delete the service running on the swarm --- -# Delete the service running on the swarm - The remaining steps in the tutorial don't use the `helloworld` service, so now you can delete the service from the swarm. diff --git a/engine/swarm/swarm-tutorial/deploy-service.md b/engine/swarm/swarm-tutorial/deploy-service.md index 45bdd4464a4..7d2ff7daebd 100644 --- a/engine/swarm/swarm-tutorial/deploy-service.md +++ b/engine/swarm/swarm-tutorial/deploy-service.md @@ -2,16 +2,9 @@ description: Deploy a service to the swarm keywords: - tutorial, cluster management, swarm mode -menu: - main: - identifier: deploy-application - parent: swarm-tutorial - weight: 16 -title: Deploy a service +title: Deploy a service to the swarm --- -# Deploy a service to the swarm - After you [create a swarm](create-swarm.md), you can deploy a service to the swarm. For this tutorial, you also [added worker nodes](add-nodes.md), but that is not a requirement to deploy a service. diff --git a/engine/swarm/swarm-tutorial/drain-node.md b/engine/swarm/swarm-tutorial/drain-node.md index fce0ab87fa7..c0e7663c7d0 100644 --- a/engine/swarm/swarm-tutorial/drain-node.md +++ b/engine/swarm/swarm-tutorial/drain-node.md @@ -2,16 +2,9 @@ description: Drain nodes on the swarm keywords: - tutorial, cluster management, swarm, service, drain -menu: - main: - identifier: swarm-tutorial-drain-node - parent: swarm-tutorial - weight: 21 -title: Drain a node +title: Drain a node on the swarm --- -# Drain a node on the swarm - In earlier steps of the tutorial, all the nodes have been running with `ACTIVE` availability. The swarm manager can assign tasks to any `ACTIVE` node, so up to now all nodes have been available to receive tasks. diff --git a/engine/swarm/swarm-tutorial/index.md b/engine/swarm/swarm-tutorial/index.md index 73fa593865f..9e286b864ec 100644 --- a/engine/swarm/swarm-tutorial/index.md +++ b/engine/swarm/swarm-tutorial/index.md @@ -2,16 +2,9 @@ description: Getting Started tutorial for Docker Engine swarm mode keywords: - tutorial, cluster management, swarm mode -menu: - main: - identifier: tutorial-setup - parent: swarm-tutorial - weight: 11 -title: Set up for the tutorial +title: Getting started with swarm mode --- -# Getting started with swarm mode - This tutorial introduces you to the features of Docker Engine Swarm mode. You may want to familiarize yourself with the [key concepts](../key-concepts.md) before you begin. diff --git a/engine/swarm/swarm-tutorial/inspect-service.md b/engine/swarm/swarm-tutorial/inspect-service.md index aad3687ecf9..57ff4795ebd 100644 --- a/engine/swarm/swarm-tutorial/inspect-service.md +++ b/engine/swarm/swarm-tutorial/inspect-service.md @@ -2,16 +2,9 @@ description: Inspect the application keywords: - tutorial, cluster management, swarm mode -menu: - main: - identifier: inspect-application - parent: swarm-tutorial - weight: 17 -title: Inspect the service +title: Inspect a service on the swarm --- -# Inspect a service on the swarm - When you have [deployed a service](deploy-service.md) to your swarm, you can use the Docker CLI to see details about the service running in the swarm. diff --git a/engine/swarm/swarm-tutorial/rolling-update.md b/engine/swarm/swarm-tutorial/rolling-update.md index fc4ff6b23d8..2798d0081b2 100644 --- a/engine/swarm/swarm-tutorial/rolling-update.md +++ b/engine/swarm/swarm-tutorial/rolling-update.md @@ -2,16 +2,9 @@ description: Apply rolling updates to a service on the swarm keywords: - tutorial, cluster management, swarm, service, rolling-update -menu: - main: - identifier: swarm-tutorial-rolling-update - parent: swarm-tutorial - weight: 20 -title: Apply rolling updates +title: Apply rolling updates to a service --- -# Apply rolling updates to a service - In a previous step of the tutorial, you [scaled](scale-service.md) the number of instances of a service. In this part of the tutorial, you deploy a service based on the Redis 3.0.6 container image. Then you upgrade the service to use the diff --git a/engine/swarm/swarm-tutorial/scale-service.md b/engine/swarm/swarm-tutorial/scale-service.md index 34bd03a1085..0ac8bbba6e1 100644 --- a/engine/swarm/swarm-tutorial/scale-service.md +++ b/engine/swarm/swarm-tutorial/scale-service.md @@ -2,16 +2,9 @@ description: Scale the service running in the swarm keywords: - tutorial, cluster management, swarm mode, scale -menu: - main: - identifier: swarm-tutorial-scale-service - parent: swarm-tutorial - weight: 18 -title: Scale the service +title: Scale the service in the swarm --- -# Scale the service in the swarm - Once you have [deployed a service](deploy-service.md) to a swarm, you are ready to use the Docker CLI to scale the number of service ps in the swarm. diff --git a/engine/tutorials/dockerimages.md b/engine/tutorials/dockerimages.md index b44642807eb..641516da452 100644 --- a/engine/tutorials/dockerimages.md +++ b/engine/tutorials/dockerimages.md @@ -4,18 +4,10 @@ aliases: - /engine/userguide/dockerimages/ description: How to work with Docker images. keywords: -- documentation, docs, the docker guide, docker guide, docker, docker platform, docker.io, - Docker images, Docker image, image management, Docker repos, Docker repositories, - docker, docker tag, docker tags, Docker Hub, collaboration -menu: - main: - parent: engine_learn_menu - weight: -4 +- documentation, docs, the docker guide, docker guide, docker, docker platform, docker.io, Docker images, Docker image, image management, Docker repos, Docker repositories, docker, docker tag, docker tags, Docker Hub, collaboration title: Build your own images --- -# Build your own images - Docker images are the basis of containers. Each time you've used `docker run` you told it which image you wanted. In the previous sections of the guide you used Docker images that already exist, for example the `ubuntu` image and the @@ -54,7 +46,7 @@ launched a container using that image. When you list images, you get three cruci > **Tip:** > You can use [a third-party dockviz tool](https://github.com/justone/dockviz) -> or the [Image layers site](https://imagelayers.io/) to display +> or the [Image layers site](https://imagelayers.io/) to display > visualizations of image data. A repository potentially holds multiple variants of an image. In the case of diff --git a/engine/tutorials/dockerizing.md b/engine/tutorials/dockerizing.md index 7c60b0a83cd..77ec8b28d19 100644 --- a/engine/tutorials/dockerizing.md +++ b/engine/tutorials/dockerizing.md @@ -4,17 +4,10 @@ aliases: - /engine/userguide/dockerizing/ description: A simple 'Hello world' exercise that introduced you to Docker. keywords: -- docker guide, docker, docker platform, how to, dockerize, dockerizing apps, dockerizing - applications, container, containers -menu: - main: - parent: engine_learn_menu - weight: -6 +- docker guide, docker, docker platform, how to, dockerize, dockerizing apps, dockerizing applications, container, containers title: Hello world in a container --- -# Hello world in a container - *So what's this Docker thing all about?* Docker allows you to run applications, worlds you create, inside containers. @@ -89,7 +82,7 @@ Let's try running some commands inside the container: In this example: -* `pwd` displays the current directory, the `/` root directory. +* `pwd` displays the current directory, the `/` root directory. * `ls` displays the directory listing of the root directory of a typical Linux file system. Now, you can play around inside this container. When completed, run the `exit` command or enter Ctrl-D diff --git a/engine/tutorials/dockerrepos.md b/engine/tutorials/dockerrepos.md index 65f78da87c4..6dc70536b36 100644 --- a/engine/tutorials/dockerrepos.md +++ b/engine/tutorials/dockerrepos.md @@ -4,16 +4,10 @@ aliases: - /engine/userguide/dockerrepos/ description: Learn how to use the Docker Hub to manage Docker images and work flow keywords: -- repo, Docker Hub, Docker Hub, registry, index, repositories, usage, pull image, - push image, image, documentation -menu: - main: - parent: engine_learn_menu +- repo, Docker Hub, Docker Hub, registry, index, repositories, usage, pull image, push image, image, documentation title: Store images on Docker Hub --- -# Store images on Docker Hub - So far you've learned how to use the command line to run Docker on your local host. You've learned how to [pull down images](usingdocker.md) to build containers from existing images and you've learned how to [create your own diff --git a/engine/tutorials/dockervolumes.md b/engine/tutorials/dockervolumes.md index a8d6db108a5..2ec46cf6efe 100644 --- a/engine/tutorials/dockervolumes.md +++ b/engine/tutorials/dockervolumes.md @@ -5,14 +5,9 @@ aliases: description: How to manage data inside your Docker containers. keywords: - Examples, Usage, volume, docker, documentation, user guide, data, volumes -menu: - main: - parent: engine_learn_menu title: Manage data in containers --- -# Manage data in containers - So far you'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 diff --git a/engine/tutorials/index.md b/engine/tutorials/index.md index 7581c320ff7..e170d453c98 100644 --- a/engine/tutorials/index.md +++ b/engine/tutorials/index.md @@ -2,13 +2,8 @@ aliases: - /engine/userguide/containers/ description: Explains how to work with containers -identifier: engine_learn keywords: -- docker, introduction, documentation, about, technology, docker.io, user, guide, - user's, manual, platform, framework, home, intro -parent: engine_learn_menu -title: Learn by example -weight: "-80" +- docker, introduction, documentation, about, technology, docker.io, user, guide, user's, manual, platform, framework, home, intro --- # Learn by example diff --git a/engine/tutorials/networkingcontainers.md b/engine/tutorials/networkingcontainers.md index 65c2a5d88c2..3ad01ecd467 100644 --- a/engine/tutorials/networkingcontainers.md +++ b/engine/tutorials/networkingcontainers.md @@ -5,15 +5,9 @@ aliases: description: How to network Docker containers. keywords: - Examples, Usage, volume, docker, documentation, user guide, data, volumes -menu: - main: - parent: engine_learn_menu - weight: -3 title: Network 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 you how to network your containers. @@ -88,9 +82,9 @@ Every installation of the Docker Engine automatically includes three default net $ docker network ls NETWORK ID NAME DRIVER - 18a2866682b8 none null - c288470c46f6 host host - 7b369448dccb bridge bridge + 18a2866682b8 none null + c288470c46f6 host host + 7b369448dccb bridge bridge The network named `bridge` is a special network. Unless you tell it otherwise, Docker always launches your containers in this network. Try this now: @@ -152,7 +146,7 @@ While you can disconnect a container from a network, you cannot remove the buil ## Create your own bridge network -Docker Engine natively supports both bridge networks and overlay networks. A bridge network is limited to a single host running Docker Engine. An overlay network can include multiple hosts and is a more advanced topic. For this example, you'll create a bridge network: +Docker Engine natively supports both bridge networks and overlay networks. A bridge network is limited to a single host running Docker Engine. An overlay network can include multiple hosts and is a more advanced topic. For this example, you'll create a bridge network: $ docker network create -d bridge my-bridge-network @@ -161,9 +155,9 @@ The `-d` flag tells Docker to use the `bridge` driver for the new network. You c $ docker network ls NETWORK ID NAME DRIVER - 7b369448dccb bridge bridge - 615d565d498c my-bridge-network bridge - 18a2866682b8 none null + 7b369448dccb bridge bridge + 615d565d498c my-bridge-network bridge + 18a2866682b8 none null c288470c46f6 host host If you inspect the network, you'll find that it has nothing in it. diff --git a/engine/tutorials/usingdocker.md b/engine/tutorials/usingdocker.md index 893c94adece..4eaa5b3f180 100644 --- a/engine/tutorials/usingdocker.md +++ b/engine/tutorials/usingdocker.md @@ -3,17 +3,10 @@ aliases: - /engine/userguide/containers/usingdocker/ 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: engine_learn_menu - weight: -5 +- docker, the docker guide, documentation, docker.io, monitoring containers, docker top, docker inspect, docker port, ports, docker logs, log, Logs title: Run a simple application --- -# Run a simple application - In the ["*Hello world in a container*"](dockerizing.md) you launched your first containers using the `docker run` command. You ran an *interactive container* that ran in the foreground. You also ran a *detached container* that ran in the background. In the process you learned about several Docker commands: diff --git a/engine/understanding-docker.md b/engine/understanding-docker.md index 3cff5402fe5..a6cdcc7747e 100644 --- a/engine/understanding-docker.md +++ b/engine/understanding-docker.md @@ -7,14 +7,11 @@ aliases: description: Docker explained in depth keywords: - docker, introduction, documentation, about, technology, understanding -menu: - main: - parent: engine_use - weight: -90 title: Docker Overview --- # Docker Overview + Docker is an open platform for developing, shipping, and running applications. Docker enables you to separate your applications from your infrastructure so you can deliver software quickly. With Docker, you can manage your infrastructure diff --git a/engine/userguide/eng-image/baseimages.md b/engine/userguide/eng-image/baseimages.md index c4ec884ddfe..431ed92559e 100644 --- a/engine/userguide/eng-image/baseimages.md +++ b/engine/userguide/eng-image/baseimages.md @@ -4,14 +4,9 @@ aliases: description: How to create base images keywords: - Examples, Usage, base image, docker, documentation, examples -menu: - main: - parent: engine_images title: Create a base image --- -# Create a base image - 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 diff --git a/engine/userguide/eng-image/dockerfile_best-practices.md b/engine/userguide/eng-image/dockerfile_best-practices.md index 2632a76b70d..85e34101a4a 100644 --- a/engine/userguide/eng-image/dockerfile_best-practices.md +++ b/engine/userguide/eng-image/dockerfile_best-practices.md @@ -5,16 +5,10 @@ aliases: - /docker-cloud/tutorials/optimize-dockerfiles/ description: Hints, tips and guidelines for writing clean, reliable Dockerfiles keywords: -- Examples, Usage, base image, docker, documentation, dockerfile, best practices, - hub, official repo -menu: - main: - parent: engine_images +- Examples, Usage, base image, docker, documentation, dockerfile, best practices, hub, official repo title: Best practices for writing Dockerfiles --- -# Best practices for writing Dockerfiles - 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 diff --git a/engine/userguide/eng-image/image_management.md b/engine/userguide/eng-image/image_management.md index 008871e25b0..230811c34fb 100644 --- a/engine/userguide/eng-image/image_management.md +++ b/engine/userguide/eng-image/image_management.md @@ -5,15 +5,9 @@ alias: description: Documentation for docker Registry and Registry API keywords: - docker, registry, api, hub -menu: - main: - parent: engine_images - weight: 90 title: Image management --- -# Image management - The Docker Engine provides a client which you can use to create images on the command line or through a build process. You can run these images in a container or publish them for others to use. Storing the images you create, searching for images you might want, or publishing images others might use are all elements of image management. This section provides an overview of the major features and products Docker provides for image management. diff --git a/engine/userguide/eng-image/index.md b/engine/userguide/eng-image/index.md index 33e771910c4..00a64b35d09 100644 --- a/engine/userguide/eng-image/index.md +++ b/engine/userguide/eng-image/index.md @@ -1,17 +1,10 @@ --- description: The Docker user guide home page keywords: -- docker, introduction, documentation, about, technology, docker.io, user, guide, - user's, manual, platform, framework, home, intro -menu: - main: - identifier: engine_images - parent: engine_guide +- docker, introduction, documentation, about, technology, docker.io, user, guide, user's, manual, platform, framework, home, intro title: Work with images --- -# 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/engine/userguide/index.md b/engine/userguide/index.md index d90bd5b0910..23964b5aff1 100644 --- a/engine/userguide/index.md +++ b/engine/userguide/index.md @@ -1,18 +1,10 @@ --- description: How to use the Docker Engine user guide keywords: -- engine, introduction, documentation, about, technology, docker, user, guide, framework, - home, intro -menu: - main: - identifier: engine_guide - parent: engine_use - weight: "-78" -title: User Guide +- engine, introduction, documentation, about, technology, docker, user, guide, framework, home, intro +title: Docker Engine user guide --- -# Docker Engine user guide - This guide helps users learn how to use Docker Engine. - [Introduction to Engine user guide](intro.md) diff --git a/engine/userguide/intro.md b/engine/userguide/intro.md index e3844d79a6d..a628a748a47 100644 --- a/engine/userguide/intro.md +++ b/engine/userguide/intro.md @@ -1,19 +1,13 @@ --- -aliases: +aliases: - /userguide/ description: Introduction to user guide identifier: engine_guide_intro keywords: -- docker, introduction, documentation, about, technology, docker.io, user, guide, - user's, manual, platform, framework, home, intro -menu: - main: - parent: engine_guide -title: Introduction +- docker, introduction, documentation, about, technology, docker.io, user, guide, user's, manual, platform, framework, home, intro +title: Engine user guide --- -# 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: diff --git a/engine/userguide/labels-custom-metadata.md b/engine/userguide/labels-custom-metadata.md index eff703e2aad..86f07382fd1 100644 --- a/engine/userguide/labels-custom-metadata.md +++ b/engine/userguide/labels-custom-metadata.md @@ -2,15 +2,9 @@ description: Description of labels, which are used to manage metadata on Docker objects. keywords: - Usage, user guide, labels, metadata, docker, documentation, examples, annotating -menu: - main: - parent: engine_guide - weight: 100 -title: Managing Docker object labels +title: Docker object labels --- -# About labels - Labels are a mechanism for applying metadata to Docker objects, including: - Images diff --git a/engine/userguide/networking/configure-dns.md b/engine/userguide/networking/configure-dns.md index ed95f0bb238..6005c20d1aa 100644 --- a/engine/userguide/networking/configure-dns.md +++ b/engine/userguide/networking/configure-dns.md @@ -2,14 +2,9 @@ description: Learn how to configure DNS in user-defined networks keywords: - docker, DNS, network -menu: - main: - parent: smn_networking -title: Configure container DNS in user-defined networks +title: Embedded DNS server in user-defined networks --- -# Embedded DNS server in user-defined networks - The information in this section covers the embedded DNS server operation for containers in user-defined networks. DNS lookup for containers connected to user-defined networks works differently compared to the containers connected diff --git a/engine/userguide/networking/default_network/binding.md b/engine/userguide/networking/default_network/binding.md index babd1f595f3..324d5d206b4 100644 --- a/engine/userguide/networking/default_network/binding.md +++ b/engine/userguide/networking/default_network/binding.md @@ -2,14 +2,9 @@ description: expose, port, docker, bind publish keywords: - Examples, Usage, network, docker, documentation, user guide, multihost, cluster -menu: - main: - parent: smn_networking_def title: Bind container ports to the host --- -# Bind container ports to the host - The information in this section explains binding container ports within the Docker default bridge. This is a `bridge` network named `bridge` created automatically when you install Docker. > **Note**: The [Docker networks feature](../index.md) allows you to diff --git a/engine/userguide/networking/default_network/build-bridges.md b/engine/userguide/networking/default_network/build-bridges.md index 9f4d2aad6f8..6ae1c1d5516 100644 --- a/engine/userguide/networking/default_network/build-bridges.md +++ b/engine/userguide/networking/default_network/build-bridges.md @@ -2,14 +2,9 @@ description: Learn how to build your own bridge interface keywords: - docker, bridge, docker0, network -menu: - main: - parent: smn_networking_def title: Build your own bridge --- -# Build your own bridge - This section explains how to build your own bridge to replace the Docker default bridge. This is a `bridge` network named `bridge` created automatically when you install Docker. diff --git a/engine/userguide/networking/default_network/configure-dns.md b/engine/userguide/networking/default_network/configure-dns.md index b426abf23d7..0a0e91577c7 100644 --- a/engine/userguide/networking/default_network/configure-dns.md +++ b/engine/userguide/networking/default_network/configure-dns.md @@ -2,17 +2,12 @@ description: Learn how to configure DNS in Docker keywords: - docker, bridge, docker0, network -menu: - main: - parent: smn_networking_def title: Configure container DNS --- -# Configure container DNS - The information in this section explains configuring container DNS within the Docker default bridge. This is a `bridge` network named `bridge` created -automatically when you install Docker. +automatically when you install Docker. > **Note**: The [Docker networks feature](../index.md) allows you to create user-defined networks in addition to the default bridge network. Please refer to the [Docker Embedded DNS](../configure-dns.md) section for more information on DNS configurations in user-defined networks. @@ -68,7 +63,7 @@ Four different options affect container domain name services. discussed in more detail below. Because Docker may assign a different IP address to the linked containers on restart, Docker updates the ALIAS entry in the /etc/hosts file of the - recipient containers. + recipient containers.

diff --git a/engine/userguide/networking/default_network/container-communication.md b/engine/userguide/networking/default_network/container-communication.md index e13859c5ded..9a6c237bf2f 100644 --- a/engine/userguide/networking/default_network/container-communication.md +++ b/engine/userguide/networking/default_network/container-communication.md @@ -2,17 +2,12 @@ description: Understand container communication keywords: - docker, container, communication, network -menu: - main: - parent: smn_networking_def title: Understand container communication --- -# Understand container communication - The information in this section explains container communication within the Docker default bridge. This is a `bridge` network named `bridge` created -automatically when you install Docker. +automatically when you install Docker. **Note**: The [Docker networks feature](../index.md) allows you to create user-defined networks in addition to the default bridge network. @@ -90,7 +85,7 @@ the Docker daemon is running with both `--icc=false` and `--iptables=true` then, when it sees `docker run` invoked with the `--link=` option, the Docker server will insert a pair of `iptables` `ACCEPT` rules so that the new container can connect to the ports exposed by the other container -- the ports -that it mentioned in the `EXPOSE` lines of its `Dockerfile`. +that it mentioned in the `EXPOSE` lines of its `Dockerfile`. > **Note**: The value `CONTAINER_NAME` in `--link=` must either be an auto-assigned Docker name like `stupefied_pare` or else the name you assigned diff --git a/engine/userguide/networking/default_network/custom-docker0.md b/engine/userguide/networking/default_network/custom-docker0.md index 1e01353ad98..98b37324e65 100644 --- a/engine/userguide/networking/default_network/custom-docker0.md +++ b/engine/userguide/networking/default_network/custom-docker0.md @@ -2,15 +2,10 @@ description: Customizing docker0 keywords: - docker, bridge, docker0, network -menu: - main: - parent: smn_networking_def title: Customize the docker0 bridge --- -# Customize the docker0 bridge - -The information in this section explains how to customize the Docker default bridge. This is a `bridge` network named `bridge` created automatically when you install Docker. +The information in this section explains how to customize the Docker default bridge. This is a `bridge` network named `bridge` created automatically when you install Docker. **Note**: The [Docker networks feature](../index.md) allows you to create user-defined networks in addition to the default bridge network. diff --git a/engine/userguide/networking/default_network/dockerlinks.md b/engine/userguide/networking/default_network/dockerlinks.md index 59da9d236a0..6f8c999f313 100644 --- a/engine/userguide/networking/default_network/dockerlinks.md +++ b/engine/userguide/networking/default_network/dockerlinks.md @@ -3,17 +3,10 @@ description: Learn how to connect Docker containers together. aliases: - /userguide/dockerlinks/ keywords: -- Examples, Usage, user guide, links, linking, docker, documentation, examples, names, - name, container naming, port, map, network port, network -menu: - main: - parent: smn_networking_def - weight: -2 +- Examples, Usage, user guide, links, linking, docker, documentation, examples, names, name, container naming, port, map, network port, network title: Legacy container links --- -# Legacy container links - The information in this section explains legacy container links within the Docker default bridge. This is a `bridge` network named `bridge` created automatically when you install Docker. Before the [Docker networks feature](../index.md), you could use the diff --git a/engine/userguide/networking/default_network/index.md b/engine/userguide/networking/default_network/index.md index 78264405155..a92d99935e3 100644 --- a/engine/userguide/networking/default_network/index.md +++ b/engine/userguide/networking/default_network/index.md @@ -2,15 +2,9 @@ description: Docker networking keywords: - network, networking, bridge, docker, documentation -menu: - main: - identifier: smn_networking_def - parent: smn_networking title: Default bridge network --- -# Docker default bridge network - With the introduction of the Docker networks feature, you can create your own user-defined networks. The Docker default bridge is created when you install Docker Engine. It is a `bridge` network and is also named `bridge`. The topics @@ -21,5 +15,5 @@ in this section are related to interacting with that default bridge network. - [Binding container ports to the host](binding.md) - [Build your own bridge](build-bridges.md) - [Configure container DNS](configure-dns.md) -- [Customize the docker0 bridge](custom-docker0.md) -- [IPv6 with Docker](ipv6.md) +- [Customize the docker0 bridge](custom-docker0.md) +- [IPv6 with Docker](ipv6.md) diff --git a/engine/userguide/networking/default_network/ipv6.md b/engine/userguide/networking/default_network/ipv6.md index 29003f93f63..3c3c56ff6a5 100644 --- a/engine/userguide/networking/default_network/ipv6.md +++ b/engine/userguide/networking/default_network/ipv6.md @@ -2,18 +2,12 @@ description: How do we connect docker containers within and across hosts ? keywords: - docker, network, IPv6 -menu: - main: - parent: smn_networking_def - weight: 3 title: IPv6 with Docker --- -# IPv6 with Docker - The information in this section explains IPv6 with the Docker default bridge. This is a `bridge` network named `bridge` created automatically when you install -Docker. +Docker. As we are [running out of IPv4 addresses](http://en.wikipedia.org/wiki/IPv4_address_exhaustion) the IETF has diff --git a/engine/userguide/networking/get-started-macvlan.md b/engine/userguide/networking/get-started-macvlan.md index b08dcb60d7b..9d49bbd865a 100644 --- a/engine/userguide/networking/get-started-macvlan.md +++ b/engine/userguide/networking/get-started-macvlan.md @@ -2,20 +2,16 @@ description: Use macvlan for container networking keywords: - Examples, Usage, network, docker, documentation, user guide, macvlan, cluster -title: Get started with macvlan network driver +title: Get started with Macvlan network driver --- -# Macvlan Network Driver - -### Getting Started - The Macvlan driver is in order to make Docker users use cases and vet the implementation to ensure a hardened, production ready driver. Libnetwork now gives users total control over both IPv4 and IPv6 addressing. The VLAN drivers build on top of that in giving operators complete control of layer 2 VLAN tagging for users interested in underlay network integration. For overlay deployments that abstract away physical constraints see the [multi-host overlay ](/engine/userguide/networking/get-started-overlay/) driver. Macvlan is a new twist on the tried and true network virtualization technique. The Linux implementations are extremely lightweight because rather than using the traditional Linux bridge for isolation, they are simply associated to a Linux Ethernet interface or sub-interface to enforce separation between networks and connectivity to the physical network. Macvlan offers a number of unique features and plenty of room for further innovations with the various modes. Two high level advantages of these approaches are, the positive performance implications of bypassing the Linux bridge and the simplicity of having less moving parts. Removing the bridge that traditionally resides in between the Docker host NIC and container interface leaves a very simple setup consisting of container interfaces, attached directly to the Docker host interface. This result is easy access for external facing services as there is no port mappings in these scenarios. -### Pre-Requisites +## Pre-Requisites - The examples on this page are all single host and setup using Docker 1.12.0+ @@ -26,7 +22,7 @@ Macvlan offers a number of unique features and plenty of room for further innova - To check your current kernel version, use `uname -r` to display your kernel version - Macvlan Linux kernel v3.9–3.19 and 4.0+ -### MacVlan Bridge Mode Example Usage +## MacVlan Bridge Mode Example Usage Macvlan Bridge mode has a unique MAC address per container used to track MAC to port mappings by the Docker host. @@ -131,7 +127,7 @@ docker network rm For more on Docker networking commands see [Working with Docker network commands](/engine/userguide/networking/work-with-networks/) -### Macvlan 802.1q Trunk Bridge Mode Example Usage +## Macvlan 802.1q Trunk Bridge Mode Example Usage VLANs (Virtual Local Area Networks) have long been a primary means of virtualizing data center networks and are still in virtually all existing networks today. VLANs work by tagging a Layer-2 isolation domain with a 12-bit identifier ranging from 1-4094 that is inserted into a packet header that enables a logical grouping of a single or multiple subnets of both IPv4 and IPv6. It is very common for network operators to separate traffic using VLANs based on a subnet(s) function or security profile such as `web`, `db` or any other isolation needs. @@ -205,7 +201,7 @@ docker run --net=ipvlan210 --ip=192.168.212.10 -itd alpine /bin/sh docker run --net=ipvlan210 --ip=192.168.212.9 -it --rm alpine ping -c 2 192.168.212.10 ``` -### Dual Stack IPv4 IPv6 Macvlan Bridge Mode +## Dual Stack IPv4 IPv6 Macvlan Bridge Mode **Example:** Macvlan Bridge mode, 802.1q trunk, VLAN ID: 218, Multi-Subnet, Dual Stack @@ -248,7 +244,7 @@ root@526f3060d759:/# ip a show eth0 inet6 2001:db8:abc8::2/64 scope link nodad valid_lft forever preferred_lft forever -# Specified v4 gateway of 192.168.216.1 +# Specified v4 gateway of 192.168.216.1 root@526f3060d759:/# ip route default via 192.168.216.1 dev eth0 192.168.216.0/24 dev eth0 proto kernel scope link src 192.168.216.11 diff --git a/engine/userguide/networking/get-started-overlay.md b/engine/userguide/networking/get-started-overlay.md index 6f61da3f829..494403321b2 100644 --- a/engine/userguide/networking/get-started-overlay.md +++ b/engine/userguide/networking/get-started-overlay.md @@ -2,15 +2,9 @@ description: Use overlay for multi-host networking keywords: - Examples, Usage, network, docker, documentation, user guide, multihost, cluster -menu: - main: - parent: smn_networking - weight: -3 title: Get started with multi-host networking --- -# Get started with multi-host networking - This article uses an example to explain the basics of creating a multi-host network. Docker Engine supports multi-host networking out-of-the-box through the `overlay` network driver. Unlike `bridge` networks, overlay networks require diff --git a/engine/userguide/networking/index.md b/engine/userguide/networking/index.md index d7bc2a255b6..e72700e4e9a 100644 --- a/engine/userguide/networking/index.md +++ b/engine/userguide/networking/index.md @@ -4,16 +4,9 @@ aliases: description: How do we connect docker containers within and across hosts ? keywords: - Examples, Usage, network, docker, documentation, user guide, multihost, cluster -menu: - main: - identifier: networking_index - parent: smn_networking - weight: -5 title: Docker container networking --- -# Understand Docker container networks - This section provides an overview of the default networking behavior that Docker Engine delivers natively. It describes the type of networks created by default and how to create your own, user-defined networks. It also describes the diff --git a/engine/userguide/networking/overlay-security-model.md b/engine/userguide/networking/overlay-security-model.md index 717c0b22e60..19d3325f89a 100644 --- a/engine/userguide/networking/overlay-security-model.md +++ b/engine/userguide/networking/overlay-security-model.md @@ -3,15 +3,9 @@ description: Docker swarm mode overlay network security model keywords: - network, docker, documentation, user guide, multihost, swarm mode - overlay -menu: - main: - parent: smn_networking - weight: -2 -title: Swarm mode overlay network security model +title: Docker swarm mode overlay network security model --- -# Docker swarm mode overlay network security model - Overlay networking for Docker Engine swarm mode comes secure out of the box. The swarm nodes exchange overlay network information using a gossip protocol. By default the nodes encrypt and authenticate information they exchange via gossip diff --git a/engine/userguide/networking/work-with-networks.md b/engine/userguide/networking/work-with-networks.md index d6ec3946f5a..886a5ccf240 100644 --- a/engine/userguide/networking/work-with-networks.md +++ b/engine/userguide/networking/work-with-networks.md @@ -2,15 +2,9 @@ description: How to work with docker networks keywords: - commands, Usage, network, docker, cluster -menu: - main: - parent: smn_networking - weight: -4 title: Work with network commands --- -# Work with network commands - This article provides examples of the network subcommands you can use to interact with Docker networks and the containers in them. The commands are available through the Docker Engine CLI. These commands are: @@ -325,7 +319,7 @@ network. ```bash / # ifconfig -eth0 Link encap:Ethernet HWaddr 02:42:AC:11:00:03 +eth0 Link encap:Ethernet HWaddr 02:42:AC:11:00:03 inet addr:172.17.0.3 Bcast:0.0.0.0 Mask:255.255.0.0 inet6 addr: fe80::42:acff:fe11:3/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:9001 Metric:1 @@ -334,7 +328,7 @@ eth0 Link encap:Ethernet HWaddr 02:42:AC:11:00:03 collisions:0 txqueuelen:0 RX bytes:648 (648.0 B) TX bytes:648 (648.0 B) -eth1 Link encap:Ethernet HWaddr 02:42:AC:15:00:02 +eth1 Link encap:Ethernet HWaddr 02:42:AC:15:00:02 inet addr:172.25.0.2 Bcast:0.0.0.0 Mask:255.255.0.0 inet6 addr: fe80::42:acff:fe19:2/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 @@ -343,7 +337,7 @@ eth1 Link encap:Ethernet HWaddr 02:42:AC:15:00:02 collisions:0 txqueuelen:0 RX bytes:648 (648.0 B) TX bytes:648 (648.0 B) -lo Link encap:Local Loopback +lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 @@ -810,7 +804,7 @@ no longer talk to `container3` on the `isolated_nw` network. $ docker attach container2 / # ifconfig -eth0 Link encap:Ethernet HWaddr 02:42:AC:11:00:03 +eth0 Link encap:Ethernet HWaddr 02:42:AC:11:00:03 inet addr:172.17.0.3 Bcast:0.0.0.0 Mask:255.255.0.0 inet6 addr: fe80::42:acff:fe11:3/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:9001 Metric:1 @@ -819,7 +813,7 @@ eth0 Link encap:Ethernet HWaddr 02:42:AC:11:00:03 collisions:0 txqueuelen:0 RX bytes:648 (648.0 B) TX bytes:648 (648.0 B) -lo Link encap:Local Loopback +lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 @@ -913,9 +907,9 @@ List all your networks to verify the `isolated_nw` was removed: $ docker network ls NETWORK ID NAME DRIVER -72314fa53006 host host -f7ab26d71dbd bridge bridge -0f32e83e61ac none null +72314fa53006 host host +f7ab26d71dbd bridge bridge +0f32e83e61ac none null ``` ## Related information diff --git a/engine/userguide/storagedriver/aufs-driver.md b/engine/userguide/storagedriver/aufs-driver.md index 121f98358b8..cc1473ece2e 100644 --- a/engine/userguide/storagedriver/aufs-driver.md +++ b/engine/userguide/storagedriver/aufs-driver.md @@ -2,14 +2,9 @@ description: Learn how to optimize your use of AUFS driver. keywords: - 'container, storage, driver, AUFS ' -menu: - main: - parent: engine_driver -title: AUFS storage driver in practice +title: Docker and AUFS in practice --- -# Docker and AUFS in practice - AUFS was the first storage driver in use with Docker. As a result, it has a long and close history with Docker, is very stable, has a lot of real-world deployments, and has strong community support. AUFS has several features that @@ -93,12 +88,12 @@ of the image's read-only layers the file exists in. ## Renaming directories with the AUFS storage driver -Calling `rename(2)` for a directory is not fully supported on AUFS. It returns -`EXDEV` ("cross-device link not permitted"), even when both of the source and -the destination path are on a same AUFS layer, unless the directory has no +Calling `rename(2)` for a directory is not fully supported on AUFS. It returns +`EXDEV` ("cross-device link not permitted"), even when both of the source and +the destination path are on a same AUFS layer, unless the directory has no children. -So your application has to be designed so that it can handle `EXDEV` and fall +So your application has to be designed so that it can handle `EXDEV` and fall back to a "copy and unlink" strategy. ## Configure Docker with AUFS @@ -216,7 +211,7 @@ layer. These latencies increase and are compounded when these files exist below many image layers and the files themselves are large. One final point. Data volumes provide the best and most predictable -performance. This is because they bypass the storage driver and do not incur +performance. This is because they bypass the storage driver and do not incur any of the potential overheads introduced by thin provisioning and copy-on-write. For this reason, you may want to place heavy write workloads on data volumes. @@ -225,7 +220,7 @@ data volumes. To summarize the AUFS's aspect which is incompatible with other filesystems: -- The AUFS does not fully support the `rename(2)` system call. Your application +- The AUFS does not fully support the `rename(2)` system call. Your application needs to detect its failure and fall back to a "copy and unlink" strategy. ## Related information diff --git a/engine/userguide/storagedriver/btrfs-driver.md b/engine/userguide/storagedriver/btrfs-driver.md index 13259c90041..833e050d981 100644 --- a/engine/userguide/storagedriver/btrfs-driver.md +++ b/engine/userguide/storagedriver/btrfs-driver.md @@ -2,22 +2,17 @@ description: Learn how to optimize your use of Btrfs driver. keywords: - 'container, storage, driver, Btrfs ' -menu: - main: - parent: engine_driver -title: Btrfs storage in practice +title: Docker and Btrfs in practice --- -# Docker and Btrfs in practice - Btrfs is a next generation copy-on-write filesystem that supports many advanced storage technologies that make it a good fit for Docker. Btrfs is included in the mainline Linux kernel and its on-disk-format is now considered stable. -However, many of its features are still under heavy development and users +However, many of its features are still under heavy development and users should consider it a fast-moving target. Docker's `btrfs` storage driver leverages many Btrfs features for image and -container management. Among these features are thin provisioning, +container management. Among these features are thin provisioning, copy-on-write, and snapshotting. This article refers to Docker's Btrfs storage driver as `btrfs` and the overall @@ -27,79 +22,79 @@ This article refers to Docker's Btrfs storage driver as `btrfs` and the overall ## The future of Btrfs -Btrfs has been long hailed as the future of Linux filesystems. With full -support in the mainline Linux kernel, a stable on-disk-format, and active +Btrfs has been long hailed as the future of Linux filesystems. With full +support in the mainline Linux kernel, a stable on-disk-format, and active development with a focus on stability, this is now becoming more of a reality. -As far as Docker on the Linux platform goes, many people see the `btrfs` -storage driver as a potential long-term replacement for the `devicemapper` -storage driver. However, at the time of writing, the `devicemapper` storage -driver should be considered safer, more stable, and more *production ready*. -You should only consider the `btrfs` driver for production deployments if you +As far as Docker on the Linux platform goes, many people see the `btrfs` +storage driver as a potential long-term replacement for the `devicemapper` +storage driver. However, at the time of writing, the `devicemapper` storage +driver should be considered safer, more stable, and more *production ready*. +You should only consider the `btrfs` driver for production deployments if you understand it well and have existing experience with Btrfs. ## Image layering and sharing with Btrfs -Docker leverages Btrfs *subvolumes* and *snapshots* for managing the on-disk -components of image and container layers. Btrfs subvolumes look and feel like -a normal Unix filesystem. As such, they can have their own internal directory +Docker leverages Btrfs *subvolumes* and *snapshots* for managing the on-disk +components of image and container layers. Btrfs subvolumes look and feel like +a normal Unix filesystem. As such, they can have their own internal directory structure that hooks into the wider Unix filesystem. -Subvolumes are natively copy-on-write and have space allocated to them +Subvolumes are natively copy-on-write and have space allocated to them on-demand from an underlying storage pool. They can also be nested and snapped. - The diagram blow shows 4 subvolumes. 'Subvolume 2' and 'Subvolume 3' are + The diagram blow shows 4 subvolumes. 'Subvolume 2' and 'Subvolume 3' are nested, whereas 'Subvolume 4' shows its own internal directory tree. ![](images/btfs_subvolume.jpg) -Snapshots are a point-in-time read-write copy of an entire subvolume. They -exist directly below the subvolume they were created from. You can create +Snapshots are a point-in-time read-write copy of an entire subvolume. They +exist directly below the subvolume they were created from. You can create snapshots of snapshots as shown in the diagram below. ![](images/btfs_snapshots.jpg) -Btfs allocates space to subvolumes and snapshots on demand from an underlying -pool of storage. The unit of allocation is referred to as a *chunk*, and +Btfs allocates space to subvolumes and snapshots on demand from an underlying +pool of storage. The unit of allocation is referred to as a *chunk*, and *chunks* are normally ~1GB in size. -Snapshots are first-class citizens in a Btrfs filesystem. This means that they -look, feel, and operate just like regular subvolumes. The technology required -to create them is built directly into the Btrfs filesystem thanks to its -native copy-on-write design. This means that Btrfs snapshots are space -efficient with little or no performance overhead. The diagram below shows a +Snapshots are first-class citizens in a Btrfs filesystem. This means that they +look, feel, and operate just like regular subvolumes. The technology required +to create them is built directly into the Btrfs filesystem thanks to its +native copy-on-write design. This means that Btrfs snapshots are space +efficient with little or no performance overhead. The diagram below shows a subvolume and its snapshot sharing the same data. ![](images/btfs_pool.jpg) -Docker's `btrfs` storage driver stores every image layer and container in its -own Btrfs subvolume or snapshot. The base layer of an image is stored as a -subvolume whereas child image layers and containers are stored as snapshots. +Docker's `btrfs` storage driver stores every image layer and container in its +own Btrfs subvolume or snapshot. The base layer of an image is stored as a +subvolume whereas child image layers and containers are stored as snapshots. This is shown in the diagram below. ![](images/btfs_container_layer.jpg) -The high level process for creating images and containers on Docker hosts +The high level process for creating images and containers on Docker hosts running the `btrfs` driver is as follows: 1. The image's base layer is stored in a Btrfs *subvolume* under `/var/lib/docker/btrfs/subvolumes`. -2. Subsequent image layers are stored as a Btrfs *snapshot* of the parent +2. Subsequent image layers are stored as a Btrfs *snapshot* of the parent layer's subvolume or snapshot. The diagram below shows a three-layer image. The base layer is a subvolume. - Layer 1 is a snapshot of the base layer's subvolume. Layer 2 is a snapshot of + Layer 1 is a snapshot of the base layer's subvolume. Layer 2 is a snapshot of Layer 1's snapshot. ![](images/btfs_constructs.jpg) -As of Docker 1.10, image layer IDs no longer correspond to directory names +As of Docker 1.10, image layer IDs no longer correspond to directory names under `/var/lib/docker/`. ## Image and container on-disk constructs Image layers and containers are visible in the Docker host's filesystem at -`/var/lib/docker/btrfs/subvolumes/`. However, as previously stated, directory +`/var/lib/docker/btrfs/subvolumes/`. However, as previously stated, directory names no longer correspond to image layer IDs. That said, directories for containers are present even for containers with a stopped status. This is because the `btrfs` storage driver mounts a default, top-level subvolume at @@ -107,8 +102,8 @@ because the `btrfs` storage driver mounts a default, top-level subvolume at that as Btrfs filesystem objects and not as individual mounts. Because Btrfs works at the filesystem level and not the block level, each image -and container layer can be browsed in the filesystem using normal Unix -commands. The example below shows a truncated output of an `ls -l` command an +and container layer can be browsed in the filesystem using normal Unix +commands. The example below shows a truncated output of an `ls -l` command an image layer: $ ls -l /var/lib/docker/btrfs/subvolumes/0a17decee4139b0de68478f149cc16346f5e711c5ae3bb969895f22dd6723751/ @@ -124,7 +119,7 @@ image layer: ## Container reads and writes with Btrfs A container is a space-efficient snapshot of an image. Metadata in the snapshot -points to the actual data blocks in the storage pool. This is the same as with +points to the actual data blocks in the storage pool. This is the same as with a subvolume. Therefore, reads performed against a snapshot are essentially the same as reads performed against a subvolume. As a result, no performance overhead is incurred from the Btrfs driver. @@ -138,31 +133,31 @@ new files to a container's snapshot operate at native Btrfs speeds. Updating an existing file in a container causes a copy-on-write operation (technically *redirect-on-write*). The driver leaves the original data and allocates new space to the snapshot. The updated data is written to this new -space. Then, the driver updates the filesystem metadata in the snapshot to -point to this new data. The original data is preserved in-place for subvolumes +space. Then, the driver updates the filesystem metadata in the snapshot to +point to this new data. The original data is preserved in-place for subvolumes and snapshots further up the tree. This behavior is native to copy-on-write filesystems like Btrfs and incurs very little overhead. -With Btfs, writing and updating lots of small files can result in slow +With Btfs, writing and updating lots of small files can result in slow performance. More on this later. ## Configuring Docker with Btrfs -The `btrfs` storage driver only operates on a Docker host where -`/var/lib/docker` is mounted as a Btrfs filesystem. The following procedure +The `btrfs` storage driver only operates on a Docker host where +`/var/lib/docker` is mounted as a Btrfs filesystem. The following procedure shows how to configure Btrfs on Ubuntu 14.04 LTS. ### Prerequisites -If you have already used the Docker daemon on your Docker host and have images -you want to keep, `push` them to Docker Hub or your private Docker Trusted +If you have already used the Docker daemon on your Docker host and have images +you want to keep, `push` them to Docker Hub or your private Docker Trusted Registry before attempting this procedure. -Stop the Docker daemon. Then, ensure that you have a spare block device at +Stop the Docker daemon. Then, ensure that you have a spare block device at `/dev/xvdb`. The device identifier may be different in your environment and you should substitute your own values throughout the procedure. -The procedure also assumes your kernel has the appropriate Btrfs modules +The procedure also assumes your kernel has the appropriate Btrfs modules loaded. To verify this, use the following command: $ cat /proc/filesystems | grep btrfs @@ -183,7 +178,7 @@ Assuming your system meets the prerequisites, do the following: 2. Create the Btrfs storage pool. - Btrfs storage pools are created with the `mkfs.btrfs` command. Passing + Btrfs storage pools are created with the `mkfs.btrfs` command. Passing multiple devices to the `mkfs.btrfs` command creates a pool across all of those devices. Here you create a pool with a single device at `/dev/xvdb`. @@ -217,8 +212,8 @@ multiple devices to the `mkfs.btrfs` command creates a pool across all of those /dev/xvdb: UUID="a0ed851e-158b-4120-8416-c9b072c8cf47" UUID_SUB="c3927a64-4454-4eef-95c2-a7d44ac0cf27" TYPE="btrfs" - b. Create an `/etc/fstab` entry to automatically mount `/var/lib/docker` -each time the system boots. Either of the following lines will work, just + b. Create an `/etc/fstab` entry to automatically mount `/var/lib/docker` +each time the system boots. Either of the following lines will work, just remember to substitute the UUID value with the value obtained from the previous command. @@ -235,10 +230,10 @@ remember to substitute the UUID value with the value obtained from the previous /dev/xvdb on /var/lib/docker type btrfs (rw) - The last line in the output above shows the `/dev/xvdb` mounted at + The last line in the output above shows the `/dev/xvdb` mounted at `/var/lib/docker` as Btrfs. -Now that you have a Btrfs filesystem mounted at `/var/lib/docker`, the daemon +Now that you have a Btrfs filesystem mounted at `/var/lib/docker`, the daemon should automatically load with the `btrfs` storage driver. 1. Start the Docker daemon. @@ -250,8 +245,8 @@ should automatically load with the `btrfs` storage driver. The procedure for starting the Docker daemon may differ depending on the Linux distribution you are using. - You can force the Docker daemon to start with the `btrfs` storage -driver by either passing the `--storage-driver=btrfs` flag to the `docker + You can force the Docker daemon to start with the `btrfs` storage +driver by either passing the `--storage-driver=btrfs` flag to the `docker daemon` at startup, or adding it to the `DOCKER_OPTS` line to the Docker config file. @@ -271,50 +266,50 @@ Your Docker host is now configured to use the `btrfs` storage driver. There are several factors that influence Docker's performance under the `btrfs` storage driver. -- **Page caching**. Btrfs does not support page cache sharing. This means that -*n* containers accessing the same file require *n* copies to be cached. As a -result, the `btrfs` driver may not be the best choice for PaaS and other high +- **Page caching**. Btrfs does not support page cache sharing. This means that +*n* containers accessing the same file require *n* copies to be cached. As a +result, the `btrfs` driver may not be the best choice for PaaS and other high density container use cases. -- **Small writes**. Containers performing lots of small writes (including +- **Small writes**. Containers performing lots of small writes (including Docker hosts that start and stop many containers) can lead to poor use of Btrfs - chunks. This can ultimately lead to out-of-space conditions on your Docker -host and stop working. This is currently a major drawback to use current + chunks. This can ultimately lead to out-of-space conditions on your Docker +host and stop working. This is currently a major drawback to use current versions of Btrfs. - If you use the `btrfs` storage driver, closely monitor the free space on -your Btrfs filesystem using the `btrfs filesys show` command. Do not trust the -output of normal Unix commands such as `df`; always use the Btrfs native + If you use the `btrfs` storage driver, closely monitor the free space on +your Btrfs filesystem using the `btrfs filesys show` command. Do not trust the +output of normal Unix commands such as `df`; always use the Btrfs native commands. -- **Sequential writes**. Btrfs writes data to disk via journaling technique. +- **Sequential writes**. Btrfs writes data to disk via journaling technique. This can impact sequential writes, where performance can be up to half. -- **Fragmentation**. Fragmentation is a natural byproduct of copy-on-write -filesystems like Btrfs. Many small random writes can compound this issue. It -can manifest as CPU spikes on Docker hosts using SSD media and head thrashing +- **Fragmentation**. Fragmentation is a natural byproduct of copy-on-write +filesystems like Btrfs. Many small random writes can compound this issue. It +can manifest as CPU spikes on Docker hosts using SSD media and head thrashing on Docker hosts using spinning media. Both of these result in poor performance. - Recent versions of Btrfs allow you to specify `autodefrag` as a mount -option. This mode attempts to detect random writes and defragment them. You + Recent versions of Btrfs allow you to specify `autodefrag` as a mount +option. This mode attempts to detect random writes and defragment them. You should perform your own tests before enabling this option on your Docker hosts. - Some tests have shown this option has a negative performance impact on Docker -hosts performing lots of small writes (including systems that start and stop + Some tests have shown this option has a negative performance impact on Docker +hosts performing lots of small writes (including systems that start and stop many containers). -- **Solid State Devices (SSD)**. Btrfs has native optimizations for SSD media. -To enable these, mount with the `-o ssd` mount option. These optimizations -include enhanced SSD write performance by avoiding things like *seek +- **Solid State Devices (SSD)**. Btrfs has native optimizations for SSD media. +To enable these, mount with the `-o ssd` mount option. These optimizations +include enhanced SSD write performance by avoiding things like *seek optimizations* that have no use on SSD media. - Btfs also supports the TRIM/Discard primitives. However, mounting with the -`-o discard` mount option can cause performance issues. Therefore, it is + Btfs also supports the TRIM/Discard primitives. However, mounting with the +`-o discard` mount option can cause performance issues. Therefore, it is recommended you perform your own tests before using this option. -- **Use Data Volumes**. Data volumes provide the best and most predictable -performance. This is because they bypass the storage driver and do not incur -any of the potential overheads introduced by thin provisioning and -copy-on-write. For this reason, you should place heavy write workloads on data +- **Use Data Volumes**. Data volumes provide the best and most predictable +performance. This is because they bypass the storage driver and do not incur +any of the potential overheads introduced by thin provisioning and +copy-on-write. For this reason, you should place heavy write workloads on data volumes. ## Related Information diff --git a/engine/userguide/storagedriver/device-mapper-driver.md b/engine/userguide/storagedriver/device-mapper-driver.md index 345da65e596..33ba54d13b8 100644 --- a/engine/userguide/storagedriver/device-mapper-driver.md +++ b/engine/userguide/storagedriver/device-mapper-driver.md @@ -2,14 +2,9 @@ description: Learn how to optimize your use of device mapper driver. keywords: - container, storage, driver, device mapper -menu: - main: - parent: engine_driver -title: Device mapper storage in practice +title: Docker and the Device Mapper storage driver --- -# Docker and the Device Mapper storage driver - Device Mapper is a kernel-based framework that underpins many advanced volume management technologies on Linux. Docker's `devicemapper` storage driver leverages the thin provisioning and snapshotting capabilities of this framework diff --git a/engine/userguide/storagedriver/imagesandcontainers.md b/engine/userguide/storagedriver/imagesandcontainers.md index 8d5067469f0..351c6ab13aa 100644 --- a/engine/userguide/storagedriver/imagesandcontainers.md +++ b/engine/userguide/storagedriver/imagesandcontainers.md @@ -2,59 +2,53 @@ description: Learn the technologies that support storage drivers. keywords: - container, storage, driver, AUFS, btfs, devicemapper,zvfs -menu: - main: - parent: engine_driver - weight: -2 title: Understand images, containers, and storage drivers --- -# Understand images, containers, and storage drivers - To use storage drivers effectively, you must understand how Docker builds and -stores images. Then, you need an understanding of how these images are used by -containers. Finally, you'll need a short introduction to the technologies that +stores images. Then, you need an understanding of how these images are used by +containers. Finally, you'll need a short introduction to the technologies that enable both images and container operations. ## Images and layers -Each Docker image references a list of read-only layers that represent -filesystem differences. Layers are stacked on top of each other to form a base -for a container's root filesystem. The diagram below shows the Ubuntu 15.04 +Each Docker image references a list of read-only layers that represent +filesystem differences. Layers are stacked on top of each other to form a base +for a container's root filesystem. The diagram below shows the Ubuntu 15.04 image comprising 4 stacked image layers. ![](images/image-layers.jpg) -The Docker storage driver is responsible for stacking these layers and +The Docker storage driver is responsible for stacking these layers and providing a single unified view. - -When you create a new container, you add a new, thin, writable layer on top of -the underlying stack. This layer is often called the "container layer". All -changes made to the running container - such as writing new files, modifying -existing files, and deleting files - are written to this thin writable -container layer. The diagram below shows a container based on the Ubuntu 15.04 + +When you create a new container, you add a new, thin, writable layer on top of +the underlying stack. This layer is often called the "container layer". All +changes made to the running container - such as writing new files, modifying +existing files, and deleting files - are written to this thin writable +container layer. The diagram below shows a container based on the Ubuntu 15.04 image. ![](images/container-layers.jpg) ### Content addressable storage -Docker 1.10 introduced a new content addressable storage model. This is a -completely new way to address image and layer data on disk. Previously, image -and layer data was referenced and stored using a randomly generated UUID. In +Docker 1.10 introduced a new content addressable storage model. This is a +completely new way to address image and layer data on disk. Previously, image +and layer data was referenced and stored using a randomly generated UUID. In the new model this is replaced by a secure *content hash*. -The new model improves security, provides a built-in way to avoid ID -collisions, and guarantees data integrity after pull, push, load, and save +The new model improves security, provides a built-in way to avoid ID +collisions, and guarantees data integrity after pull, push, load, and save operations. It also enables better sharing of layers by allowing many images to freely share their layers even if they didn’t come from the same build. -The diagram below shows an updated version of the previous diagram, -highlighting the changes implemented by Docker 1.10. +The diagram below shows an updated version of the previous diagram, +highlighting the changes implemented by Docker 1.10. ![](images/container-layers-cas.jpg) -As can be seen, all image layer IDs are cryptographic hashes, whereas the +As can be seen, all image layer IDs are cryptographic hashes, whereas the container ID is still a randomly generated UUID. There are several things to note regarding the new model. These include: @@ -62,41 +56,41 @@ There are several things to note regarding the new model. These include: 1. Migration of existing images 2. Image and layer filesystem structures -Existing images, those created and pulled by earlier versions of Docker, need -to be migrated before they can be used with the new model. This migration -involves calculating new secure checksums and is performed automatically the +Existing images, those created and pulled by earlier versions of Docker, need +to be migrated before they can be used with the new model. This migration +involves calculating new secure checksums and is performed automatically the first time you start an updated Docker daemon. After the migration is complete, - all images and tags will have brand new secure IDs. + all images and tags will have brand new secure IDs. -Although the migration is automatic and transparent, it is computationally +Although the migration is automatic and transparent, it is computationally intensive. This means it can take time if you have lots of image data. During this time your Docker daemon will not respond to other requests. -A migration tool exists that allows you to migrate existing images to the new -format before upgrading your Docker daemon. This means that upgraded Docker -daemons do not need to perform the migration in-band, and therefore avoids any +A migration tool exists that allows you to migrate existing images to the new +format before upgrading your Docker daemon. This means that upgraded Docker +daemons do not need to perform the migration in-band, and therefore avoids any associated downtime. It also provides a way to manually migrate existing images - so that they can be distributed to other Docker daemons in your environment + so that they can be distributed to other Docker daemons in your environment that are already running the latest versions of Docker. -The migration tool is provided by Docker, Inc., and runs as a container. You +The migration tool is provided by Docker, Inc., and runs as a container. You can download it from [https://github.com/docker/v1.10-migrator/releases](https://github.com/docker/v1.10-migrator/releases). -While running the "migrator" image you need to expose your Docker host's data -directory to the container. If you are using the default Docker data path, the -command to run the container will look like this +While running the "migrator" image you need to expose your Docker host's data +directory to the container. If you are using the default Docker data path, the +command to run the container will look like this $ sudo docker run --rm -v /var/lib/docker:/var/lib/docker docker/v1.10-migrator -If you use the `devicemapper` storage driver, you will need to include the +If you use the `devicemapper` storage driver, you will need to include the `--privileged` option so that the container has access to your storage devices. #### Migration example The following example shows the migration tool in use on a Docker host running version 1.9.1 of the Docker daemon and the AUFS storage driver. The Docker host - is running on a **t2.micro** AWS EC2 instance with 1 vCPU, 1GB RAM, and a -single 8GB general purpose SSD EBS volume. The Docker data directory + is running on a **t2.micro** AWS EC2 instance with 1 vCPU, 1GB RAM, and a +single 8GB general purpose SSD EBS volume. The Docker data directory (`/var/lib/docker`) was consuming 2GB of space. $ docker images @@ -109,11 +103,11 @@ single 8GB general purpose SSD EBS volume. The Docker data directory redis latest 8bccd73928d9 2 weeks ago 151.3 MB centos latest c8a648134623 4 weeks ago 196.6 MB ubuntu 15.04 c8be1ac8145a 7 weeks ago 131.3 MB - + $ sudo du -hs /var/lib/docker 2.0G /var/lib/docker - + $ time docker run --rm -v /var/lib/docker:/var/lib/docker docker/v1.10-migrator Unable to find image 'docker/v1.10-migrator:latest' locally @@ -133,11 +127,11 @@ single 8GB general purpose SSD EBS volume. The Docker data directory user 0m0.046s sys 0m0.008s -The Unix `time` command prepends the `docker run` command to produce timings -for the operation. As can be seen, the overall time taken to migrate 7 images -comprising 2GB of disk space took approximately 1 minute. However, this -included the time taken to pull the `docker/v1.10-migrator` image -(approximately 3.5 seconds). The same operation on an m4.10xlarge EC2 instance +The Unix `time` command prepends the `docker run` command to produce timings +for the operation. As can be seen, the overall time taken to migrate 7 images +comprising 2GB of disk space took approximately 1 minute. However, this +included the time taken to pull the `docker/v1.10-migrator` image +(approximately 3.5 seconds). The same operation on an m4.10xlarge EC2 instance with 40 vCPUs, 160GB RAM and an 8GB provisioned IOPS EBS volume resulted in the following improved timings: @@ -150,23 +144,23 @@ This shows that the migration operation is affected by the hardware spec of the ## Container and layers -The major difference between a container and an image is the top writable -layer. All writes to the container that add new or modify existing data are +The major difference between a container and an image is the top writable +layer. All writes to the container that add new or modify existing data are stored in this writable layer. When the container is deleted the writable layer is also deleted. The underlying image remains unchanged. -Because each container has its own thin writable container layer, and all -changes are stored in this container layer, this means that multiple containers -can share access to the same underlying image and yet have their own data -state. The diagram below shows multiple containers sharing the same Ubuntu +Because each container has its own thin writable container layer, and all +changes are stored in this container layer, this means that multiple containers +can share access to the same underlying image and yet have their own data +state. The diagram below shows multiple containers sharing the same Ubuntu 15.04 image. ![](images/sharing-layers.jpg) -The Docker storage driver is responsible for enabling and managing both the -image layers and the writable container layer. How a storage driver +The Docker storage driver is responsible for enabling and managing both the +image layers and the writable container layer. How a storage driver accomplishes these can vary between drivers. Two key technologies behind Docker - image and container management are stackable image layers and copy-on-write + image and container management are stackable image layers and copy-on-write (CoW). @@ -176,28 +170,28 @@ Sharing is a good way to optimize resources. People do this instinctively in daily life. For example, twins Jane and Joseph taking an Algebra class at different times from different teachers can share the same exercise book by passing it between each other. Now, suppose Jane gets an assignment to complete -the homework on page 11 in the book. At that point, Jane copies page 11, -completes the homework, and hands in her copy. The original exercise book is +the homework on page 11 in the book. At that point, Jane copies page 11, +completes the homework, and hands in her copy. The original exercise book is unchanged and only Jane has a copy of the changed page 11. Copy-on-write is a similar strategy of sharing and copying. In this strategy, system processes that need the same data share the same instance of that data -rather than having their own copy. At some point, if one process needs to +rather than having their own copy. At some point, if one process needs to modify or write to the data, only then does the operating system make a copy of - the data for that process to use. Only the process that needs to write has -access to the data copy. All the other processes continue to use the original + the data for that process to use. Only the process that needs to write has +access to the data copy. All the other processes continue to use the original data. -Docker uses a copy-on-write technology with both images and containers. This -CoW strategy optimizes both image disk space usage and the performance of +Docker uses a copy-on-write technology with both images and containers. This +CoW strategy optimizes both image disk space usage and the performance of container start times. The next sections look at how copy-on-write is leveraged with images and containers through sharing and copying. ### Sharing promotes smaller images This section looks at image layers and copy-on-write technology. All image and - container layers exist inside the Docker host's *local storage area* and are -managed by the storage driver. On Linux-based Docker hosts this is usually + container layers exist inside the Docker host's *local storage area* and are +managed by the storage driver. On Linux-based Docker hosts this is usually located under `/var/lib/docker/`. The Docker client reports on image layers when instructed to pull and push @@ -215,17 +209,17 @@ images with `docker pull` and `docker push`. The command below pulls the Status: Downloaded newer image for ubuntu:15.04 From the output, you'll see that the command actually pulls 4 image layers. -Each of the above lines lists an image layer and its UUID or cryptographic -hash. The combination of these four layers makes up the `ubuntu:15.04` Docker +Each of the above lines lists an image layer and its UUID or cryptographic +hash. The combination of these four layers makes up the `ubuntu:15.04` Docker image. -Each of these layers is stored in its own directory inside the Docker host's -local storage are. +Each of these layers is stored in its own directory inside the Docker host's +local storage are. Versions of Docker prior to 1.10 stored each layer in a directory with the same - name as the image layer ID. However, this is not the case for images pulled -with Docker version 1.10 and later. For example, the command below shows an -image being pulled from Docker Hub, followed by a directory listing on a host + name as the image layer ID. However, this is not the case for images pulled +with Docker version 1.10 and later. For example, the command below shows an +image being pulled from Docker Hub, followed by a directory listing on a host running version 1.9.1 of the Docker Engine. $ docker pull ubuntu:15.04 @@ -245,8 +239,8 @@ running version 1.9.1 of the Docker Engine. df6e891a3ea9cdce2a388a2cf1b1711629557454fd120abd5be6d32329a0e0ac e65155041eed7ec58dea78d90286048055ca75d41ea893c7246e794389ecf203 -Notice how the four directories match up with the layer IDs of the downloaded -image. Now compare this with the same operations performed on a host running +Notice how the four directories match up with the layer IDs of the downloaded +image. Now compare this with the same operations performed on a host running version 1.10 of the Docker Engine. $ docker pull ubuntu:15.04 @@ -268,23 +262,23 @@ See how the four directories do not match up with the image layer IDs pulled in the previous step. Despite the differences between image management before and after version 1.10, -all versions of Docker still allow images to share layers. For example, If you -`pull` an image that shares some of the same image layers as an image that has -already been pulled, the Docker daemon recognizes this, and only pulls the -layers it doesn't already have stored locally. After the second pull, the two +all versions of Docker still allow images to share layers. For example, If you +`pull` an image that shares some of the same image layers as an image that has +already been pulled, the Docker daemon recognizes this, and only pulls the +layers it doesn't already have stored locally. After the second pull, the two images will share any common image layers. -You can illustrate this now for yourself. Starting with the `ubuntu:15.04` +You can illustrate this now for yourself. Starting with the `ubuntu:15.04` image that you just pulled, make a change to it, and build a new image based on - the change. One way to do this is using a `Dockerfile` and the `docker build` + the change. One way to do this is using a `Dockerfile` and the `docker build` command. -1. In an empty directory, create a simple `Dockerfile` that starts with the +1. In an empty directory, create a simple `Dockerfile` that starts with the ubuntu:15.04 image. FROM ubuntu:15.04 -2. Add a new file called "newfile" in the image's `/tmp` directory with the +2. Add a new file called "newfile" in the image's `/tmp` directory with the text "Hello world" in it. When you are done, the `Dockerfile` contains two lines: @@ -295,7 +289,7 @@ command. 3. Save and close the file. -4. From a terminal in the same folder as your `Dockerfile`, run the following +4. From a terminal in the same folder as your `Dockerfile`, run the following command: $ docker build -t changed-ubuntu . @@ -315,105 +309,105 @@ command. The output above shows a new image with image ID `94e6b7d2c720`. -5. Run the `docker images` command to verify the new `changed-ubuntu` image is +5. Run the `docker images` command to verify the new `changed-ubuntu` image is in the Docker host's local storage area. REPOSITORY TAG IMAGE ID CREATED SIZE changed-ubuntu latest 03b964f68d06 33 seconds ago 131.4 MB ubuntu 15.04 013f3d01d247 6 weeks ago 131.3 MB -6. Run the `docker history` command to see which image layers were used to +6. Run the `docker history` command to see which image layers were used to create the new `changed-ubuntu` image. $ docker history changed-ubuntu IMAGE CREATED CREATED BY SIZE COMMENT - 94e6b7d2c720 2 minutes ago /bin/sh -c echo "Hello world" > /tmp/newfile 12 B - 3f7bcee56709 6 weeks ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0 B + 94e6b7d2c720 2 minutes ago /bin/sh -c echo "Hello world" > /tmp/newfile 12 B + 3f7bcee56709 6 weeks ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0 B 6 weeks ago /bin/sh -c sed -i 's/^#\s*\(deb.*universe\)$/ 1.879 kB 6 weeks ago /bin/sh -c echo '#!/bin/sh' > /usr/sbin/polic 701 B 6 weeks ago /bin/sh -c #(nop) ADD file:8e4943cd86e9b2ca13 131.3 MB The `docker history` output shows the new `94e6b7d2c720` image layer at the top. You know that this is the new image layer added because it was created - by the `echo "Hello world" > /tmp/newfile` command in your `Dockerfile`. - The 4 image layers below it are the exact same image layers + by the `echo "Hello world" > /tmp/newfile` command in your `Dockerfile`. + The 4 image layers below it are the exact same image layers that make up the `ubuntu:15.04` image. -> **Note:** Under the content addressable storage model introduced with Docker +> **Note:** Under the content addressable storage model introduced with Docker > 1.10, image history data is no longer stored in a config file with each image -> layer. It is now stored as a string of text in a single config file that +> layer. It is now stored as a string of text in a single config file that > relates to the overall image. This can result in some image layers showing as -> "missing" in the output of the `docker history` command. This is normal +> "missing" in the output of the `docker history` command. This is normal > behaviour and can be ignored. > > You may hear images like these referred to as *flat images*. -Notice the new `changed-ubuntu` image does not have its own copies of every -layer. As can be seen in the diagram below, the new image is sharing its four +Notice the new `changed-ubuntu` image does not have its own copies of every +layer. As can be seen in the diagram below, the new image is sharing its four underlying layers with the `ubuntu:15.04` image. ![](images/saving-space.jpg) -The `docker history` command also shows the size of each image layer. As you -can see, the `94e6b7d2c720` layer is only consuming 12 Bytes of disk space. +The `docker history` command also shows the size of each image layer. As you +can see, the `94e6b7d2c720` layer is only consuming 12 Bytes of disk space. This means that the `changed-ubuntu` image we just created is only consuming an - additional 12 Bytes of disk space on the Docker host - all layers below the -`94e6b7d2c720` layer already exist on the Docker host and are shared by other + additional 12 Bytes of disk space on the Docker host - all layers below the +`94e6b7d2c720` layer already exist on the Docker host and are shared by other images. -This sharing of image layers is what makes Docker images and containers so +This sharing of image layers is what makes Docker images and containers so space efficient. ### Copying makes containers efficient -You learned earlier that a container is a Docker image with a thin writable, -container layer added. The diagram below shows the layers of a container based +You learned earlier that a container is a Docker image with a thin writable, +container layer added. The diagram below shows the layers of a container based on the `ubuntu:15.04` image: ![](images/container-layers-cas.jpg) All writes made to a container are stored in the thin writable container layer. - The other layers are read-only (RO) image layers and can't be changed. This -means that multiple containers can safely share a single underlying image. The -diagram below shows multiple containers sharing a single copy of the -`ubuntu:15.04` image. Each container has its own thin RW layer, but they all + The other layers are read-only (RO) image layers and can't be changed. This +means that multiple containers can safely share a single underlying image. The +diagram below shows multiple containers sharing a single copy of the +`ubuntu:15.04` image. Each container has its own thin RW layer, but they all share a single instance of the ubuntu:15.04 image: ![](images/sharing-layers.jpg) -When an existing file in a container is modified, Docker uses the storage +When an existing file in a container is modified, Docker uses the storage driver to perform a copy-on-write operation. The specifics of operation depends - on the storage driver. For the AUFS and OverlayFS storage drivers, the + on the storage driver. For the AUFS and OverlayFS storage drivers, the copy-on-write operation is pretty much as follows: -* Search through the image layers for the file to update. The process starts -at the top, newest layer and works down to the base layer one layer at a +* Search through the image layers for the file to update. The process starts +at the top, newest layer and works down to the base layer one layer at a time. * Perform a "copy-up" operation on the first copy of the file that is found. A "copy up" copies the file up to the container's own thin writable layer. * Modify the *copy of the file* in container's thin writable layer. -Btrfs, ZFS, and other drivers handle the copy-on-write differently. You can -read more about the methods of these drivers later in their detailed +Btrfs, ZFS, and other drivers handle the copy-on-write differently. You can +read more about the methods of these drivers later in their detailed descriptions. -Containers that write a lot of data will consume more space than containers -that do not. This is because most write operations consume new space in the -container's thin writable top layer. If your container needs to write a lot of +Containers that write a lot of data will consume more space than containers +that do not. This is because most write operations consume new space in the +container's thin writable top layer. If your container needs to write a lot of data, you should consider using a data volume. -A copy-up operation can incur a noticeable performance overhead. This overhead +A copy-up operation can incur a noticeable performance overhead. This overhead is different depending on which storage driver is in use. However, large files, - lots of layers, and deep directory trees can make the impact more noticeable. -Fortunately, the operation only occurs the first time any particular file is -modified. Subsequent modifications to the same file do not cause a copy-up -operation and can operate directly on the file's existing copy already present + lots of layers, and deep directory trees can make the impact more noticeable. +Fortunately, the operation only occurs the first time any particular file is +modified. Subsequent modifications to the same file do not cause a copy-up +operation and can operate directly on the file's existing copy already present in the container layer. Let's see what happens if we spin up 5 containers based on our `changed-ubuntu` image we built earlier: -1. From a terminal on your Docker host, run the following `docker run` command +1. From a terminal on your Docker host, run the following `docker run` command 5 times. $ docker run -dit changed-ubuntu bash @@ -436,8 +430,8 @@ Let's see what happens if we spin up 5 containers based on our `changed-ubuntu` 0ad25d06bdf6fca0dedc38301b2aff7478b3e1ce3d1acd676573bba57cb1cfef - This launches 5 containers based on the `changed-ubuntu` image. As each -container is created, Docker adds a writable layer and assigns it a random + This launches 5 containers based on the `changed-ubuntu` image. As each +container is created, Docker adds a writable layer and assigns it a random UUID. This is the value returned from the `docker run` command. 2. Run the `docker ps` command to verify the 5 containers are running. @@ -450,8 +444,8 @@ UUID. This is the value returned from the `docker run` command. 9280e777d109 changed-ubuntu "bash" 2 minutes ago Up 2 minutes backstabbing_mahavira 75bab0d54f3c changed-ubuntu "bash" 2 minutes ago Up 2 minutes boring_pasteur - The output above shows 5 running containers, all sharing the -`changed-ubuntu` image. Each `CONTAINER ID` is derived from the UUID when + The output above shows 5 running containers, all sharing the +`changed-ubuntu` image. Each `CONTAINER ID` is derived from the UUID when creating each container. 3. List the contents of the local storage area. @@ -464,10 +458,10 @@ creating each container. a651680bd6c2ef64902e154eeb8a064b85c9abf08ac46f922ad8dfc11bb5cd8a 8eb24b3b2d246f225b24f2fca39625aaad71689c392a7b552b78baf264647373 -Docker's copy-on-write strategy not only reduces the amount of space consumed +Docker's copy-on-write strategy not only reduces the amount of space consumed by containers, it also reduces the time required to start a container. At start - time, Docker only has to create the thin writable layer for each container. -The diagram below shows these 5 containers sharing a single read-only (RO) + time, Docker only has to create the thin writable layer for each container. +The diagram below shows these 5 containers sharing a single read-only (RO) copy of the `changed-ubuntu` image. ![](images/shared-uuid.jpg) @@ -478,29 +472,29 @@ significantly increased. ## Data volumes and the storage driver -When a container is deleted, any data written to the container that is not -stored in a *data volume* is deleted along with the container. +When a container is deleted, any data written to the container that is not +stored in a *data volume* is deleted along with the container. -A data volume is a directory or file in the Docker host's filesystem that is -mounted directly into a container. Data volumes are not controlled by the -storage driver. Reads and writes to data volumes bypass the storage driver and -operate at native host speeds. You can mount any number of data volumes into a +A data volume is a directory or file in the Docker host's filesystem that is +mounted directly into a container. Data volumes are not controlled by the +storage driver. Reads and writes to data volumes bypass the storage driver and +operate at native host speeds. You can mount any number of data volumes into a container. Multiple containers can also share one or more data volumes. -The diagram below shows a single Docker host running two containers. Each +The diagram below shows a single Docker host running two containers. Each container exists inside of its own address space within the Docker host's local - storage area (`/var/lib/docker/...`). There is also a single shared data -volume located at `/data` on the Docker host. This is mounted directly into + storage area (`/var/lib/docker/...`). There is also a single shared data +volume located at `/data` on the Docker host. This is mounted directly into both containers. ![](images/shared-volume.jpg) -Data volumes reside outside of the local storage area on the Docker host, -further reinforcing their independence from the storage driver's control. When -a container is deleted, any data stored in data volumes persists on the Docker +Data volumes reside outside of the local storage area on the Docker host, +further reinforcing their independence from the storage driver's control. When +a container is deleted, any data stored in data volumes persists on the Docker host. -For detailed information about data volumes +For detailed information about data volumes [Managing data in containers](/engine/tutorials/dockervolumes/). ## Related information diff --git a/engine/userguide/storagedriver/index.md b/engine/userguide/storagedriver/index.md index 7384334e9ed..7c5baa41195 100644 --- a/engine/userguide/storagedriver/index.md +++ b/engine/userguide/storagedriver/index.md @@ -2,16 +2,9 @@ description: Learn how select the proper storage driver for your container. keywords: - container, storage, driver, AUFS, btfs, devicemapper,zvfs -menu: - main: - identifier: engine_driver - parent: engine_guide - weight: 7 title: Docker storage drivers --- -# Docker storage drivers - Docker relies on driver technology to manage the storage and interactions associated with images and the containers that run them. This section contains the following pages: * [Understand images, containers, and storage drivers](imagesandcontainers.md) diff --git a/engine/userguide/storagedriver/overlayfs-driver.md b/engine/userguide/storagedriver/overlayfs-driver.md index caccf549ea5..0cd7879ab5c 100644 --- a/engine/userguide/storagedriver/overlayfs-driver.md +++ b/engine/userguide/storagedriver/overlayfs-driver.md @@ -1,15 +1,10 @@ --- description: Learn how to optimize your use of OverlayFS driver. keywords: -- 'container, storage, driver, OverlayFS ' -menu: - main: - parent: engine_driver -title: OverlayFS storage in practice +- container, storage, driver, OverlayFS +title: Docker and OverlayFS in practice --- -# Docker and OverlayFS in practice - OverlayFS is a modern *union filesystem* that is similar to AUFS. In comparison to AUFS, OverlayFS: @@ -17,9 +12,9 @@ OverlayFS is a modern *union filesystem* that is similar to AUFS. In comparison * has been in the mainline Linux kernel since version 3.18 * is potentially faster -As a result, OverlayFS is rapidly gaining popularity in the Docker community -and is seen by many as a natural successor to AUFS. As promising as OverlayFS -is, it is still relatively young. Therefore caution should be taken before +As a result, OverlayFS is rapidly gaining popularity in the Docker community +and is seen by many as a natural successor to AUFS. As promising as OverlayFS +is, it is still relatively young. Therefore caution should be taken before using it in production Docker environments. Docker's `overlay` storage driver leverages several OverlayFS features to build @@ -32,32 +27,32 @@ driver is only compatible with Linux kernel 4.0 and later. For comparison between `overlay` vs `overlay2`, please also refer to [Select a storage driver](selectadriver.md#overlay-vs-overlay2). ->**Note**: Since it was merged into the mainline kernel, the OverlayFS *kernel +>**Note**: Since it was merged into the mainline kernel, the OverlayFS *kernel >module* was renamed from "overlayfs" to "overlay". As a result you may see the -> two terms used interchangeably in some documentation. However, this document +> two terms used interchangeably in some documentation. However, this document > uses "OverlayFS" to refer to the overall filesystem, and `overlay`/`overlay2` > to refer to Docker's storage-drivers. ## Image layering and sharing with OverlayFS (`overlay`) -OverlayFS takes two directories on a single Linux host, layers one on top of -the other, and provides a single unified view. These directories are often -referred to as *layers* and the technology used to layer them is known as a +OverlayFS takes two directories on a single Linux host, layers one on top of +the other, and provides a single unified view. These directories are often +referred to as *layers* and the technology used to layer them is known as a *union mount*. The OverlayFS terminology is "lowerdir" for the bottom layer and - "upperdir" for the top layer. The unified view is exposed through its own + "upperdir" for the top layer. The unified view is exposed through its own directory called "merged". -The diagram below shows how a Docker image and a Docker container are layered. -The image layer is the "lowerdir" and the container layer is the "upperdir". -The unified view is exposed through a directory called "merged" which is +The diagram below shows how a Docker image and a Docker container are layered. +The image layer is the "lowerdir" and the container layer is the "upperdir". +The unified view is exposed through a directory called "merged" which is effectively the containers mount point. The diagram shows how Docker constructs map to OverlayFS constructs. ![](images/overlay_constructs.jpg) Notice how the image layer and container layer can contain the same files. When - this happens, the files in the container layer ("upperdir") are dominant and -obscure the existence of the same files in the image layer ("lowerdir"). The + this happens, the files in the container layer ("upperdir") are dominant and +obscure the existence of the same files in the image layer ("lowerdir"). The container mount ("merged") presents the unified view. The `overlay` driver only works with two layers. This means that multi-layered @@ -68,13 +63,13 @@ layers. As of Docker 1.10, image layer IDs no longer correspond to directory names in `/var/lib/docker/` To create a container, the `overlay` driver combines the directory representing - the image's top layer plus a new directory for the container. The image's top + the image's top layer plus a new directory for the container. The image's top layer is the "lowerdir" in the overlay and read-only. The new directory for the container is the "upperdir" and is writable. ### Example: Image and container on-disk constructs (`overlay`) -The following `docker pull` command shows a Docker host with downloading a +The following `docker pull` command shows a Docker host with downloading a Docker image comprising five layers. $ sudo docker pull ubuntu @@ -90,12 +85,12 @@ Docker image comprising five layers. Digest: sha256:46fb5d001b88ad904c5c732b086b596b92cfb4a4840a3abd0e35dbb6870585e4 Status: Downloaded newer image for ubuntu:latest -Each image layer has its own directory under `/var/lib/docker/overlay/`. This -is where the contents of each image layer are stored. +Each image layer has its own directory under `/var/lib/docker/overlay/`. This +is where the contents of each image layer are stored. -The output of the command below shows the five directories that store the -contents of each image layer just pulled. However, as can be seen, the image -layer IDs do not match the directory names in `/var/lib/docker/overlay`. This +The output of the command below shows the five directories that store the +contents of each image layer just pulled. However, as can be seen, the image +layer IDs do not match the directory names in `/var/lib/docker/overlay`. This is normal behavior in Docker 1.10 and later. $ ls -l /var/lib/docker/overlay/ @@ -107,8 +102,8 @@ is normal behavior in Docker 1.10 and later. drwx------ 3 root root 4096 Jun 20 16:11 ad0fe55125ebf599da124da175174a4b8c1878afe6907bf7c78570341f308461 drwx------ 3 root root 4096 Jun 20 16:11 edab9b5e5bf73f2997524eebeac1de4cf9c8b904fa8ad3ec43b3504196aa3801 -The image layer directories contain the files unique to that layer as well as -hard links to the data that is shared with lower layers. This allows for +The image layer directories contain the files unique to that layer as well as +hard links to the data that is shared with lower layers. This allows for efficient use of disk space. $ ls -i /var/lib/docker/overlay/38f3ed2eac129654acef11c32670b534670c3a06e483fce313d72e3e0a15baa8/root/bin/ls @@ -119,9 +114,9 @@ efficient use of disk space. 19793696 /var/lib/docker/overlay/55f1e14c361b90570df46371b20ce6d480c434981cbda5fd68c6ff61aa0a5358/root/bin/ls -Containers also exist on-disk in the Docker host's filesystem under -`/var/lib/docker/overlay/`. If you inspect the directory relating to a running -container using the `ls -l` command, you find the following file and +Containers also exist on-disk in the Docker host's filesystem under +`/var/lib/docker/overlay/`. If you inspect the directory relating to a running +container using the `ls -l` command, you find the following file and directories. $ ls -l /var/lib/docker/overlay/ @@ -132,26 +127,26 @@ directories. drwxr-xr-x 4 root root 4096 Jun 20 16:39 upper drwx------ 3 root root 4096 Jun 20 16:39 work -These four filesystem objects are all artifacts of OverlayFS. The "lower-id" -file contains the ID of the top layer of the image the container is based on. +These four filesystem objects are all artifacts of OverlayFS. The "lower-id" +file contains the ID of the top layer of the image the container is based on. This is used by OverlayFS as the "lowerdir". $ cat /var/lib/docker/overlay/ec444863a55a9f1ca2df72223d459c5d940a721b2288ff86a3f27be28b53be6c/lower-id 55f1e14c361b90570df46371b20ce6d480c434981cbda5fd68c6ff61aa0a5358 -The "upper" directory is the containers read-write layer. Any changes made to +The "upper" directory is the containers read-write layer. Any changes made to the container are written to this directory. The "merged" directory is effectively the containers mount point. This is where - the unified view of the image ("lowerdir") and container ("upperdir") is + the unified view of the image ("lowerdir") and container ("upperdir") is exposed. Any changes written to the container are immediately reflected in this directory. -The "work" directory is required for OverlayFS to function. It is used for +The "work" directory is required for OverlayFS to function. It is used for things such as *copy_up* operations. -You can verify all of these constructs from the output of the `mount` command. +You can verify all of these constructs from the output of the `mount` command. (Ellipses and line breaks are used in the output below to enhance readability.) $ mount | grep overlay @@ -252,75 +247,75 @@ The result of `mount` is as follows: ## Container reads and writes with overlay -Consider three scenarios where a container opens a file for read access with +Consider three scenarios where a container opens a file for read access with overlay. -- **The file does not exist in the container layer**. If a container opens a -file for read access and the file does not already exist in the container -("upperdir") it is read from the image ("lowerdir"). This should incur very +- **The file does not exist in the container layer**. If a container opens a +file for read access and the file does not already exist in the container +("upperdir") it is read from the image ("lowerdir"). This should incur very little performance overhead. -- **The file only exists in the container layer**. If a container opens a file -for read access and the file exists in the container ("upperdir") and not in +- **The file only exists in the container layer**. If a container opens a file +for read access and the file exists in the container ("upperdir") and not in the image ("lowerdir"), it is read directly from the container. -- **The file exists in the container layer and the image layer**. If a -container opens a file for read access and the file exists in the image layer -and the container layer, the file's version in the container layer is read. -This is because files in the container layer ("upperdir") obscure files with +- **The file exists in the container layer and the image layer**. If a +container opens a file for read access and the file exists in the image layer +and the container layer, the file's version in the container layer is read. +This is because files in the container layer ("upperdir") obscure files with the same name in the image layer ("lowerdir"). Consider some scenarios where files in a container are modified. -- **Writing to a file for the first time**. The first time a container writes -to an existing file, that file does not exist in the container ("upperdir"). +- **Writing to a file for the first time**. The first time a container writes +to an existing file, that file does not exist in the container ("upperdir"). The `overlay`/`overlay2` driver performs a *copy_up* operation to copy the file from the image ("lowerdir") to the container ("upperdir"). The container then writes the changes to the new copy of the file in the container layer. - However, OverlayFS works at the file level not the block level. This means -that all OverlayFS copy-up operations copy entire files, even if the file is -very large and only a small part of it is being modified. This can have a -noticeable impact on container write performance. However, two things are + However, OverlayFS works at the file level not the block level. This means +that all OverlayFS copy-up operations copy entire files, even if the file is +very large and only a small part of it is being modified. This can have a +noticeable impact on container write performance. However, two things are worth noting: - * The copy_up operation only occurs the first time any given file is + * The copy_up operation only occurs the first time any given file is written to. Subsequent writes to the same file will operate against the copy of the file already copied up to the container. - * OverlayFS only works with two layers. This means that performance should -be better than AUFS which can suffer noticeable latencies when searching for + * OverlayFS only works with two layers. This means that performance should +be better than AUFS which can suffer noticeable latencies when searching for files in images with many layers. - **Deleting files and directories**. When files are deleted within a container - a *whiteout* file is created in the containers "upperdir". The version of the + a *whiteout* file is created in the containers "upperdir". The version of the file in the image layer ("lowerdir") is not deleted. However, the whiteout file in the container obscures it. - Deleting a directory in a container results in *opaque directory* being -created in the "upperdir". This has the same effect as a whiteout file and + Deleting a directory in a container results in *opaque directory* being +created in the "upperdir". This has the same effect as a whiteout file and effectively masks the existence of the directory in the image's "lowerdir". -- **Renaming directories**. Calling `rename(2)` for a directory is allowed only -when both of the source and the destination path are on the top layer. +- **Renaming directories**. Calling `rename(2)` for a directory is allowed only +when both of the source and the destination path are on the top layer. Otherwise, it returns `EXDEV` ("cross-device link not permitted"). -So your application has to be designed so that it can handle `EXDEV` and fall +So your application has to be designed so that it can handle `EXDEV` and fall back to a "copy and unlink" strategy. ## Configure Docker with the `overlay`/`overlay2` storage driver -To configure Docker to use the `overlay` storage driver your Docker host must be -running version 3.18 of the Linux kernel (preferably newer) with the overlay +To configure Docker to use the `overlay` storage driver your Docker host must be +running version 3.18 of the Linux kernel (preferably newer) with the overlay kernel module loaded. For the `overlay2` driver, the version of your kernel must be 4.0 or newer. OverlayFS can operate on top of most supported Linux filesystems. However, ext4 is currently recommended for use in production environments. -The following procedure shows you how to configure your Docker host to use +The following procedure shows you how to configure your Docker host to use OverlayFS. The procedure assumes that the Docker daemon is in a stopped state. -> **Caution:** If you have already run the Docker daemon on your Docker host -> and have images you want to keep, `push` them Docker Hub or your private +> **Caution:** If you have already run the Docker daemon on your Docker host +> and have images you want to keep, `push` them Docker Hub or your private > Docker Trusted Registry before attempting this procedure. 1. If it is running, stop the Docker `daemon`. @@ -361,8 +356,8 @@ OverlayFS. The procedure assumes that the Docker daemon is in a stopped state. Backing Filesystem: extfs - Notice that the *Backing filesystem* in the output above is showing as -`extfs`. Multiple backing filesystems are supported but `extfs` (ext4) is + Notice that the *Backing filesystem* in the output above is showing as +`extfs`. Multiple backing filesystems are supported but `extfs` (ext4) is recommended for production use cases. Your Docker host is now using the `overlay`/`overlay2` storage driver. If you @@ -383,55 +378,55 @@ containers accessing the same file can share a single page cache entry (or entries). This makes the `overlay`/`overlay2` drivers efficient with memory and a good option for PaaS and other high density use cases. -- **copy_up**. As with AUFS, OverlayFS has to perform copy-up operations any -time a container writes to a file for the first time. This can insert latency -into the write operation — especially if the file being copied up is +- **copy_up**. As with AUFS, OverlayFS has to perform copy-up operations any +time a container writes to a file for the first time. This can insert latency +into the write operation — especially if the file being copied up is large. However, once the file has been copied up, all subsequent writes to that file occur without the need for further copy-up operations. - The OverlayFS copy_up operation should be faster than the same operation -with AUFS. This is because AUFS supports more layers than OverlayFS and it is + The OverlayFS copy_up operation should be faster than the same operation +with AUFS. This is because AUFS supports more layers than OverlayFS and it is possible to incur far larger latencies if searching through many AUFS layers. -- **Inode limits**. Use of the `overlay` storage driver can cause excessive +- **Inode limits**. Use of the `overlay` storage driver can cause excessive inode consumption. This is especially so as the number of images and containers on the Docker host grows. A Docker host with a large number of images and lots of started and stopped containers can quickly run out of inodes. The `overlay2` does not have such an issue. -Unfortunately you can only specify the number of inodes in a filesystem at the -time of creation. For this reason, you may wish to consider putting -`/var/lib/docker` on a separate device with its own filesystem, or manually +Unfortunately you can only specify the number of inodes in a filesystem at the +time of creation. For this reason, you may wish to consider putting +`/var/lib/docker` on a separate device with its own filesystem, or manually specifying the number of inodes when creating the filesystem. The following generic performance best practices also apply to OverlayFS. -- **Solid State Devices (SSD)**. For best performance it is always a good idea +- **Solid State Devices (SSD)**. For best performance it is always a good idea to use fast storage media such as solid state devices (SSD). -- **Use Data Volumes**. Data volumes provide the best and most predictable -performance. This is because they bypass the storage driver and do not incur -any of the potential overheads introduced by thin provisioning and -copy-on-write. For this reason, you should place heavy write workloads on data +- **Use Data Volumes**. Data volumes provide the best and most predictable +performance. This is because they bypass the storage driver and do not incur +any of the potential overheads introduced by thin provisioning and +copy-on-write. For this reason, you should place heavy write workloads on data volumes. ## OverlayFS compatibility To summarize the OverlayFS's aspect which is incompatible with other filesystems: -- **open(2)**. OverlayFS only implements a subset of the POSIX standards. -This can result in certain OverlayFS operations breaking POSIX standards. One -such operation is the *copy-up* operation. Suppose that your application calls -`fd1=open("foo", O_RDONLY)` and then `fd2=open("foo", O_RDWR)`. In this case, -your application expects `fd1` and `fd2` to refer to the same file. However, due -to a copy-up operation that occurs after the first calling to `open(2)`, the +- **open(2)**. OverlayFS only implements a subset of the POSIX standards. +This can result in certain OverlayFS operations breaking POSIX standards. One +such operation is the *copy-up* operation. Suppose that your application calls +`fd1=open("foo", O_RDONLY)` and then `fd2=open("foo", O_RDWR)`. In this case, +your application expects `fd1` and `fd2` to refer to the same file. However, due +to a copy-up operation that occurs after the first calling to `open(2)`, the descriptors refer to different files. -`yum` is known to be affected unless the `yum-plugin-ovl` package is installed. -If the `yum-plugin-ovl` package is not available in your distribution (e.g. -RHEL/CentOS prior to 6.8 or 7.2), you may need to run `touch /var/lib/rpm/*` +`yum` is known to be affected unless the `yum-plugin-ovl` package is installed. +If the `yum-plugin-ovl` package is not available in your distribution (e.g. +RHEL/CentOS prior to 6.8 or 7.2), you may need to run `touch /var/lib/rpm/*` before running `yum install`. -- **rename(2)**. OverlayFS does not fully support the `rename(2)` system call. -Your application needs to detect its failure and fall back to a "copy and +- **rename(2)**. OverlayFS does not fully support the `rename(2)` system call. +Your application needs to detect its failure and fall back to a "copy and unlink" strategy. diff --git a/engine/userguide/storagedriver/selectadriver.md b/engine/userguide/storagedriver/selectadriver.md index ae1fdc24e89..259cce47461 100644 --- a/engine/userguide/storagedriver/selectadriver.md +++ b/engine/userguide/storagedriver/selectadriver.md @@ -2,15 +2,9 @@ description: Learn how select the proper storage driver for your container. keywords: - container, storage, driver, AUFS, btfs, devicemapper,zvfs -menu: - main: - parent: engine_driver - weight: -1 title: Select a storage driver --- -# Select a storage driver - This page describes Docker's storage driver feature. It lists the storage drivers that Docker supports and the basic commands associated with managing them. Finally, this page provides guidance on choosing a storage driver. diff --git a/engine/userguide/storagedriver/zfs-driver.md b/engine/userguide/storagedriver/zfs-driver.md index 398df6ebe5b..8f4cf0a0061 100644 --- a/engine/userguide/storagedriver/zfs-driver.md +++ b/engine/userguide/storagedriver/zfs-driver.md @@ -2,30 +2,25 @@ description: Learn how to optimize your use of ZFS driver. keywords: - 'container, storage, driver, ZFS ' -menu: - main: - parent: engine_driver -title: ZFS storage in practice +title: Docker and ZFS in practice --- -# Docker and ZFS in practice - -ZFS is a next generation filesystem that supports many advanced storage -technologies such as volume management, snapshots, checksumming, compression +ZFS is a next generation filesystem that supports many advanced storage +technologies such as volume management, snapshots, checksumming, compression and deduplication, replication and more. It was created by Sun Microsystems (now Oracle Corporation) and is open sourced - under the CDDL license. Due to licensing incompatibilities between the CDDL -and GPL, ZFS cannot be shipped as part of the mainline Linux kernel. However, -the ZFS On Linux (ZoL) project provides an out-of-tree kernel module and + under the CDDL license. Due to licensing incompatibilities between the CDDL +and GPL, ZFS cannot be shipped as part of the mainline Linux kernel. However, +the ZFS On Linux (ZoL) project provides an out-of-tree kernel module and userspace tools which can be installed separately. -The ZFS on Linux (ZoL) port is healthy and maturing. However, at this point in -time it is not recommended to use the `zfs` Docker storage driver for +The ZFS on Linux (ZoL) port is healthy and maturing. However, at this point in +time it is not recommended to use the `zfs` Docker storage driver for production use unless you have substantial experience with ZFS on Linux. -> **Note:** There is also a FUSE implementation of ZFS on the Linux platform. -> This should work with Docker but is not recommended. The native ZFS driver +> **Note:** There is also a FUSE implementation of ZFS on the Linux platform. +> This should work with Docker but is not recommended. The native ZFS driver > (ZoL) is more tested, more performant, and is more widely used. The remainder > of this document will relate to the native ZoL port. @@ -38,52 +33,52 @@ The Docker `zfs` storage driver makes extensive use of three ZFS datasets: - snapshots - clones -ZFS filesystems are thinly provisioned and have space allocated to them from a -ZFS pool (zpool) via allocate on demand operations. Snapshots and clones are -space-efficient point-in-time copies of ZFS filesystems. Snapshots are -read-only. Clones are read-write. Clones can only be created from snapshots. +ZFS filesystems are thinly provisioned and have space allocated to them from a +ZFS pool (zpool) via allocate on demand operations. Snapshots and clones are +space-efficient point-in-time copies of ZFS filesystems. Snapshots are +read-only. Clones are read-write. Clones can only be created from snapshots. This simple relationship is shown in the diagram below. ![](images/zfs_clones.jpg) The solid line in the diagram shows the process flow for creating a clone. Step - 1 creates a snapshot of the filesystem, and step two creates the clone from -the snapshot. The dashed line shows the relationship between the clone and the -filesystem, via the snapshot. All three ZFS datasets draw space form the same + 1 creates a snapshot of the filesystem, and step two creates the clone from +the snapshot. The dashed line shows the relationship between the clone and the +filesystem, via the snapshot. All three ZFS datasets draw space form the same underlying zpool. On Docker hosts using the `zfs` storage driver, the base layer of an image is a ZFS filesystem. Each child layer is a ZFS clone based on a ZFS snapshot of the - layer below it. A container is a ZFS clone based on a ZFS Snapshot of the top -layer of the image it's created from. All ZFS datasets draw their space from a -common zpool. The diagram below shows how this is put together with a running + layer below it. A container is a ZFS clone based on a ZFS Snapshot of the top +layer of the image it's created from. All ZFS datasets draw their space from a +common zpool. The diagram below shows how this is put together with a running container based on a two-layer image. ![](images/zfs_zpool.jpg) -The following process explains how images are layered and containers created. +The following process explains how images are layered and containers created. The process is based on the diagram above. 1. The base layer of the image exists on the Docker host as a ZFS filesystem. - This filesystem consumes space from the zpool used to create the Docker + This filesystem consumes space from the zpool used to create the Docker host's local storage area at `/var/lib/docker`. -2. Additional image layers are clones of the dataset hosting the image layer +2. Additional image layers are clones of the dataset hosting the image layer directly below it. - In the diagram, "Layer 1" is added by making a ZFS snapshot of the base -layer and then creating a clone from that snapshot. The clone is writable and + In the diagram, "Layer 1" is added by making a ZFS snapshot of the base +layer and then creating a clone from that snapshot. The clone is writable and consumes space on-demand from the zpool. The snapshot is read-only, maintaining the base layer as an immutable object. 3. When the container is launched, a read-write layer is added above the image. In the diagram above, the container's read-write layer is created by making - a snapshot of the top layer of the image (Layer 1) and creating a clone from + a snapshot of the top layer of the image (Layer 1) and creating a clone from that snapshot. - As changes are made to the container, space is allocated to it from the + As changes are made to the container, space is allocated to it from the zpool via allocate-on-demand operations. By default, ZFS will allocate space in blocks of 128K. @@ -95,38 +90,38 @@ This process of creating child layers and containers from *read-only* snapshots Container reads with the `zfs` storage driver are very simple. A newly launched container is based on a ZFS clone. This clone initially shares all of its data with the dataset it was created from. This means that read operations with the - `zfs` storage driver are fast – even if the data being read was not -copied into the container yet. This sharing of data blocks is shown in the + `zfs` storage driver are fast – even if the data being read was not +copied into the container yet. This sharing of data blocks is shown in the diagram below. ![](images/zpool_blocks.jpg) -Writing new data to a container is accomplished via an allocate-on-demand +Writing new data to a container is accomplished via an allocate-on-demand operation. Every time a new area of the container needs writing to, a new block - is allocated from the zpool. This means that containers consume additional -space as new data is written to them. New space is allocated to the container + is allocated from the zpool. This means that containers consume additional +space as new data is written to them. New space is allocated to the container (ZFS Clone) from the underlying zpool. -Updating *existing data* in a container is accomplished by allocating new -blocks to the containers clone and storing the changed data in those new -blocks. The original blocks are unchanged, allowing the underlying image -dataset to remain immutable. This is the same as writing to a normal ZFS +Updating *existing data* in a container is accomplished by allocating new +blocks to the containers clone and storing the changed data in those new +blocks. The original blocks are unchanged, allowing the underlying image +dataset to remain immutable. This is the same as writing to a normal ZFS filesystem and is an implementation of copy-on-write semantics. ## Configure Docker with the ZFS storage driver -The `zfs` storage driver is only supported on a Docker host where +The `zfs` storage driver is only supported on a Docker host where `/var/lib/docker` is mounted as a ZFS filesystem. This section shows you how to install and configure native ZFS on Linux (ZoL) on an Ubuntu 14.04 system. ### Prerequisites -If you have already used the Docker daemon on your Docker host and have images -you want to keep, `push` them Docker Hub or your private Docker Trusted +If you have already used the Docker daemon on your Docker host and have images +you want to keep, `push` them Docker Hub or your private Docker Trusted Registry before attempting this procedure. -Stop the Docker daemon. Then, ensure that you have a spare block device at -`/dev/xvdb`. The device identifier may be be different in your environment and +Stop the Docker daemon. Then, ensure that you have a spare block device at +`/dev/xvdb`. The device identifier may be be different in your environment and you should substitute your own values throughout the procedure. ### Install Zfs on Ubuntu 16.04 LTS @@ -177,7 +172,7 @@ you should substitute your own values throughout the procedure. gpg: imported: 1 (RSA: 1) OK -3. Get the latest package lists for all registered repositories and package +3. Get the latest package lists for all registered repositories and package archives. $ sudo apt-get update @@ -252,8 +247,8 @@ Once ZFS is installed and loaded, you're ready to configure ZFS for Docker. The procedure for starting the Docker daemon may differ depending on the Linux distribution you are using. It is possible to force the Docker daemon - to start with the `zfs` storage driver by passing the - `--storage-driver=zfs`flag to the `dockerd` command, or to the + to start with the `zfs` storage driver by passing the + `--storage-driver=zfs`flag to the `dockerd` command, or to the `DOCKER_OPTS` line in the Docker config file. 6. Verify that the daemon is using the `zfs` storage driver. @@ -274,55 +269,55 @@ Once ZFS is installed and loaded, you're ready to configure ZFS for Docker. [...] The output of the command above shows that the Docker daemon is using the - `zfs` storage driver and that the parent dataset is the + `zfs` storage driver and that the parent dataset is the `zpool-docker/docker` filesystem created earlier. Your Docker host is now using ZFS to store to manage its images and containers. ## ZFS and Docker performance -There are several factors that influence the performance of Docker using the +There are several factors that influence the performance of Docker using the `zfs` storage driver. -- **Memory**. Memory has a major impact on ZFS performance. This goes back to -the fact that ZFS was originally designed for use on big Sun Solaris servers +- **Memory**. Memory has a major impact on ZFS performance. This goes back to +the fact that ZFS was originally designed for use on big Sun Solaris servers with large amounts of memory. Keep this in mind when sizing your Docker hosts. -- **ZFS Features**. Using ZFS features, such as deduplication, can -significantly increase the amount of memory ZFS uses. For memory consumption -and performance reasons it is recommended to turn off ZFS deduplication. +- **ZFS Features**. Using ZFS features, such as deduplication, can +significantly increase the amount of memory ZFS uses. For memory consumption +and performance reasons it is recommended to turn off ZFS deduplication. However, deduplication at other layers in the stack (such as SAN or NAS arrays) - can still be used as these do not impact ZFS memory usage and performance. If -using SAN, NAS or other hardware RAID technologies you should continue to + can still be used as these do not impact ZFS memory usage and performance. If +using SAN, NAS or other hardware RAID technologies you should continue to follow existing best practices for using them with ZFS. -- **ZFS Caching**. ZFS caches disk blocks in a memory structure called the +- **ZFS Caching**. ZFS caches disk blocks in a memory structure called the adaptive replacement cache (ARC). The *Single Copy ARC* feature of ZFS allows a single cached copy of a block to be shared by multiple clones of a filesystem. - This means that multiple running containers can share a single copy of cached + This means that multiple running containers can share a single copy of cached block. This means that ZFS is a good option for PaaS and other high density use cases. -- **Fragmentation**. Fragmentation is a natural byproduct of copy-on-write -filesystems like ZFS. However, ZFS writes in 128K blocks and allocates *slabs* +- **Fragmentation**. Fragmentation is a natural byproduct of copy-on-write +filesystems like ZFS. However, ZFS writes in 128K blocks and allocates *slabs* (multiple 128K blocks) to CoW operations in an attempt to reduce fragmentation. - The ZFS intent log (ZIL) and the coalescing of writes (delayed writes) also + The ZFS intent log (ZIL) and the coalescing of writes (delayed writes) also help to reduce fragmentation. -- **Use the native ZFS driver for Linux**. Although the Docker `zfs` storage -driver supports the ZFS FUSE implementation, it is not recommended when high +- **Use the native ZFS driver for Linux**. Although the Docker `zfs` storage +driver supports the ZFS FUSE implementation, it is not recommended when high performance is required. The native ZFS on Linux driver tends to perform better than the FUSE implementation. The following generic performance best practices also apply to ZFS. -- **Use of SSD**. For best performance it is always a good idea to use fast -storage media such as solid state devices (SSD). However, if you only have a -limited amount of SSD storage available it is recommended to place the ZIL on +- **Use of SSD**. For best performance it is always a good idea to use fast +storage media such as solid state devices (SSD). However, if you only have a +limited amount of SSD storage available it is recommended to place the ZIL on SSD. -- **Use Data Volumes**. Data volumes provide the best and most predictable -performance. This is because they bypass the storage driver and do not incur -any of the potential overheads introduced by thin provisioning and -copy-on-write. For this reason, you should place heavy write workloads on data +- **Use Data Volumes**. Data volumes provide the best and most predictable +performance. This is because they bypass the storage driver and do not incur +any of the potential overheads introduced by thin provisioning and +copy-on-write. For this reason, you should place heavy write workloads on data volumes. diff --git a/getting-started/index.md b/getting-started/index.md index 7ffc4985790..4f7bd1b6feb 100644 --- a/getting-started/index.md +++ b/getting-started/index.md @@ -2,8 +2,6 @@ title: "Getting Started, Part 1: Orientation and Setup" --- -# Getting Started, Part 1: Orientation and Setup - {% include content/docker_elevator_pitch.md %} ## What we'll be covering diff --git a/getting-started/part2.md b/getting-started/part2.md index f8ef7825d41..4311a5c5ba5 100644 --- a/getting-started/part2.md +++ b/getting-started/part2.md @@ -2,8 +2,6 @@ title: "Getting Started, Part 2: Creating and Building Your App" --- -# Getting Started, Part 2: Creating and Building Your App - In [Getting Started, Part 1: Orientation and Setup](index.md), you heard an overview of what containers are, what the Docker platform does, and what we'll be covering in this multi-part tutorial. diff --git a/getting-started/part3.md b/getting-started/part3.md index de424fe44c6..eac4c758ba4 100644 --- a/getting-started/part3.md +++ b/getting-started/part3.md @@ -2,8 +2,6 @@ title: "Getting Started, Part 3: Stateful, Multi-container Applications" --- -# Getting Started, Part 3: Stateful, Multi-container Applications - In [Getting Started, Part 2: Creating and Building Your App](part2.md), we wrote, built, ran, and shared our first Dockerized app, which all fit in a single container. diff --git a/getting-started/part4.md b/getting-started/part4.md index 3ea2c04846f..9cb1d52bff6 100644 --- a/getting-started/part4.md +++ b/getting-started/part4.md @@ -2,8 +2,6 @@ title: "Getting Started, Part 4: Scaling Your App on a Cluster" --- -# Part 4: Scaling Your App on a Cluster - In [Getting Started, Part 3: Stateful, Multi-container Applications](part3.md), we figured out how to relate containers to each other. We organized an application into two simple services -- a frontend and a backend -- and defined diff --git a/getting-started/part5.md b/getting-started/part5.md index 98df2edd733..aba17388dce 100644 --- a/getting-started/part5.md +++ b/getting-started/part5.md @@ -2,8 +2,6 @@ title: "Getting Started with Docker - Part 5" --- -# Getting Started with Docker - Part 5 - - Visualizing Swarm with UCP - Mention Cloud - Deploying to AWS using Docker for AWS diff --git a/index.md b/index.md index 0bd824bcc6c..0f9463f168a 100644 --- a/index.md +++ b/index.md @@ -6,8 +6,6 @@ title: Welcome to the Docs layout: docs --- -# Welcome to the Docs - {% include content/docker_elevator_pitch.md %} {% include content/typical_docker_workflow.md %} diff --git a/kitematic/faq.md b/kitematic/faq.md index 248d1cfff3f..e242b5d1aa6 100644 --- a/kitematic/faq.md +++ b/kitematic/faq.md @@ -2,15 +2,9 @@ description: Documentation covering common questions users have about Kitematic keywords: - docker, documentation, about, technology, kitematic, gui -menu: - main: - parent: toolbox_kitematic - weight: 5 -title: Frequently Asked Questions +title: "Kitematic: Frequently asked questions (FAQ)" --- -# Kitematic: Frequently Asked Questions - ### Is Kitematic Open Source? Yes! Our source code is available on diff --git a/kitematic/index.md b/kitematic/index.md index a2972a17fce..11a6d30547a 100644 --- a/kitematic/index.md +++ b/kitematic/index.md @@ -1,18 +1,10 @@ --- -description: Documentation that provides an overview of Kitematic and installation - instructions +description: Documentation that provides an overview of Kitematic and installation instructions keywords: - docker, documentation, about, technology, kitematic, gui -menu: - main: - identifier: toolbox_kitematic - parent: workw_toolbox - weight: 2 title: Kitematic --- -# Kitematic - Kitematic, the Docker GUI, runs on macOS and Windows operating systems. Beginning with the 1.8 Docker release, you use the Docker Toolbox to install Kitematic. See the [macOS installation guide](/docker-for-mac/) or the [Windows installation guide](/docker-for-windows/) for details on installing with Docker Toolbox. For information about using Kitematic, take a look at the [User Guide](userguide.md). diff --git a/kitematic/known-issues.md b/kitematic/known-issues.md index 8d6fb69c7a2..f361c5c47e3 100644 --- a/kitematic/known-issues.md +++ b/kitematic/known-issues.md @@ -2,16 +2,9 @@ description: Information about known issues in Kitematic keywords: - docker, documentation, about, technology, kitematic, gui -menu: - main: - parent: toolbox_kitematic - weight: 5 -title: Known Issues +title: "Kitematic: Known issues" --- -# Kitematic: Known Issues - - Kitematic is in beta, so we're still working out the kinks. The most common errors occur at the setup stage since creating a VM reliably with VirtualBox can be tricky. We are working on this problem. diff --git a/kitematic/minecraft-server.md b/kitematic/minecraft-server.md index 4293a7d60e0..acb1bea8847 100644 --- a/kitematic/minecraft-server.md +++ b/kitematic/minecraft-server.md @@ -1,17 +1,10 @@ --- -description: Tutorial demonstrating the setup of a Minecraft server using Docker and - Kitematic +description: Tutorial demonstrating the setup of a Minecraft server using Docker and Kitematic keywords: - docker, documentation, about, technology, kitematic, gui, minecraft, tutorial -menu: - main: - parent: toolbox_kitematic - weight: 2 -title: Set up a Minecraft Server +title: "Kitematic tutorial: Set up a Minecraft server" --- -# Kitematic tutorial: Set up a Minecraft server - This is a quick tutorial demonstrating how to set up a local Minecraft server using Kitematic and Docker. diff --git a/kitematic/nginx-web-server.md b/kitematic/nginx-web-server.md index dee7fe43bd9..baf2e90f7a8 100644 --- a/kitematic/nginx-web-server.md +++ b/kitematic/nginx-web-server.md @@ -1,17 +1,10 @@ --- -description: Tutorial demonstrating the setup of an Nginx web server using Docker - and Kitematic +description: Tutorial demonstrating the setup of an Nginx web server using Docker and Kitematic keywords: - docker, documentation, about, technology, kitematic, gui, nginx, tutorial -menu: - main: - parent: toolbox_kitematic - weight: 1 -title: Set up an Nginx web server +title: "Kitematic tutorial: Serve a static website with NGINX" --- -# Kitematic Tutorial: Serving a Static Website with Nginx - In this tutorial, you will: - Download and run a web server container diff --git a/kitematic/rethinkdb-dev-database.md b/kitematic/rethinkdb-dev-database.md index ff8dad7c75f..5c7d08f009e 100644 --- a/kitematic/rethinkdb-dev-database.md +++ b/kitematic/rethinkdb-dev-database.md @@ -2,15 +2,9 @@ description: Tutorial demonstrating the setup of an RethinkDB database for development keywords: - docker, documentation, about, technology, kitematic, gui, rethink, tutorial -menu: - main: - parent: toolbox_kitematic - weight: 3 -title: Creating a Local RethinkDB Database for Development +title: "Kitematic tutorial: Create a local RethinkDB database for development" --- -# Kitematic Tutorial: Creating a Local RethinkDB Database for Development - In this tutorial, you will: - Create a RethinkDB Container for Development @@ -66,4 +60,3 @@ successfully used a RethinkDB container in Kitematic to build a real-time chat app. Happy coding! ![Rethink app preview](images/rethinkdb-preview.png) - diff --git a/kitematic/userguide.md b/kitematic/userguide.md index d86cf8f70e0..962f1358e04 100644 --- a/kitematic/userguide.md +++ b/kitematic/userguide.md @@ -1,16 +1,10 @@ --- -description: Documentation that provides an overview of Kitematic and installation - instructions +description: Documentation that provides an overview of Kitematic and installation instructions keywords: - docker, documentation, about, technology, kitematic, gui -menu: - main: - parent: toolbox_kitematic -title: 'Kitematic User Guide: Intro & Overview' +title: "Kitematic user guide" --- -# Kitematic user guide - ## Overview Kitematic is an open source project built to simplify and streamline using diff --git a/machine/DRIVER_SPEC.md b/machine/DRIVER_SPEC.md index 741adebf7ed..7366782fb42 100644 --- a/machine/DRIVER_SPEC.md +++ b/machine/DRIVER_SPEC.md @@ -3,14 +3,9 @@ description: machine published: false keywords: - machine, orchestration, install, installation, docker, documentation -menu: - main: - parent: mn_install -title: Docker Machine +title: Machine driver specification v1 --- -# Machine Driver Specification v1 - This is the standard configuration and specification for version 1 drivers. Along with defining how a driver should provision instances, the standard diff --git a/machine/completion.md b/machine/completion.md index 465efc08f31..7f87d4cb9cc 100644 --- a/machine/completion.md +++ b/machine/completion.md @@ -2,16 +2,9 @@ description: Install Machine command-line completion keywords: - machine, docker, orchestration, cli, reference -menu: - main: - identifier: machine_completion - parent: workw_machine - weight: 99 -title: Command-line Completion +title: Command-line completion --- -# Command-line Completion - Docker Machine comes with [command completion](http://en.wikipedia.org/wiki/Command-line_completion) for the bash and zsh shell. diff --git a/machine/concepts.md b/machine/concepts.md index eb2ebb4366f..c8b3dc419bc 100644 --- a/machine/concepts.md +++ b/machine/concepts.md @@ -1,18 +1,10 @@ --- -description: Understand concepts for Docker Machine, including drivers, base OS, IP - addresses, environment variables +description: Understand concepts for Docker Machine, including drivers, base OS, IP addresses, environment variables keywords: -- docker, machine, amazonec2, azure, digitalocean, google, openstack, rackspace, softlayer, - virtualbox, vmwarefusion, vmwarevcloudair, vmwarevsphere, exoscale -menu: - main: - parent: workw_machine - weight: -40 -title: Machine concepts and help +- docker, machine, amazonec2, azure, digitalocean, google, openstack, rackspace, softlayer, virtualbox, vmwarefusion, vmwarevcloudair, vmwarevsphere, exoscale +title: Machine concepts and getting help --- -# Understand Machine concepts and get help - Docker Machine allows you to provision Docker machines in a variety of environments, including virtual machines that reside on your local system, on cloud providers, or on bare metal servers (physical computers). Docker Machine creates a Docker host, and you use the Docker Engine client as needed to build images and create containers on the host. ## Drivers for creating machines diff --git a/machine/drivers/aws.md b/machine/drivers/aws.md index db3dfd8474a..1c23614155b 100644 --- a/machine/drivers/aws.md +++ b/machine/drivers/aws.md @@ -2,14 +2,9 @@ description: Amazon Web Services driver for machine keywords: - machine, Amazon Web Services, driver -menu: - main: - parent: smn_machine_drivers title: Amazon Web Services --- -# Amazon Web Services - Create machines on [Amazon Web Services](http://aws.amazon.com). To create machines on [Amazon Web Services](http://aws.amazon.com), you must supply two parameters: the AWS Access Key ID and the AWS Secret Access Key. @@ -153,9 +148,9 @@ To create a machine with a non-default vpc-id: This example assumes the VPC ID was found in the `a` availability zone. Use the`--amazonec2-zone` flag to specify a zone other than the `a` zone. For example, `--amazonec2-zone c` signifies `us-east1-c`. ## VPC Connectivity -Machine uses SSH to complete the set up of instances in EC2 and requires the ability to access the instance directly. +Machine uses SSH to complete the set up of instances in EC2 and requires the ability to access the instance directly. -If you use the flag `--amazonec2-private-address-only`, you will need to ensure that you have some method of accessing the new instance from within the internal network of the VPC (e.g. a corporate VPN to the VPC, a VPN instance inside the VPC or using Docker-machine from an instance within your VPC). +If you use the flag `--amazonec2-private-address-only`, you will need to ensure that you have some method of accessing the new instance from within the internal network of the VPC (e.g. a corporate VPN to the VPC, a VPN instance inside the VPC or using Docker-machine from an instance within your VPC). Configuration of VPCs is beyond the scope of this guide, however the first step in troubleshooting is ensuring if you are using private subnets that you follow the design guidance in the [AWS VPC User Guide](http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenario2.html) and have some form of NAT available so that the set up process can access the internet to complete set up. diff --git a/machine/drivers/azure.md b/machine/drivers/azure.md index fc9b102a0bf..ec456ba6548 100644 --- a/machine/drivers/azure.md +++ b/machine/drivers/azure.md @@ -2,14 +2,9 @@ description: Microsoft Azure driver for machine keywords: - machine, Microsoft Azure, driver -menu: - main: - parent: smn_machine_drivers title: Microsoft Azure --- -# Microsoft Azure - You will need an Azure Subscription to use this Docker Machine driver. [Sign up for a free trial.][trial] diff --git a/machine/drivers/digital-ocean.md b/machine/drivers/digital-ocean.md index 4c9352844ec..b47ac333165 100644 --- a/machine/drivers/digital-ocean.md +++ b/machine/drivers/digital-ocean.md @@ -2,14 +2,9 @@ description: Digital Ocean driver for machine keywords: - machine, Digital Ocean, driver -menu: - main: - parent: smn_machine_drivers title: Digital Ocean --- -# Digital Ocean - Create Docker machines on [Digital Ocean](https://www.digitalocean.com/). You need to create a personal access token under "Apps & API" in the Digital Ocean diff --git a/machine/drivers/exoscale.md b/machine/drivers/exoscale.md index 3a8d2e74c28..12b84c4ae15 100644 --- a/machine/drivers/exoscale.md +++ b/machine/drivers/exoscale.md @@ -2,14 +2,9 @@ description: Exoscale driver for machine keywords: - machine, exoscale, driver -menu: - main: - parent: smn_machine_drivers title: Exoscale --- -# Exoscale - Create machines on [Exoscale](https://www.exoscale.ch/). Get your API key and API secret key from [API details](https://portal.exoscale.ch/account/api) and pass them to `machine create` with the `--exoscale-api-key` and `--exoscale-api-secret-key` options. diff --git a/machine/drivers/gce.md b/machine/drivers/gce.md index 5cb0c0e567f..d8fba89c6a1 100644 --- a/machine/drivers/gce.md +++ b/machine/drivers/gce.md @@ -2,14 +2,9 @@ description: Google Compute Engine driver for machine keywords: - machine, Google Compute Engine, driver -menu: - main: - parent: smn_machine_drivers title: Google Compute Engine --- -# Google Compute Engine - Create machines on [Google Compute Engine](https://cloud.google.com/compute/). You will need a Google account and a project id. See for details on projects. diff --git a/machine/drivers/generic.md b/machine/drivers/generic.md index f08ac4c37c7..f1a0de01a46 100644 --- a/machine/drivers/generic.md +++ b/machine/drivers/generic.md @@ -2,14 +2,9 @@ description: Generic driver for machine keywords: - machine, Generic, driver -menu: - main: - parent: smn_machine_drivers title: Generic --- -# Generic - Create machines using an existing VM/Host with SSH. This is useful if you are using a provider that Machine does not support diff --git a/machine/drivers/hyper-v.md b/machine/drivers/hyper-v.md index d5d98288195..0ebfd902f1a 100644 --- a/machine/drivers/hyper-v.md +++ b/machine/drivers/hyper-v.md @@ -2,14 +2,9 @@ description: Microsoft Hyper-V driver for machine keywords: - machine, Microsoft Hyper-V, driver -menu: - main: - parent: smn_machine_drivers title: Microsoft Hyper-V --- -# Microsoft Hyper-V - Creates a Boot2Docker virtual machine locally on your Windows machine using Hyper-V. diff --git a/machine/drivers/index.md b/machine/drivers/index.md index 445b3393bba..930b7f5dbfb 100644 --- a/machine/drivers/index.md +++ b/machine/drivers/index.md @@ -2,11 +2,6 @@ description: Reference for drivers Docker Machine supports keywords: - machine, drivers, supports -menu: - main: - identifier: smn_machine_drivers - parent: workw_machine - weight: 90 title: Drivers --- diff --git a/machine/drivers/openstack.md b/machine/drivers/openstack.md index 86b75533667..0ac3a8d1c21 100644 --- a/machine/drivers/openstack.md +++ b/machine/drivers/openstack.md @@ -2,14 +2,9 @@ description: OpenStack driver for machine keywords: - machine, OpenStack, driver -menu: - main: - parent: smn_machine_drivers title: OpenStack --- -# OpenStack - Create machines on [OpenStack](http://www.openstack.org/software/) Mandatory: diff --git a/machine/drivers/os-base.md b/machine/drivers/os-base.md index 7e990803db9..8242c70307a 100644 --- a/machine/drivers/os-base.md +++ b/machine/drivers/os-base.md @@ -2,15 +2,9 @@ description: Identify active machines keywords: - machine, driver, base, operating system -menu: - main: - parent: smn_machine_drivers - weight: -1 title: Driver options and operating system defaults --- -# Driver options and operating system defaults - When Docker Machine provisions containers on local network provider or with a remote, cloud provider such as Amazon Web Services, you must define both the driver for your provider and a base operating system. There are over 10 diff --git a/machine/drivers/rackspace.md b/machine/drivers/rackspace.md index 1c075f463df..f7a900c17c1 100644 --- a/machine/drivers/rackspace.md +++ b/machine/drivers/rackspace.md @@ -2,14 +2,9 @@ description: Rackspace driver for machine keywords: - machine, Rackspace, driver -menu: - main: - parent: smn_machine_drivers title: Rackspace --- -# Rackspace - Create machines on [Rackspace cloud](http://www.rackspace.com/cloud) ## Usage diff --git a/machine/drivers/soft-layer.md b/machine/drivers/soft-layer.md index 18c2544456f..aa3e6c21597 100644 --- a/machine/drivers/soft-layer.md +++ b/machine/drivers/soft-layer.md @@ -2,14 +2,9 @@ description: IBM Softlayer driver for machine keywords: - machine, IBM Softlayer, driver -menu: - main: - parent: smn_machine_drivers title: IBM Softlayer --- -# IBM Softlayer - Create machines on [Softlayer](http://softlayer.com). You need to generate an API key in the softlayer control panel. diff --git a/machine/drivers/virtualbox.md b/machine/drivers/virtualbox.md index e4fd6a81bd6..c0994293f7a 100644 --- a/machine/drivers/virtualbox.md +++ b/machine/drivers/virtualbox.md @@ -2,14 +2,9 @@ description: Oracle VirtualBox driver for machine keywords: - machine, Oracle VirtualBox, driver -menu: - main: - parent: smn_machine_drivers title: Oracle VirtualBox --- -# Oracle VirtualBox - Create machines locally using [VirtualBox](https://www.virtualbox.org/). This driver requires VirtualBox 5+ to be installed on your host. Using VirtualBox 4.3+ should work but will give you a warning. Older versions diff --git a/machine/drivers/vm-cloud.md b/machine/drivers/vm-cloud.md index eedf39cb565..2f3e0923fd3 100644 --- a/machine/drivers/vm-cloud.md +++ b/machine/drivers/vm-cloud.md @@ -2,14 +2,9 @@ description: VMware vCloud Air driver for machine keywords: - machine, VMware vCloud Air, driver -menu: - main: - parent: smn_machine_drivers title: VMware vCloud Air --- -# VMware vCloud Air - Creates machines on [vCloud Air](http://vcloud.vmware.com) subscription service. You need an account within an existing subscription of vCloud Air VPC or Dedicated Cloud. ## Usage diff --git a/machine/drivers/vm-fusion.md b/machine/drivers/vm-fusion.md index 83b49e7cb3d..408b283891a 100644 --- a/machine/drivers/vm-fusion.md +++ b/machine/drivers/vm-fusion.md @@ -2,14 +2,9 @@ description: VMware Fusion driver for machine keywords: - machine, VMware Fusion, driver -menu: - main: - parent: smn_machine_drivers title: VMware Fusion --- -# VMware Fusion - Creates machines locally on [VMware Fusion](http://www.vmware.com/products/fusion). Requires VMware Fusion to be installed. ## Usage diff --git a/machine/drivers/vsphere.md b/machine/drivers/vsphere.md index 25d61b5cc8f..d2ec5e1da4c 100644 --- a/machine/drivers/vsphere.md +++ b/machine/drivers/vsphere.md @@ -2,14 +2,9 @@ description: VMware vSphere driver for machine keywords: - machine, VMware vSphere, driver -menu: - main: - parent: smn_machine_drivers title: VMware vSphere --- -# VMware vSphere - Creates machines on a [VMware vSphere](http://www.vmware.com/products/vsphere) Virtual Infrastructure. The machine must have a working vSphere ESXi installation. You can use a paid license or free 60 day trial license. Your installation may also include an optional VCenter server. ## Usage diff --git a/machine/examples/aws.md b/machine/examples/aws.md index e42ba11b942..884aeace18d 100644 --- a/machine/examples/aws.md +++ b/machine/examples/aws.md @@ -2,15 +2,9 @@ description: Using Docker Machine to provision hosts on AWS keywords: - docker, machine, cloud, aws -menu: - main: - parent: cloud_examples - weight: 2 -title: Provision AWS EC2 Instances +title: Amazon Web Services (AWS) EC2 example --- -# Amazon Web Services (AWS) EC2 example - Follow along with this example to create a Dockerized Amazon Web Services (AWS) EC2 instance. ### Step 1. Sign up for AWS and configure credentials @@ -72,10 +66,10 @@ Follow along with this example to create a Dockerized Digital Ocean Droplet (cloud host). ### Step 1. Create a Digital Ocean account diff --git a/machine/get-started-cloud.md b/machine/get-started-cloud.md index 96e822ac846..019a2e2fd24 100644 --- a/machine/get-started-cloud.md +++ b/machine/get-started-cloud.md @@ -1,17 +1,10 @@ --- description: Using Docker Machine to provision hosts on cloud providers keywords: -- docker, machine, amazonec2, azure, digitalocean, google, openstack, rackspace, softlayer, - virtualbox, vmwarefusion, vmwarevcloudair, vmwarevsphere, exoscale -menu: - main: - parent: workw_machine - weight: -60 -title: Provision hosts in the cloud +- docker, machine, amazonec2, azure, digitalocean, google, openstack, rackspace, softlayer, virtualbox, vmwarefusion, vmwarevcloudair, vmwarevsphere, exoscale +title: Use Docker Machine to provision hosts on cloud providers --- -# Use Docker Machine to provision hosts on cloud providers - Docker Machine driver plugins are available for many cloud platforms, so you can use Machine to provision cloud hosts. When you use Docker Machine for provisioning, you create cloud hosts with Docker Engine installed on them. You'll need to install and run Docker Machine, and create an account with the cloud provider. diff --git a/machine/get-started.md b/machine/get-started.md index 8e7442cc0b9..82b2c000367 100644 --- a/machine/get-started.md +++ b/machine/get-started.md @@ -2,15 +2,9 @@ description: Get started with Docker Machine and a local VM keywords: - docker, machine, virtualbox, local -menu: - main: - parent: workw_machine - weight: -70 -title: Get started with a local VM +title: Get started with Docker Machine and a local VM --- -# Get started with Docker Machine and a local VM - Let's take a look at using `docker-machine` to create, use and manage a Docker host inside of a local virtual machine. diff --git a/machine/index.md b/machine/index.md index 2c10d7812ff..5b8b6824a77 100644 --- a/machine/index.md +++ b/machine/index.md @@ -1,16 +1,10 @@ --- description: Introduction and Overview of Machine keywords: -- docker, machine, amazonec2, azure, digitalocean, google, openstack, rackspace, softlayer, - virtualbox, vmwarefusion, vmwarevcloudair, vmwarevsphere, exoscale -menu: - main: - identifier: workw_machine +- docker, machine, amazonec2, azure, digitalocean, google, openstack, rackspace, softlayer, virtualbox, vmwarefusion, vmwarevcloudair, vmwarevsphere, exoscale title: Docker Machine --- -# Docker Machine - - [Docker Machine overview](overview.md) - [Install Docker Machine](install-machine.md) - Install a machine on your [local system using VirtualBox](get-started.md) diff --git a/machine/install-machine.md b/machine/install-machine.md index 3c8764ee990..ad90c777815 100644 --- a/machine/install-machine.md +++ b/machine/install-machine.md @@ -2,15 +2,9 @@ description: How to install Docker Machine keywords: - machine, orchestration, install, installation, docker, documentation -menu: - main: - parent: workw_machine - weight: -80 -title: Install Machine +title: Install Docker Machine --- -# Install Docker Machine - On macOS and Windows, Machine is installed along with other Docker products when you install the Docker Toolbox. For details on installing Docker Toolbox, see the macOS diff --git a/machine/migrate-to-machine.md b/machine/migrate-to-machine.md index 984ebaccea2..d62e9fca03a 100644 --- a/machine/migrate-to-machine.md +++ b/machine/migrate-to-machine.md @@ -2,15 +2,9 @@ description: Migrate from Boot2Docker to Docker Machine keywords: - machine, commands, boot2docker, migrate, docker -menu: - main: - parent: workw_machine - weight: -30 title: Migrate from Boot2Docker to Machine --- -# Migrate from Boot2Docker to Docker Machine - If you were using Boot2Docker previously, you have a pre-existing Docker `boot2docker-vm` VM on your local system. To allow Docker Machine to manage this older VM, you must migrate it. @@ -21,7 +15,7 @@ this older VM, you must migrate it. $ docker-machine create -d virtualbox --virtualbox-import-boot2docker-vm boot2docker-vm docker-vm -3. Use the `docker-machine` command to interact with the migrated VM. +3. Use the `docker-machine` command to interact with the migrated VM. ## Subcommand comparison diff --git a/machine/overview.md b/machine/overview.md index 23293c28980..bf49ee36a0b 100644 --- a/machine/overview.md +++ b/machine/overview.md @@ -1,17 +1,10 @@ --- description: Introduction and Overview of Machine keywords: -- docker, machine, amazonec2, azure, digitalocean, google, openstack, rackspace, softlayer, - virtualbox, vmwarefusion, vmwarevcloudair, vmwarevsphere, exoscale -menu: - main: - parent: workw_machine - weight: -90 -title: Machine Overview +- docker, machine, amazonec2, azure, digitalocean, google, openstack, rackspace, softlayer, virtualbox, vmwarefusion, vmwarevcloudair, vmwarevsphere, exoscale +title: Docker Machine Overview --- -# Docker Machine Overview - You can use Docker Machine to: * Install and run Docker on Mac or Windows diff --git a/machine/reference/active.md b/machine/reference/active.md index 96a2ef84d7a..6bb87f9ffb8 100644 --- a/machine/reference/active.md +++ b/machine/reference/active.md @@ -2,14 +2,9 @@ description: Identify active machines keywords: - machine, active, subcommand -menu: - main: - parent: smn_machine_subcmds -title: active +title: docker-machine active --- -# active - See which machine is "active" (a machine is considered active if the `DOCKER_HOST` environment variable points to it). diff --git a/machine/reference/config.md b/machine/reference/config.md index 640dc3c1c32..1db44be842a 100644 --- a/machine/reference/config.md +++ b/machine/reference/config.md @@ -2,14 +2,9 @@ description: Show client configuration keywords: - machine, config, subcommand -menu: - main: - parent: smn_machine_subcmds -title: config +title: docker-machine config --- -# config - ```none Usage: docker-machine config [OPTIONS] [arg...] diff --git a/machine/reference/create.md b/machine/reference/create.md index 6191603c67d..389c5988b6a 100644 --- a/machine/reference/create.md +++ b/machine/reference/create.md @@ -2,15 +2,9 @@ description: Create a machine. keywords: - machine, create, subcommand -menu: - main: - identifier: machine.create - parent: smn_machine_subcmds -title: create +title: docker-machine create --- -# create - Create a machine. Requires the `--driver` flag to indicate which provider (VirtualBox, DigitalOcean, AWS, etc.) the machine should be created on, and an argument to indicate the name of the created machine. diff --git a/machine/reference/env.md b/machine/reference/env.md index 8d50cae75f2..e80f7650ef7 100644 --- a/machine/reference/env.md +++ b/machine/reference/env.md @@ -2,14 +2,9 @@ description: Set environment variables on a machine keywords: - machine, env, subcommand -menu: - main: - parent: smn_machine_subcmds -title: env +title: docker-machine env --- -# env - Set environment variables to dictate that `docker` should run a command against a particular machine. diff --git a/machine/reference/help.md b/machine/reference/help.md index c43a7e2560e..302d8ac666e 100644 --- a/machine/reference/help.md +++ b/machine/reference/help.md @@ -2,14 +2,9 @@ description: Show command help keywords: - machine, help, subcommand -menu: - main: - parent: smn_machine_subcmds -title: help +title: docker-machine help --- -# help - ```none Usage: docker-machine help [arg...] diff --git a/machine/reference/index.md b/machine/reference/index.md index e344785f8cd..5b22e8f2759 100644 --- a/machine/reference/index.md +++ b/machine/reference/index.md @@ -2,16 +2,9 @@ description: Docker Machine Commands Overview keywords: - machine, commands -menu: - main: - identifier: smn_machine_subcmds - parent: workw_machine - weight: 80 -title: Command line reference +title: Docker Machine command-line reference --- -# Docker Machine command line reference - - [active](active.md) - [config](config.md) - [create](create.md) diff --git a/machine/reference/inspect.md b/machine/reference/inspect.md index cda92193bfc..5eba5c63bd0 100644 --- a/machine/reference/inspect.md +++ b/machine/reference/inspect.md @@ -2,15 +2,9 @@ description: Inspect information about a machine keywords: - machine, inspect, subcommand -menu: - main: - identifier: machine.inspect - parent: smn_machine_subcmds -title: inspect +title: docker-machine inspect --- -# inspect - ```none Usage: docker-machine inspect [OPTIONS] [arg...] diff --git a/machine/reference/ip.md b/machine/reference/ip.md index f0cfc6f0966..c1bf9a07b5a 100644 --- a/machine/reference/ip.md +++ b/machine/reference/ip.md @@ -2,14 +2,9 @@ description: Show client configuration keywords: - machine, ip, subcommand -menu: - main: - parent: smn_machine_subcmds -title: ip +title: docker-machine ip --- -# ip - Get the IP address of one or more machines. ```none diff --git a/machine/reference/kill.md b/machine/reference/kill.md index d6490b571bf..cfb58d757b1 100644 --- a/machine/reference/kill.md +++ b/machine/reference/kill.md @@ -2,15 +2,9 @@ description: Kill (abruptly force stop) a machine. keywords: - machine, kill, subcommand -menu: - main: - identifier: machine.kill - parent: smn_machine_subcmds -title: kill +title: docker-machine kill --- -# kill - ```none Usage: docker-machine kill [arg...] diff --git a/machine/reference/ls.md b/machine/reference/ls.md index d262ab21c49..eb79f81614b 100644 --- a/machine/reference/ls.md +++ b/machine/reference/ls.md @@ -2,14 +2,9 @@ description: List machines keywords: - machine, ls, subcommand -menu: - main: - parent: smn_machine_subcmds -title: ls +title: docker-machine ls --- -# ls - ```none Usage: docker-machine ls [OPTIONS] [arg...] diff --git a/machine/reference/provision.md b/machine/reference/provision.md index 63dec475f97..83030774b10 100644 --- a/machine/reference/provision.md +++ b/machine/reference/provision.md @@ -2,14 +2,9 @@ description: Re-run provisioning on a created machine. keywords: - machine, provision, subcommand -menu: - main: - parent: smn_machine_subcmds -title: provision +title: docker-machine provision --- -# provision - Re-run provisioning on a created machine. Sometimes it may be helpful to re-run Machine's provisioning process on a diff --git a/machine/reference/regenerate-certs.md b/machine/reference/regenerate-certs.md index 94105636ef0..cf5435bf947 100644 --- a/machine/reference/regenerate-certs.md +++ b/machine/reference/regenerate-certs.md @@ -2,14 +2,9 @@ description: Regenerate and update TLS certificates keywords: - machine, regenerate-certs, subcommand -menu: - main: - parent: smn_machine_subcmds -title: regenerate-certs +title: docker-machine regenerate-certs --- -# regenerate-certs - ```none Usage: docker-machine regenerate-certs [OPTIONS] [arg...] diff --git a/machine/reference/restart.md b/machine/reference/restart.md index a1276cead45..3286846337c 100644 --- a/machine/reference/restart.md +++ b/machine/reference/restart.md @@ -2,15 +2,9 @@ description: Restart a machine keywords: - machine, restart, subcommand -menu: - main: - identifier: machine.restart - parent: smn_machine_subcmds -title: restart +title: docker-machine restart --- -# restart - ```none Usage: docker-machine restart [arg...] diff --git a/machine/reference/rm.md b/machine/reference/rm.md index 7a1c5c4492a..d1c850c113c 100644 --- a/machine/reference/rm.md +++ b/machine/reference/rm.md @@ -2,15 +2,9 @@ description: Remove a machine. keywords: - machine, rm, subcommand -menu: - main: - identifier: machine.rm - parent: smn_machine_subcmds -title: rm +title: docker-machine rm --- -# rm - Remove a machine. This will remove the local reference as well as delete it on the cloud provider or virtualization management platform. diff --git a/machine/reference/scp.md b/machine/reference/scp.md index 635892841aa..54c4a12cccf 100644 --- a/machine/reference/scp.md +++ b/machine/reference/scp.md @@ -2,14 +2,9 @@ description: Copy files among machines keywords: - machine, scp, subcommand -menu: - main: - parent: smn_machine_subcmds -title: scp +title: docker-machine scp --- -# scp - Copy files from your local host to a machine, from machine to machine, or from a machine to your local host using `scp`. diff --git a/machine/reference/ssh.md b/machine/reference/ssh.md index 10c24569c6f..f51d8dc3545 100644 --- a/machine/reference/ssh.md +++ b/machine/reference/ssh.md @@ -2,14 +2,9 @@ description: Log into or run a command on a machine using SSH. keywords: - machine, ssh, subcommand -menu: - main: - parent: smn_machine_subcmds -title: ssh +title: docker-machine ssh --- -# ssh - Log into or run a command on a machine using SSH. To login, just run `docker-machine ssh machinename`: diff --git a/machine/reference/start.md b/machine/reference/start.md index 9080a703aa6..2fe6f16ef23 100644 --- a/machine/reference/start.md +++ b/machine/reference/start.md @@ -2,15 +2,9 @@ description: Start a machine keywords: - machine, start, subcommand -menu: - main: - identifier: machine.start - parent: smn_machine_subcmds -title: start +title: docker-machine start --- -# start - ```none Usage: docker-machine start [arg...] diff --git a/machine/reference/status.md b/machine/reference/status.md index d9160fb2313..164d4bb8a3a 100644 --- a/machine/reference/status.md +++ b/machine/reference/status.md @@ -2,14 +2,9 @@ description: Get the status of a machine keywords: - machine, status, subcommand -menu: - main: - parent: smn_machine_subcmds -title: status +title: docker-machine status --- -# status - ```none Usage: docker-machine status [arg...] diff --git a/machine/reference/stop.md b/machine/reference/stop.md index bfdde98abe7..8c739522fd6 100644 --- a/machine/reference/stop.md +++ b/machine/reference/stop.md @@ -2,15 +2,9 @@ description: Gracefully stop a machine keywords: - machine, stop, subcommand -menu: - main: - identifier: machine.stop - parent: smn_machine_subcmds -title: stop +title: docker-machine stop --- -# stop - ```none Usage: docker-machine stop [arg...] diff --git a/machine/reference/upgrade.md b/machine/reference/upgrade.md index 0e87dc18fc2..34ee8c636d4 100644 --- a/machine/reference/upgrade.md +++ b/machine/reference/upgrade.md @@ -2,14 +2,9 @@ description: Upgrade Docker on a machine keywords: - machine, upgrade, subcommand -menu: - main: - parent: smn_machine_subcmds -title: upgrade +title: docker-machine upgrade --- -# upgrade - Upgrade a machine to the latest version of Docker. How this upgrade happens depends on the underlying distribution used on the created instance. diff --git a/machine/reference/url.md b/machine/reference/url.md index 0e1ee9b97ca..5fc9bfca87a 100644 --- a/machine/reference/url.md +++ b/machine/reference/url.md @@ -2,14 +2,9 @@ description: Get the URL of a host keywords: - machine, url, subcommand -menu: - main: - parent: smn_machine_subcmds -title: url +title: docker-machine url --- -# url - Get the URL of a host ```none diff --git a/notary/advanced_usage.md b/notary/advanced_usage.md index d0a6059dc21..3bf106001e3 100644 --- a/notary/advanced_usage.md +++ b/notary/advanced_usage.md @@ -1,17 +1,10 @@ --- description: Becoming a power user of the notary client. keywords: -- docker, notary, notary-client, docker content trust, content trust, power user, - advanced -menu: - main: - parent: mn_notary - weight: 2 -title: Use the Notary client +- docker, notary, notary-client, docker content trust, content trust, power user, advanced +title: Use the Notary client for advanced users --- -# Use the Notary client for advanced users - This page explains advanced uses of Notary client for users who are running their own Notary service. Make sure you have first read and understood how to [run your own Notary service](running_a_service.md) before continuing. diff --git a/notary/changelog.md b/notary/changelog.md index d53001ce412..06e23034495 100644 --- a/notary/changelog.md +++ b/notary/changelog.md @@ -1,17 +1,10 @@ --- description: Notary release changelog keywords: -- docker, notary, changelog, notary changelog, notary releases, releases, notary versions, - versions -menu: - main: - parent: mn_notary - weight: 99 +- docker, notary, changelog, notary changelog, notary releases, releases, notary versions, versions title: Notary Changelog --- -# Changelog - ## v0.3 #### 5/11/2016 diff --git a/notary/getting_started.md b/notary/getting_started.md index f3beba5dd77..6e5704a9fd1 100644 --- a/notary/getting_started.md +++ b/notary/getting_started.md @@ -1,17 +1,10 @@ --- -description: Performing basic operation to use Notary in tandem with Docker Content - Trust. +description: Performing basic operation to use Notary in tandem with Docker Content Trust. keywords: - docker, Notary, notary-client, docker content trust, content trust -menu: - main: - parent: mn_notary - weight: 1 -title: Getting started with Notary +title: Getting started with Docker Notary --- -# Getting started with Docker Notary - This document describes basic use of the Notary CLI as a tool supporting Docker Content Trust. For more advanced use cases, you must [run your own Notary service](running_a_service.md) and should read the [use the Notary client for diff --git a/notary/index.md b/notary/index.md index 3d7613aaa3b..e348edbbc4a 100644 --- a/notary/index.md +++ b/notary/index.md @@ -2,16 +2,9 @@ description: List of Notary Documentation keywords: - docker, notary, trust, image, signing, repository, tuf -menu: - main: - identifier: mn_notary - parent: mn_components - weight: 4 title: Docker Notary --- -# List of Notary Documentation - * [Getting Started](getting_started.md) * [Advanced Usage](advanced_usage.md) * [Service Architecture](service_architecture.md) diff --git a/notary/reference/client-config.md b/notary/reference/client-config.md index af9ea3fcc19..67015fc9230 100644 --- a/notary/reference/client-config.md +++ b/notary/reference/client-config.md @@ -1,17 +1,10 @@ --- description: Configuring the Notary client, server and signer. keywords: -- docker, notary, notary-client, notary-server, notary server, notary-signer, notary - signer -menu: - main: - parent: mn_notary_config - weight: 4 -title: Client Configuration +- docker, notary, notary-client, notary-server, notary server, notary-signer, notary signer +title: Notary client configuration file --- -# Notary client configuration file - This document is for power users of the [Notary client](../advanced_usage.md) who want to facilitate CLI interaction or specify custom options. diff --git a/notary/reference/common-configs.md b/notary/reference/common-configs.md index 0da10dc18f1..96bdb20eff5 100644 --- a/notary/reference/common-configs.md +++ b/notary/reference/common-configs.md @@ -1,17 +1,10 @@ --- description: Configuring the notary client, server and signer. keywords: -- docker, notary, notary-client, notary-server, notary server, notary-signer, notary - signer -menu: - main: - parent: mn_notary_config - weight: 5 -title: Common Server and Signer Configurations +- docker, notary, notary-client, notary-server, notary server, notary-signer, notary signer +title: Configure sections common to Notary server and signer --- -# Configure sections common to Notary server and signer - The logging and bug reporting configuration options for both Notary server and Notary signer have the same keys and format. The following sections provide further detail. diff --git a/notary/reference/index.md b/notary/reference/index.md index 4bae766954e..dcd90c5c7c3 100644 --- a/notary/reference/index.md +++ b/notary/reference/index.md @@ -1,18 +1,10 @@ --- description: Configuring the notary client, server and signer. keywords: -- docker, notary, notary-client, notary-server, notary server, notary-signer, notary - signer -menu: - main: - identifier: mn_notary_config - parent: mn_notary - weight: 90 -title: Notary Configuration +- docker, notary, notary-client, notary-server, notary server, notary-signer, notary signer +title: Notary configuration files --- -# Notary configuration files - This document is for power users of the [notary client](../advanced_usage.md), or for those who are [running their own service](../running_a_service.md) who want to facilitate CLI interaction or specify custom options. diff --git a/notary/reference/server-config.md b/notary/reference/server-config.md index 6f3ea7ed6ef..40c4660d96d 100644 --- a/notary/reference/server-config.md +++ b/notary/reference/server-config.md @@ -1,16 +1,10 @@ --- description: Configuring the notary client, server and signer. keywords: -- docker, notary, notary-client, notary-server, notary server, notary-signer, notary - signer -menu: - main: - parent: mn_notary_config -title: Server Configuration +- docker, notary, notary-client, notary-server, notary server, notary-signer, notary signer +title: Notary server configuration file --- -# Notary server configuration file - This document is for those who are [running their own Notary service](../running_a_service.md) who want to specify custom options. diff --git a/notary/reference/signer-config.md b/notary/reference/signer-config.md index 4f7af85fa91..119461fc895 100644 --- a/notary/reference/signer-config.md +++ b/notary/reference/signer-config.md @@ -1,16 +1,10 @@ --- description: Configuring the notary client, server and signer. keywords: -- docker, notary, notary-client, notary-server, notary server, notary-signer, notary - signer -menu: - main: - parent: mn_notary_config -title: Signer Configuration +- docker, notary, notary-client, notary-server, notary server, notary-signer, notary signer +title: Notary signer configuration file --- -# Notary signer configuration file - This document is for those who are [running their own Notary service](../running_a_service.md) who want to specify custom options. diff --git a/notary/running_a_service.md b/notary/running_a_service.md index b8a9282f716..2eada84e321 100644 --- a/notary/running_a_service.md +++ b/notary/running_a_service.md @@ -2,15 +2,9 @@ description: Run your own notary service to host arbitrary content signing. keywords: - docker, notary, notary-server, notary server, notary-signer, notary signer -menu: - main: - parent: mn_notary - weight: 4 -title: Running a Notary service +title: Run a Notary service --- -# Run a Notary service - This document is for anyone who wants to run their own Notary service (such as those who want to use Notary with a private Docker registry). Running a Notary service requires that you are already diff --git a/notary/service_architecture.md b/notary/service_architecture.md index 79888886594..88c59c26581 100644 --- a/notary/service_architecture.md +++ b/notary/service_architecture.md @@ -1,17 +1,10 @@ --- description: How the three requisite notary components interact keywords: -- docker, notary, notary-client, docker content trust, content trust, notary-server, - notary server, notary-signer, notary signer, notary architecture -menu: - main: - parent: mn_notary - weight: 3 -title: Understand the service architecture +- docker, notary, notary-client, docker content trust, content trust, notary-server, notary server, notary-signer, notary signer, notary architecture +title: Understand the Notary service architecture --- -# Understand the Notary service architecture - On this page, you get an overview of the Notary service architecture. ## Brief overview of TUF keys and roles diff --git a/opensource/FAQ.md b/opensource/FAQ.md index c0333351ac3..9103455fd23 100644 --- a/opensource/FAQ.md +++ b/opensource/FAQ.md @@ -2,15 +2,9 @@ description: Overview of contributing keywords: - open, source, contributing, overview -menu: - main: - parent: mn_oss_contrib - weight: 2 title: FAQ for contributors --- -# FAQ for contributors - This section contains some frequently asked questions and tips for troubleshooting problems in your code contribution. diff --git a/opensource/code.md b/opensource/code.md index 56eb1564207..d906c5ef9f9 100644 --- a/opensource/code.md +++ b/opensource/code.md @@ -4,15 +4,9 @@ aliases: description: Contribute code keywords: - governance, board, members, profiles -menu: - main: - parent: mn_oss_contrib - weight: -3 -title: Quickstart contribution +title: Quickstart code or doc contribution --- -# Quickstart code or doc contribution - If you'd like to improve the code of any of Docker's projects, we would love to have your contributions. All of our projects' code repositories are on GitHub. diff --git a/opensource/doc-style.md b/opensource/doc-style.md index d9aaf8852ec..9fd146f5a32 100644 --- a/opensource/doc-style.md +++ b/opensource/doc-style.md @@ -1,17 +1,10 @@ --- -description: Style guide for Docker documentation describing standards and conventions - for contributors +description: Style guide for Docker documentation describing standards and conventions for contributors keywords: - style, guide, docker, documentation -menu: - main: - parent: mn_oss_contrib - weight: 4 -title: Style guide for Docker documentation +title: Documentation style and grammar conventions --- -# Docker documentation: style & grammar conventions - ## Style standards Over time, different publishing communities have written standards for the style diff --git a/opensource/get-help.md b/opensource/get-help.md index a0f5cc993ec..0e7f18820af 100644 --- a/opensource/get-help.md +++ b/opensource/get-help.md @@ -2,10 +2,6 @@ description: Describes Docker's communication channels keywords: - IRC, Google group, Twitter, blog, Stackoverflow -menu: - main: - parent: mn_oss_contrib - weight: 3 title: Where to chat or get help --- @@ -134,7 +130,7 @@ command line bar: Your nickname is now registered to chat on freenode.net. -[Jump ahead to tips to join a docker channel and start chatting](get-help.md#tips) +[Jump ahead to tips to join a docker channel and start chatting](get-help.md#tips) ## IRCCloud diff --git a/opensource/governance/board-profiles.md b/opensource/governance/board-profiles.md index 68ce30af1a3..6ccf023b1d1 100644 --- a/opensource/governance/board-profiles.md +++ b/opensource/governance/board-profiles.md @@ -2,15 +2,9 @@ description: Board member profiles keywords: - governance, board, members, profiles -menu: - main: - parent: smn_govern - weight: 1 title: Board member profiles --- -# Project Leadership - The Docker Project is led by three individuals who are responsible for the direction, operations, quality and community of the project as a whole. ### Chief Architect : Solomon Hykes @@ -42,7 +36,7 @@ governed properly working in concert with the Docker Governance Advisory Board The DGAB is made up of 16 individual who represent the ecosystem, contributors and community of the Docker Project. -## Docker +## Docker * Michael Crosby * Steve Francia diff --git a/opensource/governance/conduct-code.md b/opensource/governance/conduct-code.md index 03d27a433a0..9b3c3349df6 100644 --- a/opensource/governance/conduct-code.md +++ b/opensource/governance/conduct-code.md @@ -2,15 +2,9 @@ description: Explains Docker's code of conduct keywords: - Docker, conduct, code -menu: - main: - parent: smn_govern - weight: 2 title: Code of conduct --- -# Code of conduct - The Docker project has not currently adopted a Code of Conduct though there is work being done in this regard. Without a formal Code of Conduct being adopted by the project, it is anticipated that participants and contributors follow the diff --git a/opensource/governance/dgab-info.md b/opensource/governance/dgab-info.md index 08c99100de6..08dabf1285c 100644 --- a/opensource/governance/dgab-info.md +++ b/opensource/governance/dgab-info.md @@ -2,14 +2,9 @@ description: Docker Governance Advisory Board keywords: - governance, board, members, explained -menu: - main: - parent: smn_govern -title: Docker Governance Advisory Board +title: "Docker Governance Advisory Board: June 2015 version" --- -# Docker Governance Advisory Board: June 2015 Version - An initial version of this proposal was posted for comments on April 30th, 2014. This version reflects all comments received prior to announcing the initial members/nominees for the board on June 10th. This document was @@ -45,7 +40,7 @@ following main areas are included in this charter: * Produce a formal, twice yearly report to the Leadership and broader Docker community of the status of and progress made in all areas under the purview of the DGAB. -* Promote and support the use of Docker in manner consistent with Guiding * +* Promote and support the use of Docker in manner consistent with Guiding * ### Principles of the project and the Core Criteria @@ -89,7 +84,7 @@ The DGAB will have 16 members ### 4.2 Selection Process -#### Contributors: +#### Contributors: Four seats will be granted to the top contributors, as measured by non-trivial pull requests merged to master in the last 6 months. Trivial @@ -114,7 +109,7 @@ Once nomination has been closed, selection of corporate seats will be made by a vote by eligible contributors. Eligible contributors are those who have had at least one non-trivial pull request merged to master in the past six months. -#### User seats: +#### User seats: These seats are for organizations that are using Docker. To be nominated, an organization must be using Docker in production and have published a use case. @@ -147,33 +142,33 @@ The DGAB and its members shall abide by appropriate antitrust guidelines. The DGAB will formulate recommendations in conjunction with the following, open governance principles -### Open participation: +### Open participation: Throughout the project, anyone should be able to participate and contribute. All bugs and tasks will be tracked in a public tracker and all of the source code and all of the tools needed to build it will be available under an open license permitting unrestricted use -### Open technical meritocracy: +### Open technical meritocracy: Technical merit over pride of authorship. Code is contributed for the express purpose of advancing technologies relevant to the project, effectively separating technology advancement from individual or commercial intent. -### Open design: +### Open design: Roadmaps are discussed in the open, and design receives input from all contributors and maintainers Influence through contribution: organizations and individuals gain influence over the project through contribution -### IP Cleanliness: +### IP Cleanliness: Steps are taken to ensure that all incoming code is legally contributed (DCOs terms-of-use etc.), that use of approved third party libraries does not create incompatible dependencies, and that all non-trivial commits have DCOs -### Open Licensing: +### Open Licensing: Code should be licensed using approved, standard, open-source licenses. (Docker is currently licensed under Apache 2.0) @@ -195,4 +190,4 @@ will either agree to become compliant within a specified timeframe or else resign their DGAB position. Please help us improve this draft by sending your comments and feedback to -governance@docker.com)\. +[governance@docker.com](mailto:governance@docker.com). diff --git a/opensource/governance/index.md b/opensource/governance/index.md index 4042ce1eb88..ef8a4f76d03 100644 --- a/opensource/governance/index.md +++ b/opensource/governance/index.md @@ -2,16 +2,9 @@ description: Describes Docker's communication channels keywords: - IRC, Google group, Twitter, blog, Stackoverflow -menu: - main: - identifier: smn_govern - parent: mn_oss_contrib - weight: 1 title: Governance --- -# Governance - * [Docker Governance Advisory Board](dgab-info.md ) * [Board member profiles](board-profiles.md ) -* [Code of conduct](conduct-code.md) +* [Code of conduct](conduct-code.md) diff --git a/opensource/index.md b/opensource/index.md index fa93f54ba60..a14a8360f34 100644 --- a/opensource/index.md +++ b/opensource/index.md @@ -2,15 +2,9 @@ description: Overview of contributing keywords: - open, source, contributing, overview -menu: - main: - identifier: mn_oss_contrib - weight: 8 title: Open Source at Docker --- -# Open Source at Docker - Contributing to the Docker project or to any open source project can be a rewarding experience. You help yourself and you help the projects you work on. You also help the countless number of other project participants. diff --git a/opensource/kitematic/create_pr.md b/opensource/kitematic/create_pr.md index 23ba0f2577a..af88b68f871 100644 --- a/opensource/kitematic/create_pr.md +++ b/opensource/kitematic/create_pr.md @@ -1,19 +1,14 @@ --- description: Explains how to create a pull request for change or new feature keywords: -- Kitematic, open source, contribute, contributor, tour, development, contribute, - pull request, review, workflow, beginner, squash, commit -menu: - main: - parent: smn_kitematic_contrib - weight: 5 +- Kitematic, open source, contribute, contributor, tour, development, contribute, pull request, review, workflow, beginner, squash, commit title: Create a pull request (PR) --- -# Create a pull request (PR) -Make sure you follow the rebase guidelines before you make a pull request. -Rebasing helps verify that your commit is clean, and allows for an easier and faster merge of your code. +Make sure you follow the [rebase +guidelines](/opensource/workflow/create-pr/#rebase-your-branch) before you make +a pull request. Rebasing helps verify that your commit is clean, and allows for +an easier and faster merge of your code. Once you've cleaned up your commits: diff --git a/opensource/kitematic/find_issue.md b/opensource/kitematic/find_issue.md index 21859e73715..7f08ca57d0e 100644 --- a/opensource/kitematic/find_issue.md +++ b/opensource/kitematic/find_issue.md @@ -1,16 +1,13 @@ --- description: Explains how to find a Kitematic issue keywords: -- 'Kitematic, open source, contribute, contributor, tour ' -menu: - main: - parent: smn_kitematic_contrib - weight: 2 -title: Find an issue +- Kitematic, open source, contribute, contributor, tour +title: Find an issue on GitHub --- -# Find an issue on GitHub -Currently, the Kitematic GUI shows the name of a selected container, but not the ID. The tour shows you how to improve the GUI by adding the container ID to the display items, and integrate the updates into the codebase. +Currently, the Kitematic GUI shows the name of a selected container, but not the +ID. The tour shows you how to improve the GUI by adding the container ID to the +display items, and integrate the updates into the codebase. To find and claim an issue you want to work on: @@ -41,6 +38,7 @@ To find and claim an issue you want to work on: ## Where to go next -Go to next section to learn [Set up your Kitematic development environment](set_up_dev.md). +Go to next section to learn [Set up your Kitematic development +environment](set_up_dev.md). -(For more about working with open source issues in Docker, see Find an issue and Docker Contributing Guidelines.) +(For more about working with open source issues in Docker, see Find an issue and Docker Contributing Guidelines.) diff --git a/opensource/kitematic/get_started.md b/opensource/kitematic/get_started.md index e0b05a91ff3..8aabc776630 100644 --- a/opensource/kitematic/get_started.md +++ b/opensource/kitematic/get_started.md @@ -2,28 +2,25 @@ description: Overview of Kitematic development process keywords: - Kitematic, open source, contribute, contributor, tour, development -menu: - main: - parent: smn_kitematic_contrib - weight: 1 -title: Get started +title: Get started with your Kitematic contributions --- -## Contribute to Kitematic - Kitematic is an open source project that simplifies the Docker experience. It automates Docker installation and setup, and provides an interactive graphical user interface (GUI) for working with containers. You can use Kitematic to create, run, and manage Docker containers, and find public images on Docker Hub. ![Kitematic GUI](images/gui-splash-hub.png) -See the Kitematic user guide to learn more about it from a user perspective. +See the Kitematic user guide to learn more about it from a user perspective. ## We welcome your contributions! + We'd like to see Kitematic evolve with community contributed add-ons, extensions, themes, plug-ins, and cool, new features. + ## Start the developer tour + If you're new to working with Docker open source projects or new to the Kitematic codebase, this quick tour will help you get started. Follow along with these steps to set up your Kitematic development environment and practice working on an example issue. @@ -34,4 +31,5 @@ the Kitematic codebase, this quick tour will help you get started. Follow along 5. [Where to learn more](next_steps.md) ## Where to go next + [Find an issue on GitHub](find_issue.md) to get started. diff --git a/opensource/kitematic/index.md b/opensource/kitematic/index.md index 19fadafbbc8..13e46c8780e 100644 --- a/opensource/kitematic/index.md +++ b/opensource/kitematic/index.md @@ -2,15 +2,9 @@ description: Introduces Kitematic contribute topics and tour keywords: - Kitematic, open source, contribute, contributor, tour, issue, review -menu: - main: - identifier: smn_kitematic_contrib - parent: mn_oss_contrib - weight: 1 title: Contribute to Kitematic --- -# Contribute to Kitematic * [Get started](get_started.md) * [Find an issue on GitHub](find_issue.md) * [Set up for Kitematic development](set_up_dev.md) diff --git a/opensource/kitematic/next_steps.md b/opensource/kitematic/next_steps.md index 99174dcd1df..b8e1fc67766 100644 --- a/opensource/kitematic/next_steps.md +++ b/opensource/kitematic/next_steps.md @@ -2,19 +2,14 @@ description: Explains next steps after the tour keywords: - Kitematic, open source, contribute, contributor, tour, development, contribute -menu: - main: - parent: smn_kitematic_contrib - weight: 6 + title: Where to learn more --- -# Where to learn more - You've just created your first pull request to Kitematic! The next -step is to learn how to participate in your PR's +step is to learn how to participate in your PR's review. ## Take the development challenge @@ -36,9 +31,9 @@ As an exercise, implement the code changes needed to display the current contain ## Learn more about open source To learn more about contributing to Docker open source projects, see: -* +* README First -* Quick Start contribution +* Quick Start contribution -* Understand how to contribute +* Understand how to contribute diff --git a/opensource/kitematic/set_up_dev.md b/opensource/kitematic/set_up_dev.md index bdabcc80c66..c096c8f88e5 100644 --- a/opensource/kitematic/set_up_dev.md +++ b/opensource/kitematic/set_up_dev.md @@ -2,15 +2,9 @@ description: Explains how to find a Kitematic issue keywords: - Kitematic, open source, contribute, contributor, tour, development -menu: - main: - parent: smn_kitematic_contrib - weight: 3 title: Set up for Kitematic development --- -# Set up for Kitematic development - Kitematic is built on top of: * Electron diff --git a/opensource/kitematic/work_issue.md b/opensource/kitematic/work_issue.md index e347eadb386..8770c5c8663 100644 --- a/opensource/kitematic/work_issue.md +++ b/opensource/kitematic/work_issue.md @@ -2,15 +2,9 @@ description: Explains how to find a Kitematic issue keywords: - Kitematic, open source, contribute, contributor, tour, development -menu: - main: - parent: smn_kitematic_contrib - weight: 4 title: Develop in Kitematic (work on an issue) --- -## Develop in Kitematic (work on an issue) - For this tutorial, we will work on issue #1191 which is a request to display the container id in Kitematic for easy identification. (Currently, Kitematic shows the container name but not the id.) To do this, edit the container `General Settings` layout. @@ -24,7 +18,7 @@ To do this, edit the container `General Settings` layout.
... ``` - + 3. Above this code we will create a javascript variable that will allow us to display our container id: @@ -49,7 +43,7 @@ To do this, edit the container `General Settings` layout. {rename} {shortId} ``` - + At this point, the updated code should look similar to this: ![Javascript to display container id in kitematic](images/settings-code-example.png) diff --git a/opensource/project/index.md b/opensource/project/index.md index 0819aafa73e..ea9d84c60a4 100644 --- a/opensource/project/index.md +++ b/opensource/project/index.md @@ -1,20 +1,13 @@ --- description: Describes Docker's communication channels keywords: -- IRC, Google group, Twitter, blog, Stackoverflow -menu: - main: - identifier: smn_engine_contrib - parent: mn_oss_contrib - weight: -2 -title: Set up for Engine Development +- IRC, Google group, Twitter, blog, Stackoverflow +title: Set up for Engine development --- -# Set up for Engine Development - * [README first](who-written-for.md) * [Get the required software](software-required.md) - * [Set up for development on Windows](software-req-win.md) - * [Configure Git for contributing](set-up-git.md) + * [Set up for development on Windows](software-req-win.md) + * [Configure Git for contributing](set-up-git.md) * [Work with a development container](set-up-dev-env.md) - * [Run tests and test documentation](test-and-docs.md) + * [Run tests and test documentation](test-and-docs.md) diff --git a/opensource/project/set-up-dev-env.md b/opensource/project/set-up-dev-env.md index 94c2bf48c22..03d7c070b99 100644 --- a/opensource/project/set-up-dev-env.md +++ b/opensource/project/set-up-dev-env.md @@ -2,15 +2,9 @@ description: How to use Docker's development environment keywords: - development, inception, container, image Dockerfile, dependencies, Go, artifacts -menu: - main: - parent: smn_engine_contrib - weight: 5 title: Work with a development container --- -# Work with a development container - In this section, you learn to develop like the Docker Engine core team. The `docker` repository includes a `Dockerfile` at its root. This file defines Docker's development environment. The `Dockerfile` lists the environment's diff --git a/opensource/project/set-up-git.md b/opensource/project/set-up-git.md index 4a35fbfda80..f201f33725d 100644 --- a/opensource/project/set-up-git.md +++ b/opensource/project/set-up-git.md @@ -1,16 +1,10 @@ --- description: Describes how to set up your local machine and repository keywords: -- 'GitHub account, repository, clone, fork, branch, upstream, Git, Go, make ' -menu: - main: - parent: smn_engine_contrib - weight: 4 +- GitHub account, repository, clone, fork, branch, upstream, Git, Go, make title: Configure Git for contributing --- -# Configure Git for contributing - Work through this page to configure Git and a repository you'll use throughout the Contributor Guide. The work you do further in the guide, depends on the work you do here. @@ -223,9 +217,9 @@ the branch to your fork on GitHub: On branch dry-run-test Untracked files: (use "git add ..." to include in what will be committed) - + TEST.md - + nothing added to commit but untracked files present (use "git add" to track) ``` diff --git a/opensource/project/software-req-win.md b/opensource/project/software-req-win.md index e10bdaa7099..765d7c41ece 100644 --- a/opensource/project/software-req-win.md +++ b/opensource/project/software-req-win.md @@ -2,15 +2,9 @@ description: How to set up a server to test Docker Windows client keywords: - development, inception, container, image Dockerfile, dependencies, Go, artifacts, windows -menu: - main: - parent: smn_engine_contrib - weight: 3 -title: Set up for development on Windows +title: Get the required software for Windows --- -# Get the required software for Windows - This page explains how to get the software you need to use a Windows Server 2012 or Windows 8 machine for Docker development. Before you begin contributing you must have: diff --git a/opensource/project/software-required.md b/opensource/project/software-required.md index a72609cc967..b4c35ec8011 100644 --- a/opensource/project/software-required.md +++ b/opensource/project/software-required.md @@ -2,15 +2,9 @@ description: Describes the software required to contribute to Docker keywords: - 'GitHub account, repository, Docker, Git, Go, make, ' -menu: - main: - parent: smn_engine_contrib - weight: 2 -title: Get the required software +title: Get the required software for Linux or macOS --- -# Get the required software for Linux or macOS - This page explains how to get the software you need to use a Linux or macOS machine for Docker development. Before you begin contributing you must have: diff --git a/opensource/project/test-and-docs.md b/opensource/project/test-and-docs.md index a6625a04a99..730e117b689 100644 --- a/opensource/project/test-and-docs.md +++ b/opensource/project/test-and-docs.md @@ -2,15 +2,9 @@ description: Describes Docker's testing infrastructure keywords: - make test, make docs, Go tests, gofmt, contributing, running tests -menu: - main: - parent: smn_engine_contrib - weight: 6 title: Run tests and test documentation --- -# Run tests and test documentation - Contributing includes testing your changes. If you change the Docker code, you may need to add a new test or modify an existing one. Your contribution could even be adding tests to Docker. For this reason, you need to know a little diff --git a/opensource/project/who-written-for.md b/opensource/project/who-written-for.md index ed633c0fc93..ebdb290ac0b 100644 --- a/opensource/project/who-written-for.md +++ b/opensource/project/who-written-for.md @@ -1,17 +1,12 @@ --- -aliases: +aliases: - /project/who-written-for/ description: Introduction to project contribution at Docker keywords: - Gordon, introduction, turtle, machine, libcontainer, how to -menu: - main: - parent: smn_engine_contrib title: README first --- -# README first - This section of the documentation contains a guide for Docker users who want to contribute code or documentation to the Docker Engine project. As a community, we share rules of behavior and interaction. Make sure you are familiar with the the complete list of Docker repositories on GitHub. diff --git a/opensource/ways/meetups.md b/opensource/ways/meetups.md index 8cf8e81e9cd..3e2f4940b16 100644 --- a/opensource/ways/meetups.md +++ b/opensource/ways/meetups.md @@ -2,14 +2,9 @@ description: Organize a Docker Meetup keywords: - Docker, meetup, hosting, organizing -menu: - main: - parent: smn_ways -title: Organize a Docker Meetup +title: Organize a Docker meetup --- -# Organize a Docker Meetup - Anyone interested in Docker can become an active member of the Docker community by becoming co-organizer of a Docker Meetup group. diff --git a/opensource/ways/test.md b/opensource/ways/test.md index 24d058f95d8..d8a3190bb8b 100644 --- a/opensource/ways/test.md +++ b/opensource/ways/test.md @@ -2,14 +2,9 @@ description: Testing contributions keywords: - test, source, contributions, Docker -menu: - main: - parent: smn_ways title: Testing contributions --- -# Testing contributions - Testing is about software quality, performance, reliability, or product usability. We develop and test Docker software before we release but we are human. So, we make mistakes, we get forgetful, or we just don't have enough @@ -22,7 +17,7 @@ problems. # What can you contribute to testing? -* Write a blog about how your company uses Docker its test infrastructure. +* Write a blog about how your company uses Docker its test infrastructure. * Take an online usability test or create a usability test about Docker. * Test one of Docker's official images * Test the Docker documentation diff --git a/opensource/workflow/advanced-contributing.md b/opensource/workflow/advanced-contributing.md index 73c12b40f63..59fb176de19 100644 --- a/opensource/workflow/advanced-contributing.md +++ b/opensource/workflow/advanced-contributing.md @@ -2,15 +2,9 @@ description: Explains workflows for refactor and design proposals keywords: - contribute, project, design, refactor, proposal -menu: - main: - parent: smn_workflow - weight: 6 title: Advanced contributing --- -# Advanced contributing - In this section, you learn about the more advanced contributions you can make. They are advanced because they have a more involved workflow or require greater programming experience. Don't be scared off though, if you like to stretch and @@ -84,7 +78,7 @@ The following provides greater detail on the process: 4. Fork `docker/docker` and clone the repo to your local host. -5. Create a new Markdown file in the area you wish to change. +5. Create a new Markdown file in the area you wish to change. For example, if you want to redesign our daemon create a new file under the `daemon/` folder. diff --git a/opensource/workflow/coding-style.md b/opensource/workflow/coding-style.md index 9750e0366b2..4ee8000c947 100644 --- a/opensource/workflow/coding-style.md +++ b/opensource/workflow/coding-style.md @@ -1,17 +1,10 @@ --- description: List of guidelines for coding Docker contributions keywords: -- change, commit, squash, request, pull request, test, unit test, integration tests, - Go, gofmt, LGTM -menu: - main: - parent: smn_workflow - weight: 7 +- change, commit, squash, request, pull request, test, unit test, integration tests, Go, gofmt, LGTM title: Coding style checklist --- -# Coding style checklist - This checklist summarizes the material you experienced working through [make a code contribution](make-a-contribution.md) and [advanced contributing](advanced-contributing.md). The checklist applies to both diff --git a/opensource/workflow/create-pr.md b/opensource/workflow/create-pr.md index a068f81a9c1..af2f4a7d0f1 100644 --- a/opensource/workflow/create-pr.md +++ b/opensource/workflow/create-pr.md @@ -2,16 +2,9 @@ description: Basic workflow for Docker contributions keywords: - contribute, pull request, review, workflow, beginner, squash, commit -menu: - main: - identifier: docker_pr - parent: smn_workflow - weight: 4 title: Create a pull request (PR) --- -# Create a pull request (PR) - A pull request (PR) sends your changes to the Docker maintainers for review. You create a pull request on GitHub. A pull request "pulls" changes from your forked repository into the `docker/docker` repository. diff --git a/opensource/workflow/find-an-issue.md b/opensource/workflow/find-an-issue.md index 0c82c7d3d09..531b1a07fc2 100644 --- a/opensource/workflow/find-an-issue.md +++ b/opensource/workflow/find-an-issue.md @@ -2,14 +2,10 @@ description: Basic workflow for Docker contributions keywords: - contribute, issue, review, workflow, beginner, expert, squash, commit -menu: - main: - parent: smn_workflow - weight: 2 title: Find and claim an issue --- - diff --git a/opensource/workflow/index.md b/opensource/workflow/index.md index 11db48e46b0..6049929181c 100644 --- a/opensource/workflow/index.md +++ b/opensource/workflow/index.md @@ -2,19 +2,13 @@ description: Describes Docker's communication channels keywords: - IRC, Google group, Twitter, blog, Stackoverflow -menu: - main: - identifier: smn_workflow - parent: mn_oss_contrib title: Contribution workflow --- -# Contribution workflow - -* [Understand how to contribute](make-a-contribution.md) -* [Find and claim an issue](find-an-issue.md) +* [Understand how to contribute](make-a-contribution.md) +* [Find and claim an issue](find-an-issue.md) * [Work on your issue](work-issue.md) -* [Create a pull request](create-pr.md) -* [Participate in the PR review](review-pr.md) +* [Create a pull request](create-pr.md) +* [Participate in the PR review](review-pr.md) * [Advanced contributing](advanced-contributing.md) -* [Coding style checklist](coding-style.md) +* [Coding style checklist](coding-style.md) diff --git a/opensource/workflow/make-a-contribution.md b/opensource/workflow/make-a-contribution.md index aa0c86c4c5c..a98d83093a1 100644 --- a/opensource/workflow/make-a-contribution.md +++ b/opensource/workflow/make-a-contribution.md @@ -2,14 +2,9 @@ description: Explains basic workflow for Docker contributions keywords: - contribute, maintainers, review, workflow, process -menu: - main: - parent: smn_workflow title: Understand how to contribute --- -# Understand how to contribute - Contributing is a process where you work with Docker maintainers and the community to improve Docker. The maintainers are experienced contributors who specialize in one or more Docker components. Maintainers play a big role diff --git a/opensource/workflow/review-pr.md b/opensource/workflow/review-pr.md index f3306ada0c8..416eefbade3 100644 --- a/opensource/workflow/review-pr.md +++ b/opensource/workflow/review-pr.md @@ -2,15 +2,9 @@ description: Basic workflow for Docker contributions keywords: - contribute, pull request, review, workflow, beginner, squash, commit -menu: - main: - parent: smn_workflow - weight: 5 title: Participate in the PR review --- -# Participate in the PR review - Creating a pull request is nearly the end of the contribution process. At this point, your code is reviewed both by our continuous integration (CI) systems and by our maintainers. @@ -55,7 +49,7 @@ need to update your pull request with additional changes. To update your existing pull request: -1. Checkout the PR branch in your local `docker-fork` repository. +1. Checkout the PR branch in your local `docker-fork` repository. This is the branch associated with your request. @@ -128,7 +122,7 @@ updates its development binaries after each merge to `master`. Once you've verified everything merged, feel free to delete your feature branch from your fork. For information on how to do this, -see the GitHub help on deleting branches. +see the GitHub help on deleting branches. ## Where to go next diff --git a/opensource/workflow/work-issue.md b/opensource/workflow/work-issue.md index 9ca29017a44..8840f492bfe 100644 --- a/opensource/workflow/work-issue.md +++ b/opensource/workflow/work-issue.md @@ -2,15 +2,9 @@ description: Basic workflow for Docker contributions keywords: - contribute, pull request, review, workflow, beginner, squash, commit -menu: - main: - parent: smn_workflow - weight: 3 title: Work on your issue --- -# Work on your issue - The work you do depends on the specific issue you picked. This section gives you a step-by-step workflow. Where appropriate, it provides command examples. @@ -48,7 +42,7 @@ Follow this workflow as you work: runs the entire test suite and `make docs` builds the documentation. If you forgot the other test targets, see the documentation for testing both code and - documentation. + documentation. 4. For code changes, add unit tests if appropriate. @@ -149,10 +143,10 @@ After you push a new branch, you should verify it on GitHub: ## Pull and rebase frequently -You should pull and rebase frequently as you work. +You should pull and rebase frequently as you work. 1. Return to the terminal on your local machine and checkout your - feature branch in your local `docker-fork` repository. + feature branch in your local `docker-fork` repository. 2. Fetch any last minute changes from `docker/docker`. diff --git a/registry/compatibility.md b/registry/compatibility.md index 6d18ffc35ac..37f6d07ac25 100644 --- a/registry/compatibility.md +++ b/registry/compatibility.md @@ -2,15 +2,9 @@ description: describes get by digest pitfall keywords: - registry, manifest, images, tags, repository, distribution, digest -menu: - main: - parent: smn_registry_ref - weight: 9 -title: Compatibility +title: Registry compatibility --- -# Registry Compatibility - ## Synopsis *If a manifest is pulled by _digest_ from a registry 2.3 with Docker Engine 1.9 and older, and the manifest was pushed with Docker Engine 1.10, a security check diff --git a/registry/configuration.md b/registry/configuration.md index 72c9597242c..c71b8a33421 100644 --- a/registry/configuration.md +++ b/registry/configuration.md @@ -2,15 +2,9 @@ description: Explains how to configure a registry keywords: - registry, on-prem, images, tags, repository, distribution, configuration -menu: - main: - parent: smn_registry - weight: 4 -title: Configuring a registry +title: Registry configuration reference --- -# Registry Configuration Reference - The Registry configuration is based on a YAML file, detailed below. While it comes with sane default values out of the box, you are heavily encouraged to review it exhaustively before moving your systems to production. ## Override specific configuration options diff --git a/registry/deploying.md b/registry/deploying.md index 1aa42aa0ab1..4f3461868d6 100644 --- a/registry/deploying.md +++ b/registry/deploying.md @@ -2,15 +2,9 @@ description: Explains how to deploy a registry keywords: - registry, on-prem, images, tags, repository, distribution, deployment -menu: - main: - parent: smn_registry - weight: 3 title: Deploying a registry server --- -# Deploying a registry server - You need to [install Docker version 1.6.0 or newer](/engine/installation/index.md). ## Running on localhost diff --git a/registry/deprecated.md b/registry/deprecated.md index d30ff425439..be971ce6167 100644 --- a/registry/deprecated.md +++ b/registry/deprecated.md @@ -2,15 +2,9 @@ description: describes deprecated functionality keywords: - registry, manifest, images, signatures, repository, distribution, digest -menu: - main: - parent: smn_registry_ref - weight: 8 -title: Deprecated Features +title: Docker Registry deprecation --- -# Docker Registry Deprecation - This document details functionality or components which are deprecated within the registry. diff --git a/registry/garbage-collection.md b/registry/garbage-collection.md index d24bb77ce7f..4d0467b2d44 100644 --- a/registry/garbage-collection.md +++ b/registry/garbage-collection.md @@ -2,15 +2,9 @@ description: High level discussion of garbage collection keywords: - registry, garbage, images, tags, repository, distribution -menu: - main: - parent: smn_registry_ref - weight: 4 -title: Garbage Collection +title: Garbage collection --- -# Garbage Collection - As of v2.4.0 a garbage collector command is included within the registry binary. This document describes what this command does and how and why it should be used. @@ -134,4 +128,3 @@ blob eligible for deletion: sha256:87192bdbe00f8f2a62527f36bb4c7c7f4eaf9307e4b87 blob eligible for deletion: sha256:b549a9959a664038fc35c155a95742cf12297672ca0ae35735ec027d55bf4e97 blob eligible for deletion: sha256:f251d679a7c61455f06d793e43c06786d7766c88b8c24edf242b2c08e3c3f599 ``` - diff --git a/registry/help.md b/registry/help.md index 8728924c1c3..d73c76d8173 100644 --- a/registry/help.md +++ b/registry/help.md @@ -2,15 +2,9 @@ description: Getting help with the Registry keywords: - registry, on-prem, images, tags, repository, distribution, help, 101, TL;DR -menu: - main: - parent: smn_registry - weight: 9 -title: Getting help +title: Get help --- -# Getting help - If you need help, or just want to chat, you can reach us: - on irc: `#docker-distribution` on freenode diff --git a/registry/index.md b/registry/index.md index 0a57a2d3b6b..f3bd589c508 100644 --- a/registry/index.md +++ b/registry/index.md @@ -4,19 +4,14 @@ aliases: description: High-level overview of the Registry keywords: - registry, on-prem, images, tags, repository, distribution -menu: - main: - parent: smn_registry - weight: 1 -title: Registry Overview +title: Docker Registry --- -# Docker Registry - ## What it is -The Registry is a stateless, highly scalable server side application that stores and lets you distribute Docker images. -The Registry is open-source, under the permissive [Apache license](http://en.wikipedia.org/wiki/Apache_License). +The Registry is a stateless, highly scalable server side application that stores +and lets you distribute Docker images. The Registry is open-source, under the +permissive [Apache license](http://en.wikipedia.org/wiki/Apache_License). ## Why use it @@ -28,14 +23,19 @@ You should use the Registry if you want to: ## Alternatives -Users looking for a zero maintenance, ready-to-go solution are encouraged to head-over to the [Docker Hub](https://hub.docker.com), which provides a free-to-use, hosted Registry, plus additional features (organization accounts, automated builds, and more). +Users looking for a zero maintenance, ready-to-go solution are encouraged to +head-over to the [Docker Hub](https://hub.docker.com), which provides a +free-to-use, hosted Registry, plus additional features (organization accounts, +automated builds, and more). -Users looking for a commercially supported version of the Registry should look into [Docker Trusted Registry](/docker-trusted-registry/overview/). +Users looking for a commercially supported version of the Registry should look +into [Docker Trusted Registry](/docker-trusted-registry/overview/). ## Requirements -The Registry is compatible with Docker engine **version 1.6.0 or higher**. -If you really need to work with older Docker versions, you should look into the [old python registry](https://github.com/docker/docker-registry). +The Registry is compatible with Docker engine **version 1.6.0 or higher**. If +you really need to work with older Docker versions, you should look into the +[old python registry](https://github.com/docker/docker-registry). ## TL;DR @@ -65,4 +65,6 @@ Now stop your registry and remove all data ## Next -You should now read the [detailed introduction about the registry](introduction.md), or jump directly to [deployment instructions](deploying.md). +You should now read the [detailed introduction about the +registry](introduction.md), or jump directly to [deployment +instructions](deploying.md). diff --git a/registry/insecure.md b/registry/insecure.md index 0bb2145897e..d7d1ba8cd85 100644 --- a/registry/insecure.md +++ b/registry/insecure.md @@ -2,15 +2,9 @@ description: Deploying a Registry in an insecure fashion keywords: - registry, on-prem, images, tags, repository, distribution, insecure -menu: - main: - parent: smn_registry_ref - weight: 5 -title: Testing an insecure registry +title: Test an insecure registry --- -# Insecure Registry - While it's highly recommended to secure your registry using a TLS certificate issued by a known CA, you may alternatively decide to use self-signed certificates, or even use your registry over plain http. diff --git a/registry/introduction.md b/registry/introduction.md index f95be81997b..6b7e46e09cb 100644 --- a/registry/introduction.md +++ b/registry/introduction.md @@ -2,16 +2,11 @@ description: Explains what the Registry is, basic use cases and requirements keywords: - registry, on-prem, images, tags, repository, distribution, use cases, requirements -menu: - main: - parent: smn_registry - weight: 2 -title: Understanding the Registry +title: About Registry --- -# Understanding the Registry - -A registry is a storage and content delivery system, holding named Docker images, available in different tagged versions. +A registry is a storage and content delivery system, holding named Docker +images, available in different tagged versions. > Example: the image `distribution/registry`, with tags `2.0` and `2.1`. @@ -19,13 +14,24 @@ Users interact with a registry by using docker push and pull commands. > Example: `docker pull registry-1.docker.io/distribution/registry:2.1`. -Storage itself is delegated to drivers. The default storage driver is the local posix filesystem, which is suitable for development or small deployments. Additional cloud-based storage drivers like S3, Microsoft Azure, OpenStack Swift and Aliyun OSS are also supported. People looking into using other storage backends may do so by writing their own driver implementing the [Storage API](storage-drivers/index.md). +Storage itself is delegated to drivers. The default storage driver is the local +posix filesystem, which is suitable for development or small deployments. +Additional cloud-based storage drivers like S3, Microsoft Azure, OpenStack Swift +and Aliyun OSS are also supported. People looking into using other storage +backends may do so by writing their own driver implementing the [Storage +API](storage-drivers/index.md). -Since securing access to your hosted images is paramount, the Registry natively supports TLS and basic authentication. +Since securing access to your hosted images is paramount, the Registry natively +supports TLS and basic authentication. -The Registry GitHub repository includes additional information about advanced authentication and authorization methods. Only very large or public deployments are expected to extend the Registry in this way. +The Registry GitHub repository includes additional information about advanced +authentication and authorization methods. Only very large or public deployments +are expected to extend the Registry in this way. -Finally, the Registry ships with a robust [notification system](notifications.md), calling webhooks in response to activity, and both extensive logging and reporting, mostly useful for large installations that want to collect metrics. +Finally, the Registry ships with a robust [notification +system](notifications.md), calling webhooks in response to activity, and both +extensive logging and reporting, mostly useful for large installations that want +to collect metrics. ## Understanding image naming @@ -34,21 +40,36 @@ Image names as used in typical docker commands reflect their origin: * `docker pull ubuntu` instructs docker to pull an image named `ubuntu` from the official Docker Hub. This is simply a shortcut for the longer `docker pull docker.io/library/ubuntu` command * `docker pull myregistrydomain:port/foo/bar` instructs docker to contact the registry located at `myregistrydomain:port` to find the image `foo/bar` -You can find out more about the various Docker commands dealing with images in the [official Docker engine documentation](/engine/reference/commandline/cli.md). +You can find out more about the various Docker commands dealing with images in +the [official Docker engine +documentation](/engine/reference/commandline/cli.md). ## Use cases -Running your own Registry is a great solution to integrate with and complement your CI/CD system. In a typical workflow, a commit to your source revision control system would trigger a build on your CI system, which would then push a new image to your Registry if the build is successful. A notification from the Registry would then trigger a deployment on a staging environment, or notify other systems that a new image is available. +Running your own Registry is a great solution to integrate with and complement +your CI/CD system. In a typical workflow, a commit to your source revision +control system would trigger a build on your CI system, which would then push a +new image to your Registry if the build is successful. A notification from the +Registry would then trigger a deployment on a staging environment, or notify +other systems that a new image is available. -It's also an essential component if you want to quickly deploy a new image over a large cluster of machines. +It's also an essential component if you want to quickly deploy a new image over +a large cluster of machines. Finally, it's the best way to distribute images inside an isolated network. ## Requirements -You absolutely need to be familiar with Docker, specifically with regard to pushing and pulling images. You must understand the difference between the daemon and the cli, and at least grasp basic concepts about networking. +You absolutely need to be familiar with Docker, specifically with regard to +pushing and pulling images. You must understand the difference between the +daemon and the cli, and at least grasp basic concepts about networking. -Also, while just starting a registry is fairly easy, operating it in a production environment requires operational skills, just like any other service. You are expected to be familiar with systems availability and scalability, logging and log processing, systems monitoring, and security 101. Strong understanding of http and overall network communications, plus familiarity with golang are certainly useful as well for advanced operations or hacking. +Also, while just starting a registry is fairly easy, operating it in a +production environment requires operational skills, just like any other service. +You are expected to be familiar with systems availability and scalability, +logging and log processing, systems monitoring, and security 101. Strong +understanding of http and overall network communications, plus familiarity with +golang are certainly useful as well for advanced operations or hacking. ## Next diff --git a/registry/notifications.md b/registry/notifications.md index dd01a5b8617..7f503e1be6c 100644 --- a/registry/notifications.md +++ b/registry/notifications.md @@ -2,15 +2,9 @@ description: Explains how to work with registry notifications keywords: - registry, on-prem, images, tags, repository, distribution, notifications, advanced -menu: - main: - parent: smn_registry - weight: 5 -title: Working with notifications +title: Work with notifications --- -# Notifications - The Registry supports sending webhook notifications in response to events happening within the registry. Notifications are sent in response to manifest pushes and pulls and layer pushes and pulls. These actions are serialized into diff --git a/registry/recipes/apache.md b/registry/recipes/apache.md index 1b503584183..e74aa198535 100644 --- a/registry/recipes/apache.md +++ b/registry/recipes/apache.md @@ -1,16 +1,10 @@ --- description: Restricting access to your registry using an apache proxy keywords: -- registry, on-prem, images, tags, repository, distribution, authentication, proxy, - apache, httpd, TLS, recipe, advanced -menu: - main: - parent: smn_recipes -title: Authenticating proxy with apache +- registry, on-prem, images, tags, repository, distribution, authentication, proxy, apache, httpd, TLS, recipe, advanced +title: Authenticate proxy with apache --- -# Authenticating proxy with apache - ## Use-case People already relying on an apache proxy to authenticate their users to other services might want to leverage it and have Registry communications tunneled through the same pipeline. @@ -19,7 +13,7 @@ Usually, that includes enterprise setups using LDAP/AD on the backend and a SSO ### Alternatives -If you just want authentication for your registry, and are happy maintaining users access separately, you should really consider sticking with the native [basic auth registry feature](../deploying.md#native-basic-auth). +If you just want authentication for your registry, and are happy maintaining users access separately, you should really consider sticking with the native [basic auth registry feature](../deploying.md#native-basic-auth). ### Solution @@ -27,7 +21,7 @@ With the method presented here, you implement basic authentication for docker en While we use a simple htpasswd file as an example, any other apache authentication backend should be fairly easy to implement once you are done with the example. -We also implement push restriction (to a limited user group) for the sake of the example. Again, you should modify this to fit your mileage. +We also implement push restriction (to a limited user group) for the sake of the example. Again, you should modify this to fit your mileage. ### Gotchas @@ -200,7 +194,7 @@ Now, start your stack: docker-compose up -d -Login with a "push" authorized user (using `testuserpush` and `testpasswordpush`), then tag and push your first image: +Login with a "push" authorized user (using `testuserpush` and `testpasswordpush`), then tag and push your first image: docker login myregistrydomain.com:5043 docker tag ubuntu myregistrydomain.com:5043/test diff --git a/registry/recipes/index.md b/registry/recipes/index.md index 482a48943a8..ab6986a6350 100644 --- a/registry/recipes/index.md +++ b/registry/recipes/index.md @@ -2,15 +2,9 @@ description: Fun stuff to do with your registry keywords: - registry, on-prem, images, tags, repository, distribution, recipes, advanced -menu: - main: - parent: smn_recipes - weight: -10 title: Recipes Overview --- -# Recipes - You will find here a list of "recipes", end-to-end scenarios for exotic or otherwise advanced use-cases. Most users are not expected to have a use for these. diff --git a/registry/recipes/mirror.md b/registry/recipes/mirror.md index 6e66f73a005..cc40ae747ba 100644 --- a/registry/recipes/mirror.md +++ b/registry/recipes/mirror.md @@ -1,59 +1,76 @@ --- description: Setting-up a local mirror for Docker Hub images keywords: -- registry, on-prem, images, tags, repository, distribution, mirror, Hub, recipe, - advanced -menu: - main: - parent: smn_recipes -title: Mirroring Docker Hub +- registry, on-prem, images, tags, repository, distribution, mirror, Hub, recipe, advanced +title: Registry as a pull through cache --- -# Registry as a pull through cache - ## Use-case -If you have multiple instances of Docker running in your environment (e.g., multiple physical or virtual machines, all running the Docker daemon), each time one of them requires an image that it doesn’t have it will go out to the internet and fetch it from the public Docker registry. By running a local registry mirror, you can keep most of the redundant image fetch traffic on your local network. +If you have multiple instances of Docker running in your environment (e.g., +multiple physical or virtual machines, all running the Docker daemon), each time +one of them requires an image that it doesn’t have it will go out to the +internet and fetch it from the public Docker registry. By running a local +registry mirror, you can keep most of the redundant image fetch traffic on your +local network. ### Alternatives -Alternatively, if the set of images you are using is well delimited, you can simply pull them manually and push them to a simple, local, private registry. +Alternatively, if the set of images you are using is well delimited, you can +simply pull them manually and push them to a simple, local, private registry. -Furthermore, if your images are all built in-house, not using the Hub at all and relying entirely on your local registry is the simplest scenario. +Furthermore, if your images are all built in-house, not using the Hub at all and +relying entirely on your local registry is the simplest scenario. ### Gotcha -It's currently not possible to mirror another private registry. Only the central Hub can be mirrored. +It's currently not possible to mirror another private registry. Only the central +Hub can be mirrored. ### Solution -The Registry can be configured as a pull through cache. In this mode a Registry responds to all normal docker pull requests but stores all content locally. +The Registry can be configured as a pull through cache. In this mode a Registry +responds to all normal docker pull requests but stores all content locally. ## How does it work? -The first time you request an image from your local registry mirror, it pulls the image from the public Docker registry and stores it locally before handing it back to you. On subsequent requests, the local registry mirror is able to serve the image from its own storage. +The first time you request an image from your local registry mirror, it pulls +the image from the public Docker registry and stores it locally before handing +it back to you. On subsequent requests, the local registry mirror is able to +serve the image from its own storage. ### What if the content changes on the Hub? -When a pull is attempted with a tag, the Registry will check the remote to ensure if it has the latest version of the requested content. If it doesn't it will fetch the latest content and cache it. +When a pull is attempted with a tag, the Registry will check the remote to +ensure if it has the latest version of the requested content. If it doesn't it +will fetch the latest content and cache it. ### What about my disk? -In environments with high churn rates, stale data can build up in the cache. When running as a pull through cache the Registry will periodically remove old content to save disk space. Subsequent requests for removed content will cause a remote fetch and local re-caching. +In environments with high churn rates, stale data can build up in the cache. +When running as a pull through cache the Registry will periodically remove old +content to save disk space. Subsequent requests for removed content will cause a +remote fetch and local re-caching. -To ensure best performance and guarantee correctness the Registry cache should be configured to use the `filesystem` driver for storage. +To ensure best performance and guarantee correctness the Registry cache should +be configured to use the `filesystem` driver for storage. ## Running a Registry as a pull through cache -The easiest way to run a registry as a pull through cache is to run the official Registry image. +The easiest way to run a registry as a pull through cache is to run the official +Registry image. -Multiple registry caches can be deployed over the same back-end. A single registry cache will ensure that concurrent requests do not pull duplicate data, but this property will not hold true for a registry cache cluster. +Multiple registry caches can be deployed over the same back-end. A single +registry cache will ensure that concurrent requests do not pull duplicate data, +but this property will not hold true for a registry cache cluster. ### Configuring the cache -To configure a Registry to run as a pull through cache, the addition of a `proxy` section is required to the config file. +To configure a Registry to run as a pull through cache, the addition of a +`proxy` section is required to the config file. -In order to access private images on the Docker Hub, a username and password can be supplied. +In order to access private images on the Docker Hub, a username and password can +be supplied. proxy: remoteurl: https://registry-1.docker.io @@ -66,7 +83,8 @@ In order to access private images on the Docker Hub, a username and password can ### Configuring the Docker daemon -You will need to pass the `--registry-mirror` option to your Docker daemon on startup: +You will need to pass the `--registry-mirror` option to your Docker daemon on +startup: docker --registry-mirror=https:// daemon @@ -74,4 +92,6 @@ For example, if your mirror is serving on `http://10.0.0.2:5000`, you would run: docker --registry-mirror=https://10.0.0.2:5000 daemon -NOTE: Depending on your local host setup, you may be able to add the `--registry-mirror` option to the `DOCKER_OPTS` variable in `/etc/default/docker`. +> NOTE: Depending on your local host setup, you may be able to add the +`--registry-mirror` option to the `DOCKER_OPTS` variable in +`/etc/default/docker`. diff --git a/registry/recipes/nginx.md b/registry/recipes/nginx.md index 94fca625c69..c187394301f 100644 --- a/registry/recipes/nginx.md +++ b/registry/recipes/nginx.md @@ -1,42 +1,50 @@ --- description: Restricting access to your registry using a nginx proxy keywords: -- registry, on-prem, images, tags, repository, distribution, nginx, proxy, authentication, - TLS, recipe, advanced -menu: - main: - parent: smn_recipes -title: Authenticating proxy with nginx +- registry, on-prem, images, tags, repository, distribution, nginx, proxy, authentication, TLS, recipe, advanced +title: Authenticate proxy with nginx --- -# Authenticating proxy with nginx - - ## Use-case -People already relying on a nginx proxy to authenticate their users to other services might want to leverage it and have Registry communications tunneled through the same pipeline. +People already relying on a nginx proxy to authenticate their users to other +services might want to leverage it and have Registry communications tunneled +through the same pipeline. -Usually, that includes enterprise setups using LDAP/AD on the backend and a SSO mechanism fronting their internal http portal. +Usually, that includes enterprise setups using LDAP/AD on the backend and a SSO +mechanism fronting their internal http portal. ### Alternatives -If you just want authentication for your registry, and are happy maintaining users access separately, you should really consider sticking with the native [basic auth registry feature](../deploying.md#native-basic-auth). +If you just want authentication for your registry, and are happy maintaining +users access separately, you should really consider sticking with the native +[basic auth registry feature](../deploying.md#native-basic-auth). ### Solution -With the method presented here, you implement basic authentication for docker engines in a reverse proxy that sits in front of your registry. +With the method presented here, you implement basic authentication for docker +engines in a reverse proxy that sits in front of your registry. -While we use a simple htpasswd file as an example, any other nginx authentication backend should be fairly easy to implement once you are done with the example. +While we use a simple htpasswd file as an example, any other nginx +authentication backend should be fairly easy to implement once you are done with +the example. -We also implement push restriction (to a limited user group) for the sake of the example. Again, you should modify this to fit your mileage. +We also implement push restriction (to a limited user group) for the sake of the +example. Again, you should modify this to fit your mileage. ### Gotchas -While this model gives you the ability to use whatever authentication backend you want through the secondary authentication mechanism implemented inside your proxy, it also requires that you move TLS termination from the Registry to the proxy itself. +While this model gives you the ability to use whatever authentication backend +you want through the secondary authentication mechanism implemented inside your +proxy, it also requires that you move TLS termination from the Registry to the +proxy itself. -Furthermore, introducing an extra http layer in your communication pipeline will make it more complex to deploy, maintain, and debug, and will possibly create issues. Make sure the extra complexity is required. +Furthermore, introducing an extra http layer in your communication pipeline will +make it more complex to deploy, maintain, and debug, and will possibly create +issues. Make sure the extra complexity is required. -For instance, Amazon's Elastic Load Balancer (ELB) in HTTPS mode already sets the following client header: +For instance, Amazon's Elastic Load Balancer (ELB) in HTTPS mode already sets +the following client header: ``` X-Real-IP @@ -44,7 +52,8 @@ X-Forwarded-For X-Forwarded-Proto ``` -So if you have an nginx sitting behind it, should remove these lines from the example config below: +So if you have an nginx sitting behind it, should remove these lines from the +example config below: ``` X-Real-IP $remote_addr; # pass on real client's IP @@ -52,7 +61,9 @@ X-Forwarded-For $proxy_add_x_forwarded_for; X-Forwarded-Proto $scheme; ``` -Otherwise nginx will reset the ELB's values, and the requests will not be routed properly. For more information, see [#970](https://github.com/docker/distribution/issues/970). +Otherwise nginx will reset the ELB's values, and the requests will not be routed +properly. For more information, see +[#970](https://github.com/docker/distribution/issues/970). ## Setting things up @@ -183,7 +194,8 @@ Now, start your stack: docker-compose up -d -Login with a "push" authorized user (using `testuser` and `testpassword`), then tag and push your first image: +Login with a "push" authorized user (using `testuser` and `testpassword`), then +tag and push your first image: docker login -u=testuser -p=testpassword -e=root@example.ch myregistrydomain.com:5043 docker tag ubuntu myregistrydomain.com:5043/test diff --git a/registry/recipes/osx-setup-guide.md b/registry/recipes/osx-setup-guide.md index f926f8c9e66..375f440858e 100644 --- a/registry/recipes/osx-setup-guide.md +++ b/registry/recipes/osx-setup-guide.md @@ -2,14 +2,9 @@ description: Explains how to run a registry on macOS keywords: - registry, on-prem, images, tags, repository, distribution, macOS, recipe, advanced -menu: - main: - parent: smn_recipes -title: Running on macOS +title: macOS Setup Guide --- -# macOS Setup Guide - ## Use-case This is useful if you intend to run a registry server natively on macOS. diff --git a/registry/spec/api.md b/registry/spec/api.md index 45551b9e655..4e99944f0f0 100644 --- a/registry/spec/api.md +++ b/registry/spec/api.md @@ -2,14 +2,9 @@ description: Specification for the Registry API. keywords: - registry, on-prem, images, tags, repository, distribution, api, advanced -menu: - main: - parent: smn_registry_ref -title: HTTP API V2 +title: Docker Registry HTTP API V2 --- -# Docker Registry HTTP API V2 - ## Introduction The _Docker Registry HTTP API_ is the protocol to facilitate distribution of diff --git a/registry/spec/auth/index.md b/registry/spec/auth/index.md index 6b539f0ec65..324c4bce50c 100644 --- a/registry/spec/auth/index.md +++ b/registry/spec/auth/index.md @@ -2,15 +2,9 @@ description: Docker Registry v2 authentication schema keywords: - registry, on-prem, images, tags, repository, distribution, authentication, advanced -menu: - main: - parent: smn_registry_ref - weight: 100 -title: Docker Registry Token Authentication +title: Docker Registry v2 authentication --- -# Docker Registry v2 authentication - See the [Token Authentication Specification](token.md), [Token Authentication Implementation](jwt.md), [Token Scope Documentation](scope.md), diff --git a/registry/spec/auth/jwt.md b/registry/spec/auth/jwt.md index e0a2e641f3b..eb0d6fa5690 100644 --- a/registry/spec/auth/jwt.md +++ b/registry/spec/auth/jwt.md @@ -1,17 +1,10 @@ --- -description: Describe the reference implementation of the Docker Registry v2 authentication - schema +description: Describe the reference implementation of the Docker Registry v2 authentication schema keywords: - registry, on-prem, images, tags, repository, distribution, JWT authentication, advanced -menu: - main: - parent: smn_registry_ref - weight: 101 -title: Token Authentication Implementation +title: Docker Registry v2 Bearer token specification --- -# Docker Registry v2 Bearer token specification - This specification covers the `docker/distribution` implementation of the v2 Registry's authentication schema. Specifically, it describes the JSON Web Token schema that `docker/distribution` has adopted to implement the diff --git a/registry/spec/auth/oauth.md b/registry/spec/auth/oauth.md index ce0bcc49f20..388a4144b49 100644 --- a/registry/spec/auth/oauth.md +++ b/registry/spec/auth/oauth.md @@ -2,15 +2,9 @@ description: Specifies the Docker Registry v2 authentication keywords: - registry, on-prem, images, tags, repository, distribution, oauth2, advanced -menu: - main: - parent: smn_registry_ref - weight: 102 -title: Oauth2 Token Authentication +title: Docker Registry v2 authentication using OAuth2 --- -# Docker Registry v2 authentication using OAuth2 - This document describes support for the OAuth2 protocol within the authorization server. [RFC6749](https://tools.ietf.org/html/rfc6749) should be used as a reference for the protocol and HTTP endpoints described here. @@ -188,4 +182,3 @@ Content-Type: application/json {"refresh_token":"kas9Da81Dfa8","access_token":"eyJhbGciOiJFUzI1NiIsInR5":"expires_in":900,"scope":"repository:samalba/my-app:pull,repository:samalba/my-app:push"} ``` - diff --git a/registry/spec/auth/scope.md b/registry/spec/auth/scope.md index 8cd8699eaa5..aa4bebf1b0c 100644 --- a/registry/spec/auth/scope.md +++ b/registry/spec/auth/scope.md @@ -1,17 +1,10 @@ --- -description: Describes the scope and access fields used for registry authorization - tokens +description: Describes the scope and access fields used for registry authorization tokens keywords: - registry, on-prem, images, tags, repository, distribution, advanced, access, scope -menu: - main: - parent: smn_registry_ref - weight: 103 -title: Token Scope Documentation +title: Docker Registry token scope and access --- -# Docker Registry Token Scope and Access - Tokens used by the registry are always restricted what resources they may be used to access, where those resources may be accessed, and what actions may be done on those resources. Tokens always have the context of a user which @@ -141,4 +134,3 @@ done by fetching an access token using the refresh token. Since the refresh token is not scoped to specific resources for an audience, extra care should be taken to only use the refresh token to negotiate new access tokens directly with the authorization server, and never with a resource provider. - diff --git a/registry/spec/auth/token.md b/registry/spec/auth/token.md index fa49357e224..ed3f382f20f 100644 --- a/registry/spec/auth/token.md +++ b/registry/spec/auth/token.md @@ -1,17 +1,10 @@ --- description: Specifies the Docker Registry v2 authentication keywords: -- registry, on-prem, images, tags, repository, distribution, Bearer authentication, - advanced -menu: - main: - parent: smn_registry_ref - weight: 104 -title: Token Authentication Specification +- registry, on-prem, images, tags, repository, distribution, Bearer authentication, advanced +title: Docker Registry v2 authentication via central service --- -# Docker Registry v2 authentication via central service - This document outlines the v2 Docker registry authentication scheme: ![v2 registry auth](../../images/v2-registry-auth.png) @@ -26,7 +19,7 @@ This document outlines the v2 Docker registry authentication scheme: 5. The client retries the original request with the Bearer token embedded in the request's Authorization header. 6. The Registry authorizes the client by validating the Bearer token and the - claim set embedded within it and begins the push/pull session as usual. + claim set embedded within it and begins the push/pull session as usual. ## Requirements @@ -82,7 +75,8 @@ Note the HTTP Response Header indicating the auth challenge: Www-Authenticate: Bearer realm="https://auth.docker.io/token",service="registry.docker.io",scope="repository:samalba/my-app:pull,push" ``` -This format is documented in [Section 3 of RFC 6750: The OAuth 2.0 Authorization Framework: Bearer Token Usage](https://tools.ietf.org/html/rfc6750#section-3) +This format is documented in [Section 3 of RFC 6750: The OAuth 2.0 Authorization +Framework: Bearer Token Usage](https://tools.ietf.org/html/rfc6750#section-3) This challenge indicates that the registry requires a token issued by the specified token server and that the request the client is attempting will @@ -162,7 +156,7 @@ Defines getting a bearer and refresh token using the token endpoint. expires_in
- (Optional) The duration in seconds since the token was issued that it + (Optional) The duration in seconds since the token was issued that it will remain valid. When omitted, this defaults to 60 seconds. For compatibility with older clients, a token should never be returned with less than 60 seconds to live. @@ -253,4 +247,5 @@ token placed in the HTTP `Authorization` header like so: Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiIsImtpZCI6IkJWM0Q6MkFWWjpVQjVaOktJQVA6SU5QTDo1RU42Ok40SjQ6Nk1XTzpEUktFOkJWUUs6M0ZKTDpQT1RMIn0.eyJpc3MiOiJhdXRoLmRvY2tlci5jb20iLCJzdWIiOiJCQ0NZOk9VNlo6UUVKNTpXTjJDOjJBVkM6WTdZRDpBM0xZOjQ1VVc6NE9HRDpLQUxMOkNOSjU6NUlVTCIsImF1ZCI6InJlZ2lzdHJ5LmRvY2tlci5jb20iLCJleHAiOjE0MTUzODczMTUsIm5iZiI6MTQxNTM4NzAxNSwiaWF0IjoxNDE1Mzg3MDE1LCJqdGkiOiJ0WUpDTzFjNmNueXk3a0FuMGM3cktQZ2JWMUgxYkZ3cyIsInNjb3BlIjoiamxoYXduOnJlcG9zaXRvcnk6c2FtYWxiYS9teS1hcHA6cHVzaCxwdWxsIGpsaGF3bjpuYW1lc3BhY2U6c2FtYWxiYTpwdWxsIn0.Y3zZSwaZPqy4y9oRBVRImZyv3m_S9XDHF1tWwN7mL52C_IiA73SJkWVNsvNqpJIn5h7A2F8biv_S2ppQ1lgkbw ``` -This is also described in [Section 2.1 of RFC 6750: The OAuth 2.0 Authorization Framework: Bearer Token Usage](https://tools.ietf.org/html/rfc6750#section-2.1) +This is also described in [Section 2.1 of RFC 6750: The OAuth 2.0 Authorization +Framework: Bearer Token Usage](https://tools.ietf.org/html/rfc6750#section-2.1) diff --git a/registry/spec/index.md b/registry/spec/index.md index 7ad0aaea462..74b131496b3 100644 --- a/registry/spec/index.md +++ b/registry/spec/index.md @@ -2,15 +2,9 @@ description: Explains registry JSON objects keywords: - registry, service, images, repository, json -menu: - main: - parent: smn_registry_ref - weight: -1 -title: Reference Overview +title: Docker Registry Reference --- -# Docker Registry Reference - * [HTTP API V2](api.md) * [Storage Driver](../storage-drivers/index.md) * [Token Authentication Specification](auth/token.md) diff --git a/registry/spec/json.md b/registry/spec/json.md index e5d0d304e81..69cb4498d94 100644 --- a/registry/spec/json.md +++ b/registry/spec/json.md @@ -3,14 +3,9 @@ description: Explains registry JSON objects published: false keywords: - registry, service, images, repository, json -menu: - main: - parent: smn_registry_ref -title: Docker Distribution JSON Canonicalization +title: Docker Distribution JSON canonicalization --- -# Docker Distribution JSON Canonicalization - To provide consistent content hashing of JSON objects throughout Docker Distribution APIs, the specification defines a canonical JSON format. Adopting such a canonicalization also aids in caching JSON responses. diff --git a/registry/spec/manifest-v2-1.md b/registry/spec/manifest-v2-1.md index 3162f3f89b1..63db46e31c6 100644 --- a/registry/spec/manifest-v2-1.md +++ b/registry/spec/manifest-v2-1.md @@ -2,14 +2,9 @@ description: image manifest for the Registry. keywords: - registry, on-prem, images, tags, repository, distribution, api, advanced, manifest -menu: - main: - parent: smn_registry_ref -title: 'Image Manifest V 2, Schema 1 ' +title: Image manifest V2, schema 1 --- -# Image Manifest Version 2, Schema 1 - This document outlines the format of of the V2 image manifest. The image manifest described herein was introduced in the Docker daemon in the [v1.3.0 release](https://github.com/docker/docker/commit/9f482a66ab37ec396ac61ed0c00d59122ac07453). diff --git a/registry/spec/manifest-v2-2.md b/registry/spec/manifest-v2-2.md index eaf9295c10d..4c28e9ac25b 100644 --- a/registry/spec/manifest-v2-2.md +++ b/registry/spec/manifest-v2-2.md @@ -2,14 +2,9 @@ description: image manifest for the Registry. keywords: - registry, on-prem, images, tags, repository, distribution, api, advanced, manifest -menu: - main: - parent: smn_registry_ref -title: 'Image Manifest V 2, Schema 2 ' +title: Image manifest V2, schema 2 --- -# Image Manifest Version 2, Schema 2 - This document outlines the format of of the V2 image manifest, schema version 2. The original (and provisional) image manifest for V2 (schema 1), was introduced in the Docker daemon in the [v1.3.0 diff --git a/registry/storage-drivers/azure.md b/registry/storage-drivers/azure.md index 64e476e423c..899418ced26 100644 --- a/registry/storage-drivers/azure.md +++ b/registry/storage-drivers/azure.md @@ -2,14 +2,9 @@ description: Explains how to use the Azure storage drivers keywords: - registry, service, driver, images, storage, azure -menu: - main: - parent: smn_storagedrivers title: Microsoft Azure storage driver --- -# Microsoft Azure storage driver - An implementation of the `storagedriver.StorageDriver` interface which uses [Microsoft Azure Blob Storage](http://azure.microsoft.com/en-us/services/storage/) for object storage. ## Parameters diff --git a/registry/storage-drivers/filesystem.md b/registry/storage-drivers/filesystem.md index 2c7f6628e8f..2a1f7e1c4cb 100644 --- a/registry/storage-drivers/filesystem.md +++ b/registry/storage-drivers/filesystem.md @@ -2,14 +2,9 @@ description: Explains how to use the filesystem storage drivers keywords: - registry, service, driver, images, storage, filesystem -menu: - main: - parent: smn_storagedrivers title: Filesystem storage driver --- -# Filesystem storage driver - An implementation of the `storagedriver.StorageDriver` interface which uses the local filesystem. ## Parameters diff --git a/registry/storage-drivers/gcs.md b/registry/storage-drivers/gcs.md index 4c8a7c88c19..4ecc496240e 100644 --- a/registry/storage-drivers/gcs.md +++ b/registry/storage-drivers/gcs.md @@ -2,14 +2,9 @@ description: Explains how to use the Google Cloud Storage drivers keywords: - registry, service, driver, images, storage, gcs, google, cloud -menu: - main: - parent: smn_storagedrivers -title: GCS storage driver +title: Google Cloud Storage driver --- -# Google Cloud Storage driver - An implementation of the `storagedriver.StorageDriver` interface which uses Google Cloud for object storage. ## Parameters diff --git a/registry/storage-drivers/index.md b/registry/storage-drivers/index.md index 1c9fbe9da82..9279e20d1d8 100644 --- a/registry/storage-drivers/index.md +++ b/registry/storage-drivers/index.md @@ -4,16 +4,9 @@ aliases: description: Explains how to use storage drivers keywords: - registry, on-prem, images, tags, repository, distribution, storage drivers, advanced -menu: - main: - identifier: storage_index - parent: smn_storagedrivers - weight: -1 -title: Storage Driver overview +title: Docker Registry storage driver --- -# Docker Registry Storage Driver - This document describes the registry storage driver model, implementation, and explains how to contribute new storage drivers. ## Provided Drivers diff --git a/registry/storage-drivers/inmemory.md b/registry/storage-drivers/inmemory.md index 6fbed6aafb0..e4b40426121 100644 --- a/registry/storage-drivers/inmemory.md +++ b/registry/storage-drivers/inmemory.md @@ -2,14 +2,9 @@ description: Explains how to use the in-memory storage drivers keywords: - registry, service, driver, images, storage, in-memory -menu: - main: - parent: smn_storagedrivers -title: In-memory storage driver +title: In-memory storage driver (testing only) --- -# In-memory storage driver (Testing Only) - For purely tests purposes, you can use the `inmemory` storage driver. This driver is an implementation of the `storagedriver.StorageDriver` interface which uses local memory for object storage. If you would like to run a registry from diff --git a/registry/storage-drivers/oss.md b/registry/storage-drivers/oss.md index 44109003001..9505494359c 100644 --- a/registry/storage-drivers/oss.md +++ b/registry/storage-drivers/oss.md @@ -2,15 +2,11 @@ description: Explains how to use the Aliyun OSS storage driver keywords: - registry, service, driver, images, storage, OSS, aliyun -menu: - main: - parent: smn_storagedrivers title: Aliyun OSS storage driver --- -# Aliyun OSS storage driver - -An implementation of the `storagedriver.StorageDriver` interface which uses [Aliyun OSS](http://www.aliyun.com/product/oss) for object storage. +An implementation of the `storagedriver.StorageDriver` interface which uses +[Aliyun OSS](http://www.aliyun.com/product/oss) for object storage. ## Parameters diff --git a/registry/storage-drivers/s3.md b/registry/storage-drivers/s3.md index cf72949022e..88e23049f05 100644 --- a/registry/storage-drivers/s3.md +++ b/registry/storage-drivers/s3.md @@ -2,15 +2,11 @@ description: Explains how to use the S3 storage drivers keywords: - registry, service, driver, images, storage, S3 -menu: - main: - parent: smn_storagedrivers title: S3 storage driver --- -# S3 storage driver - -An implementation of the `storagedriver.StorageDriver` interface which uses Amazon S3 or S3 compatible services for object storage. +An implementation of the `storagedriver.StorageDriver` interface which uses +Amazon S3 or S3 compatible services for object storage. ## Parameters @@ -221,17 +217,25 @@ The following IAM permissions are required by the registry for push and pull. S ## Use Case -Adding CloudFront as a middleware for your S3 backed registry can dramatically improve pull times. Your registry will have the ability to retrieve your images from edge servers, rather than the geographically limited location of your S3 bucket. The farther your registry is from your bucket, the more improvements you will see. See [Amazon CloudFront](https://aws.amazon.com/cloudfront/details/). +Adding CloudFront as a middleware for your S3 backed registry can dramatically +improve pull times. Your registry will have the ability to retrieve your images +from edge servers, rather than the geographically limited location of your S3 +bucket. The farther your registry is from your bucket, the more improvements you +will see. See [Amazon CloudFront](https://aws.amazon.com/cloudfront/details/). ## Configuring CloudFront for Distribution -If you are unfamiliar with creating a CloudFront distribution, see [Getting Started with Cloudfront](http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/GettingStarted.html). +If you are unfamiliar with creating a CloudFront distribution, see [Getting +Started with +Cloudfront](http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/GettingStarted.html). Defaults can be kept in most areas except: ### Origin: -The CloudFront distribution must be created such that the `Origin Path` is set to the directory level of the root "docker" key in S3. If your registry exists on the root of the bucket, this path should be left blank. +The CloudFront distribution must be created such that the `Origin Path` is set +to the directory level of the root "docker" key in S3. If your registry exists +on the root of the bucket, this path should be left blank. ### Behaviors: @@ -243,7 +247,9 @@ The CloudFront distribution must be created such that the `Origin Path` is set t ## Registry configuration -Here the `middleware` option is used. It is still important to keep the `storage` option as CloudFront will only handle `pull` actions; `push` actions are still directly written to S3. +Here the `middleware` option is used. It is still important to keep the +`storage` option as CloudFront will only handle `pull` actions; `push` actions +are still directly written to S3. The following example shows what you will need at minimum: @@ -265,4 +271,6 @@ middleware: ## CloudFront Key-Pair -A CloudFront key-pair is required for all AWS accounts needing access to your CloudFront distribution. For information, please see [Creating CloudFront Key Pairs](http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-trusted-signers.html#private-content-creating-cloudfront-key-pairs). +A CloudFront key-pair is required for all AWS accounts needing access to your +CloudFront distribution. For information, please see [Creating CloudFront Key +Pairs](http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-trusted-signers.html#private-content-creating-cloudfront-key-pairs). diff --git a/registry/storage-drivers/swift.md b/registry/storage-drivers/swift.md index eaa80511256..6029a628aec 100644 --- a/registry/storage-drivers/swift.md +++ b/registry/storage-drivers/swift.md @@ -2,15 +2,12 @@ description: Explains how to use the OpenStack swift storage driver keywords: - registry, service, driver, images, storage, swift -menu: - main: - parent: smn_storagedrivers -title: Swift storage driver +title: OpenStack Swift storage driver --- -# OpenStack Swift storage driver - -An implementation of the `storagedriver.StorageDriver` interface that uses [OpenStack Swift](http://docs.openstack.org/developer/swift/) for object storage. +An implementation of the `storagedriver.StorageDriver` interface that uses +[OpenStack Swift](http://docs.openstack.org/developer/swift/) for object +storage. ## Parameters @@ -210,8 +207,9 @@ An implementation of the `storagedriver.StorageDriver` interface that uses [Open
-The features supported by the Swift server are queried by requesting the `/info` URL on the server. In case the administrator -disabled that feature, the configuration file can specify the following optional parameters : +The features supported by the Swift server are queried by requesting the `/info` +URL on the server. In case the administrator disabled that feature, the +configuration file can specify the following optional parameters : diff --git a/release-notes.md b/release-notes.md index d74068285ee..7a5aa0b1843 100644 --- a/release-notes.md +++ b/release-notes.md @@ -2,14 +2,9 @@ description: Release notes for Docker keywords: - docker, documentation, about, technology, understanding, release -menu: - main: - parent: mn_about title: Docker Release Notes --- -# Release notes - For information about releases and the features they contain, see the [releases feed on the Docker Blog](http://blog.docker.com/category/engineering/docker-releases/). For our diff --git a/search.md b/search.md index db3196d6d99..7248d8471a1 100644 --- a/search.md +++ b/search.md @@ -1,14 +1,12 @@ --- -description: Docker documentation Search +description: Docker documentation search results keywords: - Search, Docker, documentation, manual, guide, reference, api notoc: true -title: Search the Docker Documentation +title: Search results noratings: true --- -# Search Results -