diff --git a/Dockerfile b/Dockerfile index 23101d974e..7d002db844 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,7 +15,7 @@ COPY . md_source # then nuke the md_source directory. ## Branch to pull from, per ref doc -ENV ENGINE_BRANCH="1.13.x" +ENV ENGINE_BRANCH="17.03.x" ENV DISTRIBUTION_BRANCH="release/2.5" RUN svn co https://github.com/docker/docker/branches/$ENGINE_BRANCH/docs/extend md_source/engine/extend \ diff --git a/_data/not_edited_here.yaml b/_data/not_edited_here.yaml index a59ffdb8b8..c5859ffac9 100644 --- a/_data/not_edited_here.yaml +++ b/_data/not_edited_here.yaml @@ -16,15 +16,15 @@ overrides: - path: /engine/deprecated.md description: Docker Engine deprecation reference - source: https://github.com/docker/docker/tree/1.13.x/docs/deprecated.md + source: https://github.com/docker/docker/tree/17.03.x/docs/deprecated.md - path: /engine/extend/ description: References for Docker Engine plugin system - source: https://github.com/docker/docker/tree/1.13.x/docs/extend/ + source: https://github.com/docker/docker/tree/17.03.x/docs/extend/ - path: /engine/reference/ description: Docker Engine CLI and API references - source: https://github.com/docker/docker/tree/1.13.x/docs/reference/ + source: https://github.com/docker/docker/tree/17.03.x/docs/reference/ - path: /notary/reference/ description: Reference docs for Docker Notary diff --git a/_data/toc.yaml b/_data/toc.yaml index 087c327ee4..d882dbd596 100644 --- a/_data/toc.yaml +++ b/_data/toc.yaml @@ -19,7 +19,7 @@ guides: - sectiontitle: Get Docker section: - path: /engine/installation/ - title: Install Docker Engine + title: Install Docker - path: /docker-for-mac/install/ title: Docker for Mac - path: /docker-for-windows/install/ @@ -35,11 +35,11 @@ guides: - path: /engine/installation/linux/fedora/ title: Fedora - path: /engine/installation/linux/debian/ - title: Debian or Raspbian + title: Debian - path: /engine/installation/linux/oracle/ title: Oracle Linux - path: /engine/installation/linux/suse/ - title: OpenSuSE and SuSE Linux Enterprise + title: SuSE Linux Enterprise - path: /engine/installation/linux/other/ title: Other Linux distributions - path: /engine/installation/binaries/ @@ -869,6 +869,13 @@ samples: title: WordPress manuals: +- sectiontitle: Docker Enterprise Edition + section: + - path: /enterprise/ + title: About Docker EE + - path: /engine/installation/ + title: Install Docker EE + nosync: true - sectiontitle: Commercially Supported Docker Engine section: - sectiontitle: 1.13 diff --git a/_includes/d4a_buttons.md b/_includes/d4a_buttons.md index 05af8c8396..12ca726f5f 100644 --- a/_includes/d4a_buttons.md +++ b/_includes/d4a_buttons.md @@ -1,25 +1,32 @@ -{% capture aws_button_latest %} -![Docker for AWS](https://s3.amazonaws.com/cloudformation-examples/cloudformation-launch-stack.png) -{% endcapture %} +{% assign d4a_stable = "CE-Stable-1" %} +{% assign d4a_edge = "CE-Edge-1" %} +{% assign edition_version = "17.03.0-ce" %} + + {% capture aws_blue_latest %} -Deploy Docker for AWS (stable) +Deploy Docker Community Edition (CE) for AWS (stable) {% endcapture %} + {% capture aws_blue_edge %} -Deploy Docker for AWS (beta) +Deploy Docker Community Edition (CE) for AWS (edge) {% endcapture %} + {% capture aws_blue_vpc_latest %} -Deploy Docker for AWS (stable)
uses your existing VPC
+Deploy Docker Community Edition (CE) for AWS (stable)
uses your existing VPC
{% endcapture %} + {% capture aws_blue_vpc_edge %} -Deploy Docker for AWS (beta)
uses your existing VPC
+Deploy Docker Community Edition (CE) for AWS (edge)
uses your existing VPC
{% endcapture %} {% capture azure_blue_latest %} -Deploy Docker for Azure (stable) +Deploy Docker Community Edition (CE) for Azure (stable) {% endcapture %} + {% capture azure_blue_edge %} -Deploy Docker for Azure (beta) +Deploy Docker Community Edition (CE) for Azure (edge) {% endcapture %} + {% capture azure_button_latest %} ![Docker for Azure](http://azuredeploy.net/deploybutton.png) {% endcapture %} diff --git a/_includes/docker_platform_matrix.md b/_includes/docker_platform_matrix.md new file mode 100644 index 0000000000..128c13d5fb --- /dev/null +++ b/_includes/docker_platform_matrix.md @@ -0,0 +1,17 @@ +{% capture green-check %}![yes](/engine/installation/images/green-check.svg){: style="height: 14px"}{% endcapture %} + +| Platform | Docker EE | Docker CE | +|:-------------------------------------------------------------------------------------|:-----------------:|:-----------------:| +| [Ubuntu](linux/ubuntulinux.md) | {{ green-check }} | {{ green-check }} | +| [Debian](linux/debian.md) | | {{ green-check }} | +| [Red Hat Enterprise Linux](linux/rhel.md) | {{ green-check }} | | +| [CentOS](linux/centos.md) | {{ green-check }} | {{ green-check }} | +| [Fedora](linux/fedora.md) | | {{ green-check }} | +| [Oracle Linux](linux/oracle.md) | {{ green-check }} | | +| [SUSE Linux Enterprise Server](linux/suse.md) | {{ green-check }} | | +| [Microsoft Windows Server 2016](https://docs.microsoft.com/en-us/virtualization/windowscontainers/quick-start/quick-start-windows-server){: target="_blank" class="_" } | {{ green-check }} | | +| [Microsoft Windows 10](/docker-for-windows/)) | | {{ green-check }} | +| [macOS](/docker-for-mac/) | | {{ green-check }} | +| [Microsoft Azure](/docker-cloud/infrastructure/link-aws.md) | {{ green-check }} | {{ green-check }} | +| [Amazon Web Services](/docker-cloud/infrastructure/link-aws.md) | {{ green-check }} | {{ green-check }} | +{: style="width: 75%" } diff --git a/compose/bundles.md b/compose/bundles.md index fdb11e6793..a79ec7a708 100644 --- a/compose/bundles.md +++ b/compose/bundles.md @@ -5,23 +5,33 @@ keywords: documentation, docs, docker, compose, bundles, stacks title: Docker stacks and distributed application bundles (experimental) --- -> **Note**: This is a copy of the [Docker Stacks and Distributed Application +> **Note**: This is a modified 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). +> document in the [docker/docker repo](https://github.com/docker/docker). It's been updated to accurately reflect newer releases. ## Overview -Docker Stacks and Distributed Application Bundles are experimental features -introduced in Docker 1.12 and Docker Compose 1.8, alongside the concept of -swarm mode, and Nodes and Services in the Engine API. - A Dockerfile can be built into an image, and containers can be created from -that image. Similarly, a docker-compose.yml can be built into a **distributed +that image. Similarly, a `docker-compose.yml` can be built into a **distributed application bundle**, and **stacks** can be created from that bundle. In that sense, the bundle is a multi-services distributable image format. -As of Docker 1.12 and Compose 1.8, the features are experimental. Neither -Docker Engine nor the Docker Registry support distribution of bundles. +Docker Stacks and Distributed Application Bundles started as experimental +features introduced in Docker 1.12 and Docker Compose 1.8, alongside the concept +of swarm mode, and nodes and services in the Engine API. Neither Docker Engine +nor the Docker Registry support distribution of bundles, and the concept of a +`bundle` is not the emphasis for new releases going forward. + +However, [swarm mode](/engine/swarm/index.md), multi-service applications, and +stack files now are fully supported. A stack file is a particular type of +[version 3 Compose file](/compose/compose-file/index.md). + +If you are just getting started with Docker and want to learn the best way to +deploy multi-service applications, a good place to start is the [Sample app +tutorial](/engine/getstarted-voting-app/index.md). This shows you how to define +a service configuration in a `docker-stack.yml` file, deploy the app, and use +the relevant tools and commands. + ## Producing a bundle @@ -199,4 +209,12 @@ A service has the following fields: > **Note:** Some configuration options are not yet supported in the DAB format, -> including volume mounts. \ No newline at end of file +> including volume mounts. + +## Related topics + +* [Sample app tutorial](/engine/getstarted-voting-app/index.md) + +* [docker stack deploy](/engine/reference/commandline/stack_deploy/) command + +* [deploy](/compose/compose-file/index.md#deploy) option in [Compose files](/compose/compose-file/index.md) diff --git a/compose/compose-file/compose-file-v1.md b/compose/compose-file/compose-file-v1.md index ba49a46a8c..1610a2e50c 100644 --- a/compose/compose-file/compose-file-v1.md +++ b/compose/compose-file/compose-file-v1.md @@ -475,7 +475,7 @@ is specified, then read-write will be used. - service_name - service_name:ro -### cpu\_shares, cpu\_quota, cpuset, domainname, hostname, ipc, mac\_address, mem\_limit, memswap\_limit, privileged, read\_only, restart, shm\_size, stdin\_open, tty, user, working\_dir +### cpu\_shares, cpu\_quota, cpuset, domainname, hostname, ipc, mac\_address, mem\_limit, memswap\_limit, mem\_swappiness, privileged, read\_only, restart, shm\_size, stdin\_open, tty, user, working\_dir Each of these is a single value, analogous to its [docker run](/engine/reference/run.md) counterpart. diff --git a/compose/compose-file/compose-file-v2.md b/compose/compose-file/compose-file-v2.md index 81303fe9a7..32664c7898 100644 --- a/compose/compose-file/compose-file-v2.md +++ b/compose/compose-file/compose-file-v2.md @@ -883,7 +883,7 @@ then read-write will be used. > - container_name > - container_name:rw -### cpu\_shares, cpu\_quota, cpuset, domainname, hostname, ipc, mac\_address, mem\_limit, memswap\_limit, oom_score_adj, privileged, read\_only, restart, shm\_size, stdin\_open, tty, user, working\_dir +### cpu\_shares, cpu\_quota, cpuset, domainname, hostname, ipc, mac\_address, mem\_limit, memswap\_limit, mem\_swappiness, oom_score_adj, privileged, read\_only, restart, shm\_size, stdin\_open, tty, user, working\_dir Each of these is a single value, analogous to its [docker run](/engine/reference/run.md) counterpart. diff --git a/compose/compose-file/index.md b/compose/compose-file/index.md index 81db83243f..da0b631f54 100644 --- a/compose/compose-file/index.md +++ b/compose/compose-file/index.md @@ -247,7 +247,7 @@ updates. Configures resource constraints. This replaces the older resource constraint options in Compose files prior to version 3 (`cpu_shares`, `cpu_quota`, -`cpuset`, `mem_limit`, `memswap_limit`). +`cpuset`, `mem_limit`, `memswap_limit`, `mem_swappiness`). Each of these is a single value, analogous to its [docker run](/engine/reference/run.md) counterpart. diff --git a/compose/reference/run.md b/compose/reference/run.md index fec994f4c7..0fc83d8fe2 100644 --- a/compose/reference/run.md +++ b/compose/reference/run.md @@ -1,6 +1,6 @@ --- description: Runs a one-off command on a service. -keywords: fig, composition, compose, docker, orchestration, cli, run +keywords: fig, composition, compose, docker, orchestration, cli, run title: docker-compose run notoc: true --- @@ -27,24 +27,24 @@ Runs a one-time command against a service. For example, the following command st docker-compose run web bash -Commands you use with `run` start in new containers with the same configuration as defined by the service' configuration. This means the container has the same volumes, links, as defined in the configuration file. There are two differences though. +Commands you use with `run` start in new containers with configuration defined by that of the service, including volumes, links, and other details. However, there are two important differences. First, the command passed by `run` overrides the command defined in the service configuration. For example, if the `web` service configuration is started with `bash`, then `docker-compose run web python app.py` overrides it with `python app.py`. -The second difference is the `docker-compose run` command does not create any of the ports specified in the service configuration. This prevents the port collisions with already open ports. If you *do want* the service's ports created and mapped to the host, specify the `--service-ports` flag: +The second difference is that the `docker-compose run` command does not create any of the ports specified in the service configuration. This prevents port collisions with already-open ports. If you *do want* the service's ports to be created and mapped to the host, specify the `--service-ports` flag: docker-compose run --service-ports web python manage.py shell -Alternatively manual port mapping can be specified. Same as when running Docker's `run` command - using `--publish` or `-p` options: +Alternatively, manual port mapping can be specified with the `--publish` or `-p` options, just as when using `docker run`: docker-compose run --publish 8080:80 -p 2022:22 -p 127.0.0.1:2021:21 web python manage.py shell -If you start a service configured with links, the `run` command first checks to see if the linked service is running and starts the service if it is stopped. Once all the linked services are running, the `run` executes the command you passed it. So, for example, you could run: +If you start a service configured with links, the `run` command first checks to see if the linked service is running and starts the service if it is stopped. Once all the linked services are running, the `run` executes the command you passed it. For example, you could run: docker-compose run db psql -h db -U docker -This would open up an interactive PostgreSQL shell for the linked `db` container. +This will open an interactive PostgreSQL shell for the linked `db` container. -If you do not want the `run` command to start linked containers, specify the `--no-deps` flag: +If you do not want the `run` command to start linked containers, use the `--no-deps` flag: docker-compose run --no-deps web python manage.py shell diff --git a/cs-engine/1.12/index.md b/cs-engine/1.12/index.md index da4965f1e5..e96ea8880e 100644 --- a/cs-engine/1.12/index.md +++ b/cs-engine/1.12/index.md @@ -45,6 +45,11 @@ to update its RHEL kernel. $ sudo rpm --import "https://sks-keyservers.net/pks/lookup?op=get&search=0xee6d536cf7dc86e2d7d56f59a178ac6c6238f52e" ``` + > **Note**: If the key server above does not respond, you can try one of these: + > + > - pgp.mit.edu + > - keyserver.ubuntu.com + 2. Install yum-utils if necessary: ```bash @@ -148,6 +153,10 @@ to update its RHEL kernel. $ curl -fsSL 'https://sks-keyservers.net/pks/lookup?op=get&search=0xee6d536cf7dc86e2d7d56f59a178ac6c6238f52e' | sudo apt-key add - ``` + Note: if the key server above does not respond, you can try one of these: + - pgp.mit.edu + - keyserver.ubuntu.com + 3. Add the repository. In the command below, the `lsb_release -cs` sub-command returns the name of your Ubuntu version, like `xenial` or `trusty`. @@ -224,6 +233,10 @@ to update its RHEL kernel. This adds the repository of the latest version of CS Docker Engine. You can customize the URL to install an older version. + Note: if the key server above does not respond, you can try one of these: + - pgp.mit.edu + - keyserver.ubuntu.com + 3. Install CS Docker Engine. - **Latest version**: diff --git a/cs-engine/1.12/release-notes/release-notes.md b/cs-engine/1.12/release-notes/release-notes.md index b24320bca2..3354422a07 100644 --- a/cs-engine/1.12/release-notes/release-notes.md +++ b/cs-engine/1.12/release-notes/release-notes.md @@ -22,6 +22,12 @@ cannot be adopted as quickly for consistency and compatibility reasons. These notes refer to the current and immediately prior releases of the CS Engine. For notes on older versions, see the [CS Engine prior release notes archive](prior-release-notes.md). +## CS Engine 1.12.6-cs9 +(28 Feb 2017) + +* Fixes an issue causing containerd to deadlock [#336](github.com/docker/containerd/pull/336) +* Fixes an issue where encrypted overlay networks stop working [#30727](github.com/docker/docker/issues/30727) + ## CS Engine 1.12.6-cs8 (8 Feb 2017) diff --git a/cs-engine/1.12/upgrade.md b/cs-engine/1.12/upgrade.md index fbdb29b31a..a1025da4e4 100644 --- a/cs-engine/1.12/upgrade.md +++ b/cs-engine/1.12/upgrade.md @@ -180,6 +180,10 @@ Use these instructions to upgrade YUM-based systems. $ sudo rpm --import "https://sks-keyservers.net/pks/lookup?op=get&search=0xee6d536cf7dc86e2d7d56f59a178ac6c6238f52e" ``` + Note: if the key server above does not respond, you can try one of these: + - pgp.mit.edu + - keyserver.ubuntu.com + 3. Install yum-utils if necessary: ```bash @@ -225,6 +229,10 @@ Use these instructions to update APT-based systems. $ curl -s 'https://sks-keyservers.net/pks/lookup?op=get&search=0xee6d536cf7dc86e2d7d56f59a178ac6c6238f52e' | sudo apt-key add --import ``` + Note: if the key server above does not respond, you can try one of these: + - pgp.mit.edu + - keyserver.ubuntu.com + 3. Install the HTTPS helper for apt (your system may already have it): ```bash diff --git a/cs-engine/1.13/index.md b/cs-engine/1.13/index.md index 2a7f50efed..8e96a810ea 100644 --- a/cs-engine/1.13/index.md +++ b/cs-engine/1.13/index.md @@ -48,6 +48,10 @@ to update its RHEL kernel. $ sudo rpm --import "https://sks-keyservers.net/pks/lookup?op=get&search=0xee6d536cf7dc86e2d7d56f59a178ac6c6238f52e" ``` + Note: if the key server above does not respond, you can try one of these: + - pgp.mit.edu + - keyserver.ubuntu.com + 2. Install yum-utils if necessary: ```bash @@ -151,6 +155,10 @@ to update its RHEL kernel. $ curl -fsSL 'https://sks-keyservers.net/pks/lookup?op=get&search=0xee6d536cf7dc86e2d7d56f59a178ac6c6238f52e' | sudo apt-key add - ``` + Note: if the key server above does not respond, you can try one of these: + - pgp.mit.edu + - keyserver.ubuntu.com + 3. Add the repository. In the command below, the `lsb_release -cs` sub-command returns the name of your Ubuntu version, like `xenial` or `trusty`. @@ -227,6 +235,10 @@ to update its RHEL kernel. This adds the repository of the latest version of CS Docker Engine. You can customize the URL to install an older version. + Note: if the key server above does not respond, you can try one of these: + - pgp.mit.edu + - keyserver.ubuntu.com + 3. Install CS Docker Engine. - **Latest version**: diff --git a/cs-engine/1.13/upgrade.md b/cs-engine/1.13/upgrade.md index ac55e3abc4..9153f17770 100644 --- a/cs-engine/1.13/upgrade.md +++ b/cs-engine/1.13/upgrade.md @@ -175,6 +175,10 @@ Use these instructions to upgrade YUM-based systems. $ sudo rpm --import "https://sks-keyservers.net/pks/lookup?op=get&search=0xee6d536cf7dc86e2d7d56f59a178ac6c6238f52e" ``` + Note: if the key server above does not respond, you can try one of these: + - pgp.mit.edu + - keyserver.ubuntu.com + 3. Install yum-utils if necessary: ```bash @@ -220,6 +224,10 @@ Use these instructions to update APT-based systems. $ curl -s 'https://sks-keyservers.net/pks/lookup?op=get&search=0xee6d536cf7dc86e2d7d56f59a178ac6c6238f52e' | sudo apt-key add --import ``` + Note: if the key server above does not respond, you can try one of these: + - pgp.mit.edu + - keyserver.ubuntu.com + 3. Install the HTTPS helper for apt (your system may already have it): ```bash diff --git a/datacenter/install/aws.md b/datacenter/install/aws.md index 5e16049bee..e4c0eccaec 100644 --- a/datacenter/install/aws.md +++ b/datacenter/install/aws.md @@ -4,8 +4,7 @@ description: Learn how to deploy Docker Datacenter with one click, using an Amaz keywords: docker, datacenter, install, orchestration, management --- -{% assign launch_url = "https://console.aws.amazon.com/cloudformation/home?#/stacks/new?templateURL=" %} -{% assign template_url = "https://s3.amazonaws.com/packages.docker.com/caas/docker/docker_for_aws_ddc_2.1.0.json" %} +{% assign launch_url = "https://aws.amazon.com/marketplace/pp/B06XCFDF9K" %} Docker Datacenter on Docker for Amazon AWS is an one-click deployment of DDC on AWS. It deploys multiple nodes with Docker CS Engine, and then installs @@ -119,15 +118,14 @@ Manager ephemeral storage volume type ("standard", "gp2") ## Installation -There are two ways you can deploy Docker Datacenter on Docker for AWS. You can -use the AWS Management Console (browser based), or the AWS CLI. Both have the -above configuration options. +To deploy Docker Datacenter on Docker for AWS, you will +use the AWS Management Console (browser based), using the above configuration options. -**1) AWS Management Console** +**AWS Management Console** - Click on **Launch Stack** below. This link will take you to AWS cloudformation portal. - [![Docker Datacenter on Docker for AWS](https://s3.amazonaws.com/cloudformation-examples/cloudformation-launch-stack.png)]({{ launch_url }}{{ template_url }}){: .with-border} + [![Docker Datacenter on Docker for AWS](https://s3.amazonaws.com/cloudformation-examples/cloudformation-launch-stack.png)]({{ launch_url }}){: .with-border} - Confirm your AWS Region that you'd like to launch this stack in (top right corner) - Provide the required parameters and click **Next** (see below) @@ -135,48 +133,6 @@ above configuration options. - **Confirm** and **Launch** - Once the stack is successfully created (it does take between 10-15 mins), click on **Output** tab to see the URLs of UCP and DTR. -**2) AWS CLI** - - -- Upload your Docker Datacenter license to an S3 bucket. -- Run the following Docker container that uses `aws-cli` to launch the -Cloudformation stack. Alternatively, if you have `aws-cli` installed you can -run the command directly using it. - - ``` - docker run --env AWS_ACCESS_KEY_ID= \ - --env AWS_SECRET_ACCESS_KEY= \ - --env AWS_DEFAULT_REGION= \ - garland/aws-cli-docker aws cloudformation create-stack \ - --stack-name \ - --capabilities CAPABILITY_IAM \ - --parameters \ - ParameterKey=KeyName,ParameterValue= \ - ParameterKey=InstanceType,ParameterValue= \ - ParameterKey=ManagerInstanceType,ParameterValue= \ - ParameterKey=ClusterSize,ParameterValue= \ - ParameterKey=ManagerSize,ParameterValue= \ - ParameterKey=DDCUsernameSet,ParameterValue= \ - ParameterKey=DDCPasswordSet,ParameterValue= \ - ParameterKey=EnableSystemPrune,ParameterValue= \ - ParameterKey=ManagerDiskSize,ParameterValue= \ - ParameterKey=ManagerDiskType,ParameterValue= \ - ParameterKey=WorkerDiskSize,ParameterValue= \ - ParameterKey=WorkerDiskType,ParameterValue= \ - ParameterKey=License,ParameterValue= \ - --template-url "{{ template_url }}" - ``` - -- Once successfully created ( it does take between 10-15 mins), you can get -stack outputs such as UCP and DTR URLs directly from CLI as follows: - - ``` - docker run --env AWS_ACCESS_KEY_ID= \ - --env AWS_SECRET_ACCESS_KEY= \ - --env AWS_DEFAULT_REGION= \ - garland/aws-cli-docker aws cloudformation describe-stacks --stack-name - ``` - - To fully automate installs, you can use the [AWS Cloudformation API](http://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/Welcome.html) diff --git a/docker-for-aws/faqs.md b/docker-for-aws/faqs.md index 6e0770438f..ef2249439a 100644 --- a/docker-for-aws/faqs.md +++ b/docker-for-aws/faqs.md @@ -5,7 +5,7 @@ title: Docker for AWS Frequently asked questions (FAQ) toc_max: 2 --- -## Stable and beta channels +## Stable and edge channels Two different download channels are available for Docker for AWS: @@ -15,13 +15,13 @@ Two different download channels are available for Docker for AWS: schedule is synched with Docker Engine releases and hotfixes. On the stable channel, you can select whether to send usage statistics and other data. -* The **beta channel** provides a deployment with new features we are working on, +* The **edge channel** provides a deployment with new features we are working on, but is not necessarily fully tested. It comes with the experimental version of - Docker Engine. Bugs, crashes and issues are more likely to occur with the beta + Docker Engine. Bugs, crashes and issues are more likely to occur with the edge cluster, but you get a chance to preview new functionality, experiment, and provide feedback as the deployment evolve. Releases are typically more frequent than for stable, often one or more per month. Usage statistics and crash reports are sent - by default. You do not have the option to disable this on the beta channel. + by default. You do not have the option to disable this on the edge channel. ## Can I use my own AMI? diff --git a/docker-for-aws/index.md b/docker-for-aws/index.md index 838e19b7be..4505eea1ec 100644 --- a/docker-for-aws/index.md +++ b/docker-for-aws/index.md @@ -9,24 +9,30 @@ redirect_from: {% include d4a_buttons.md %} -## Quickstart +## Docker Enterprise Edition (EE) for AWS +This deployment is fully baked and tested, and comes with the latest Enterprise Edition version of Docker.
This release is maintained and receives security and critical bugfixes for one year. + +Deploy Docker Enterprise Edition (EE) for AWS + + +## Docker Community Edition (CE) for AWS + +### Quickstart If your account [has the proper permissions](/docker-for-aws/iam-permissions.md), you can -use the blue button from the stable or beta channel to bootstrap Docker for AWS -using CloudFormation. For more about stable and beta channels, see the -[FAQs](/docker-for-aws/faqs.md#stable-and-beta-channels). - +use the blue button from the stable or edge channel to bootstrap Docker for AWS +using CloudFormation. For more about stable and edge channels, see the +[FAQs](/docker-for-aws/faqs.md#stable-and-edge-channels). - + - - + +
Stable channelBeta channelEdge channel
This deployment is fully baked and tested, and comes with the latest GA version of Docker Engine.

This is the best channel to use if you want a reliable platform to work with.

These releases follow a version schedule with a longer lead time than the betas, synched with Docker Engine releases and hotfixes. -
This deployment offers cutting edge features and comes with the experimental version of Docker Engine, described in the Docker Experimental Features README on GitHub.

This is the best channel to use if you want to experiment with features under development, and can weather some instability and bugs. This channel is a continuation of the beta program, where you can provide feedback as the apps evolve. Releases are typically more frequent than for stable, often one or more per month.

We collect usage data on betas across the board.
This deployment is fully baked and tested, and comes with the latest CE version of Docker.

This is the best channel to use if you want a reliable platform to work with.

Stable is released quarterly and is for users that want an easier-to-maintain release pace.
This deployment offers cutting edge features of the CE version of Docker and comes with experimental features turned on, described in the Docker Experimental Features README on GitHub.

This is the best channel to use if you want to experiment with features under development, and can weather some instability and bugs. Edge is for users wanting a drop of the latest and greatest features every month

We collect usage data on edges across the board.
@@ -45,7 +51,7 @@ using CloudFormation. For more about stable and beta channels, see the
-## Deployment options +### Deployment options There are two ways to deploy Docker for AWS: @@ -54,12 +60,12 @@ There are two ways to deploy Docker for AWS: We recommend allowing Docker for AWS to create the VPC since it allows Docker to optimize the environment. Installing in an existing VPC requires more work. -### Create a new VPC +#### Create a new VPC This approach creates a new VPC, subnets, gateways and everything else needed in order to run Docker for AWS. It is the easiest way to get started, and requires the least amount of work. All you need to do is run the CloudFormation template, answer some questions, and you are good to go. -### Install with an Existing VPC +#### Install with an Existing VPC If you need to install Docker for AWS with an existing VPC, you need to do a few preliminary steps. See [recommended VPC and Subnet setup](faqs.md#recommended-vpc-and-subnet-setup) for more details. 1. Pick a VPC in a region you want to use. @@ -70,7 +76,7 @@ If you need to install Docker for AWS with an existing VPC, you need to do a few 4. When you launch the docker for AWS CloudFormation stack, make sure you use the one for existing VPCs. This template will prompt you for the VPC and subnets that you want to use for Docker for AWS. -## Prerequisites +### Prerequisites - Access to an AWS account with permissions to use CloudFormation and creating the following objects. [Full set of required permissions](iam-permissions.md). - EC2 instances + Auto Scaling groups @@ -85,30 +91,30 @@ If you need to install Docker for AWS with an existing VPC, you need to do a few For more information about adding an SSH key pair to your account, please refer to the [Amazon EC2 Key Pairs docs](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) -## Configuration +### Configuration Docker for AWS is installed with a CloudFormation template that configures Docker in swarm-mode, running on instances backed custom AMIs. There are two ways you can deploy Docker for AWS. You can use the AWS Management Console (browser based), or use the AWS CLI. Both have the following configuration options. -### Configuration options +#### Configuration options -#### KeyName +##### KeyName Pick the SSH key that will be used when you SSH into the manager nodes. -#### InstanceType +##### InstanceType The EC2 instance type for your worker nodes. -#### ManagerInstanceType +##### ManagerInstanceType The EC2 instance type for your manager nodes. The larger your swarm, the larger the instance size you should use. -#### ClusterSize +##### ClusterSize The number of workers you want in your swarm (0-1000). -#### ManagerSize +##### ManagerSize The number of Managers in your swarm. You can pick either 1, 3 or 5 managers. We only recommend 1 manager for testing and dev setups. There are no failover guarantees with 1 manager — if the single manager fails the swarm will go down as well. Additionally, upgrading single-manager swarms is not currently guaranteed to succeed. We recommend at least 3 managers, and if you have a lot of workers, you should pick 5 managers. -#### EnableSystemPrune +##### EnableSystemPrune Enable if you want Docker for AWS to automatically cleanup unused space on your swarm nodes. @@ -120,38 +126,38 @@ Pruning removes the following: - All dangling images - All unused networks -#### EnableCloudWatchLogs +##### EnableCloudWatchLogs Enable if you want Docker to send your container logs to CloudWatch. ("yes", "no") Defaults to yes. -#### WorkerDiskSize +##### WorkerDiskSize Size of Workers's ephemeral storage volume in GiB (20 - 1024). -#### WorkerDiskType +##### WorkerDiskType Worker ephemeral storage volume type ("standard", "gp2"). -#### ManagerDiskSize +##### ManagerDiskSize Size of Manager's ephemeral storage volume in GiB (20 - 1024) -#### ManagerDiskType +##### ManagerDiskType Manager ephemeral storage volume type ("standard", "gp2") -### Installing with the AWS Management Console +#### Installing with the AWS Management Console The simplest way to use the template is with the CloudFormation section of the AWS Management Console. Go to the [Release Notes](release-notes.md) page, and click on the "launch stack" button to start the deployment process. -### Installing with the CLI +#### Installing with the CLI You can also invoke the Docker for AWS CloudFormation template from the AWS CLI: -Here is an example of how to use the CLI. Make sure you populate all of the parameters and their values: +Here is an example of how to use the CLI. Make sure you populate all of the parameters and their values from the above list: ```bash -$ aws cloudformation create-stack --stack-name teststack --template-url --parameters ParameterKey=KeyName,ParameterValue= ParameterKey=InstanceType,ParameterValue=t2.micro ParameterKey=ManagerInstanceType,ParameterValue=t2.micro ParameterKey=ClusterSize,ParameterValue=1 --capabilities CAPABILITY_IAM +$ aws cloudformation create-stack --stack-name teststack --template-url --parameters ParameterKey=,ParameterValue= ParameterKey=InstanceType,ParameterValue=t2.micro ParameterKey=ManagerInstanceType,ParameterValue=t2.micro ParameterKey=ClusterSize,ParameterValue=1 .... --capabilities CAPABILITY_IAM ``` To fully automate installs, you can use the [AWS Cloudformation API](http://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/Welcome.html). -## How it works +### How it works Docker for AWS starts with a CloudFormation template that will create everything that you need from scratch. There are only a few prerequisites that are listed above. @@ -161,12 +167,12 @@ If you increase the number of instances running in your worker Auto Scaling Grou Elastic Load Balancers (ELBs) are set up to help with routing traffic to your swarm. -## Logging +### Logging Docker for AWS automatically configures logging to Cloudwatch for containers you run on Docker for AWS. A Log Group is created for each Docker for AWS install, and a log stream for each container. The `docker logs` and `docker service logs` commands are not supported on Docker for AWS when using Cloudwatch for logs. Instead, check container logs in CloudWatch. -## System containers +### System containers Each node will have a few system containers running on them to help run your swarm cluster. In order for everything to run smoothly, please keep those containers running, and don't make any changes. If you make any changes, Docker for AWS will not work correctly. diff --git a/docker-for-aws/persistent-data-volumes.md b/docker-for-aws/persistent-data-volumes.md index fef782b23e..928e6b40e8 100644 --- a/docker-for-aws/persistent-data-volumes.md +++ b/docker-for-aws/persistent-data-volumes.md @@ -4,6 +4,8 @@ keywords: aws persistent data volumes title: Docker for AWS persistent data volumes --- +{% include d4a_buttons.md %} + ## What is Cloudstor? Cloudstor a volume plugin managed by Docker. It comes pre-installed and pre-configured in swarms deployed on Docker for AWS. Swarm tasks use a volume created through Cloudstor to mount a persistent data volume that stays attached to the swarm tasks no matter which swarm node they get scheduled or migrated to. Cloudstor relies on shared storage infrastructure provided by AWS to allow swarm tasks to create/mount their persistent volumes on any node in the swarm. In a future release we will introduce support for direct attached storage to satisfy very low latency/high IOPs requirements. @@ -15,7 +17,7 @@ After creating a swarm on Docker for AWS and connecting to any manager using SSH ```bash $ docker plugin ls ID NAME DESCRIPTION ENABLED -f416c95c0dcc docker4x/cloudstor:aws-v1.13.1-beta18 cloud storage plugin for Docker true +f416c95c0dcc docker4x/cloudstor:aws-v{{ edition_version }} cloud storage plugin for Docker true ``` **Note**: Make note of the plugin tag name, because it will change between versions, and yours may be different then listed here. @@ -26,7 +28,7 @@ The following examples show how to create swarm services that require data persi ```bash docker service create --replicas 5 --name ping1 \ - --mount type=volume,volume-driver=docker4x/cloudstor:aws-v1.13.1-beta18,source=sharedvol1,destination=/shareddata \ + --mount type=volume,volume-driver=docker4x/cloudstor:aws-v{{ edition_version }},source=sharedvol1,destination=/shareddata \ alpine ping docker.com ``` @@ -39,7 +41,7 @@ With the above example, you can make sure that the volume is indeed shared by lo ```bash {% raw %} docker service create --replicas 5 --name ping2 \ - --mount type=volume,volume-driver=docker4x/cloudstor:aws-v1.13.1-beta18,source={{.Service.Name}}-{{.Task.Slot}}-vol,destination=/mydata \ + --mount type=volume,volume-driver=docker4x/cloudstor:aws-v{{ edition_version }},source={{.Service.Name}}-{{.Task.Slot}}-vol,destination=/mydata \ alpine ping docker.com {% endraw %} ``` @@ -59,7 +61,7 @@ If you want a higher level of IO performance like the maxIO mode for EFS, a perf ```bash {% raw %} docker service create --replicas 5 --name ping3 \ - --mount type=volume,volume-driver=docker4x/cloudstor:aws-v1.13.1-beta18,source={{.Service.Name}}-{{.Task.Slot}}-vol5,destination=/mydata,volume-opt=perfmode=maxio \ + --mount type=volume,volume-driver=docker4x/cloudstor:aws-v{{ edition_version }},source={{.Service.Name}}-{{.Task.Slot}}-vol5,destination=/mydata,volume-opt=perfmode=maxio \ alpine ping docker.com {% endraw %} ``` diff --git a/docker-for-aws/release-notes.md b/docker-for-aws/release-notes.md index 039a824c23..c932290107 100644 --- a/docker-for-aws/release-notes.md +++ b/docker-for-aws/release-notes.md @@ -1,6 +1,6 @@ --- description: Release notes -keywords: aws, amazon, iaas, release +keywords: aws, amazon, iaas, release, edge, stable title: Docker for AWS Release Notes --- @@ -8,16 +8,23 @@ title: Docker for AWS Release Notes ## Stable Channel -### 1.13.1-2 (stable) -Release date: 02/08/2017 +### 17.03.0 CE +Release date: 03/01/2017 -{{aws_button_latest}} +{{aws_blue_latest}} + +**New** + +- Docker Engine upgraded to [Docker 17.03.0 CE](https://github.com/docker/docker/blob/master/CHANGELOG.md) + +### 1.13.1-2 +Release date: 02/08/2017 **New** - Docker Engine upgraded to [Docker 1.13.1](https://github.com/docker/docker/blob/master/CHANGELOG.md) -### 1.13.0-1 (stable) +### 1.13.0-1 Release date: 01/18/2017 **New** @@ -25,7 +32,16 @@ Release date: 01/18/2017 - Docker Engine upgraded to [Docker 1.13.0](https://github.com/docker/docker/blob/master/CHANGELOG.md) - Change ELB health check from TCP to HTTP -## Beta Channel +## Edge Channel + +### 17.03.0-edge CE +Release date: 03/01/2017 + +{{aws_blue_edge}} + +**New** + +- Docker Engine upgraded to [Docker 17.03.0 CE](https://github.com/docker/docker/blob/master/CHANGELOG.md) ### 1.13.1-beta18 Release date: 02/16/2017 diff --git a/docker-for-azure/faqs.md b/docker-for-azure/faqs.md index 341aa36ca2..455acdd2d1 100644 --- a/docker-for-azure/faqs.md +++ b/docker-for-azure/faqs.md @@ -5,7 +5,7 @@ title: Docker for Azure Frequently asked questions (FAQ) toc_max: 2 --- -## Stable and beta channels +## Stable and edge channels Two different download channels are available for Docker for AWS: @@ -15,13 +15,13 @@ Two different download channels are available for Docker for AWS: schedule is synched with Docker Engine releases and hotfixes. On the stable channel, you can select whether to send usage statistics and other data. -* The **beta channel** provides a deployment with new features we are working on, +* The **edge channel** provides a deployment with new features we are working on, but is not necessarily fully tested. It comes with the experimental version of - Docker Engine. Bugs, crashes and issues are more likely to occur with the beta + Docker Engine. Bugs, crashes and issues are more likely to occur with the edge cluster, but you get a chance to preview new functionality, experiment, and provide feedback as the deployment evolve. Releases are typically more frequent than for stable, often one or more per month. Usage statistics and crash reports are sent - by default. You do not have the option to disable this on the beta channel. + by default. You do not have the option to disable this on the edge channel. ## Can I use my own VHD? No, at this time we only support the default Docker for Azure VHD. diff --git a/docker-for-azure/index.md b/docker-for-azure/index.md index 9d8b0d801f..a67d7bb5ee 100644 --- a/docker-for-azure/index.md +++ b/docker-for-azure/index.md @@ -8,21 +8,27 @@ redirect_from: {% include d4a_buttons.md %} -## Quickstart +## Docker Enterprise Edition (EE) for Azure +This deployment is fully baked and tested, and comes with the latest Enterprise Edition version of Docker.
This release is maintained and receives security and critical bugfixes for one year. + +Deploy Docker Enterprise Edition (EE) for Azure + + +## Docker Community Edition (CE) for Azure + +### Quickstart If your account has the [proper permissions](#prerequisites), you can generate the [Service Principal](#service-principal) and -then choose from the stable or beta channel to bootstrap Docker for Azure using Azure Resource Manager. -For more about stable and beta channels, see the [FAQs](/docker-for-azure/faqs.md#stable-and-beta-channels) - +then choose from the stable or edge channel to bootstrap Docker for Azure using Azure Resource Manager. +For more about stable and edge channels, see the [FAQs](/docker-for-azure/faqs.md#stable-and-edge-channels) - + - - + +
Stable channelBeta channelEdge channel
The stable deployment is fully baked and tested, and comes with the latest GA version of Docker Engine.

This is the best channel to use if you want a reliable platform to work with.

These releases follow a version schedule with a longer lead time than the betas, synched with Docker Engine releases and hotfixes. -
The beta deployment offers cutting edge features and comes with the experimental version of Docker Engine, described in the Docker Experimental Features README on GitHub.

This is the best channel to use if you want to experiment with features under development, and can weather some instability and bugs. This channel is a continuation of the beta program, where you can provide feedback as the apps evolve. Releases are typically more frequent than for stable, often one or more per month.

We collect usage data on betas across the board.
This deployment is fully baked and tested, and comes with the latest CE version of Docker.

This is the best channel to use if you want a reliable platform to work with.

Stable is released quarterly and is for users that want an easier-to-maintain release pace.
This deployment offers cutting edge features of the CE version of Docker and comes with experimental features turned on, described in the Docker Experimental Features README on GitHub.

This is the best channel to use if you want to experiment with features under development, and can weather some instability and bugs. Edge is for users wanting a drop of the latest and greatest features every month

We collect usage data on edges across the board.
@@ -34,33 +40,33 @@ For more about stable and beta channels, see the [FAQs](/docker-for-azure/faqs.m
-## Prerequisites +### Prerequisites - Access to an Azure account with admin privileges - SSH key that you want to use when accessing your completed Docker install on Azure -## Configuration +### Configuration Docker for Azure is installed with an Azure template that configures Docker in swarm-mode, running on VMs backed by a custom VHD. There are two ways you can deploy Docker for Azure. You can use the Azure Portal (browser based), or use the Azure CLI. Both have the following configuration options. -### Configuration options +#### Configuration options -#### Manager Count +##### Manager Count The number of Managers in your swarm. You can pick either 1, 3 or 5 managers. We only recommend 1 manager for testing and dev setups. There are no failover guarantees with 1 manager — if the single manager fails the swarm will go down as well. Additionally, upgrading single-manager swarms is not currently guaranteed to succeed. We recommend at least 3 managers, and if you have a lot of workers, you should pick 5 managers. -#### Manager VM size +##### Manager VM size The VM type for your manager nodes. The larger your swarm, the larger the VM size you should use. -#### Worker VM size +##### Worker VM size The VM type for your worker nodes. -#### Worker Count +##### Worker Count The number of workers you want in your swarm (1-100). -### Service Principal +#### Service Principal To set up Docker for Azure, a [Service Principal](https://azure.microsoft.com/en-us/documentation/articles/active-directory-application-objects/) is required. Docker for Azure uses the principal to operate Azure APIs as you scale up and down or deploy apps on your swarm. Docker provides a containerized helper-script to help create the Service Principal - `docker4x/create-sp-azure`. @@ -78,7 +84,7 @@ AD App Secret: AD Tenant ID: ``` -If you have multiple Azure subscriptions, make sure you're creating the Service Principal with subscription ID that you shared with Docker when signing up for the beta. +If you have multiple Azure subscriptions, make sure you're creating the Service Principal with subscription ID that you will be using to deploy Docker for Azure. * `sp-name` is the name of the authentication app that the script creates with Azure. The name is not important, simply choose something you'll recognize in the Azure portal. Example: `sp1`. * `rg-name` is the name of the new resource group that will be created to deploy the resources (VMs, networks, storage accounts) associated with the swarm. The Service Principal will be scoped to this resource group. Example: `swarm1`. @@ -92,13 +98,13 @@ When setting up the ARM template, you will be prompted for the App ID (a UUID) a -### SSH Key +#### SSH Key Docker for Azure uses SSH for accessing the Docker swarm once it's deployed. During setup, you will be prompted for a SSH public key. If you don't have a SSH key, you can generate one with `puttygen` or `ssh-keygen`. You only need the public key component to set up Docker for Azure. Here's how to get the public key from a .pem file: ssh-keygen -y -f my-key.pem -### Installing with the CLI +#### Installing with the CLI You can also invoke the Docker for Azure template from the Azure CLI: diff --git a/docker-for-azure/persistent-data-volumes.md b/docker-for-azure/persistent-data-volumes.md index e0e079325a..b491a479fe 100644 --- a/docker-for-azure/persistent-data-volumes.md +++ b/docker-for-azure/persistent-data-volumes.md @@ -4,6 +4,8 @@ keywords: azure persistent data volumes title: Docker for Azure persistent data volumes --- +{% include d4a_buttons.md %} + ## What is Cloudstor? Cloudstor a volume plugin managed by Docker. It comes pre-installed and pre-configured in swarms deployed on Docker for Azure. Swarm tasks use a volume created through Cloudstor to mount a persistent data volume that stays attached to the swarm tasks no matter which swarm node they get scheduled or migrated to. Cloudstor relies on shared storage infrastructure provided by Azure to allow swarm tasks to create/mount their persistent volumes on any node in the swarm. In a future release we will introduce support for direct attached storage to satisfy very low latency/high IOPs requirements. @@ -15,7 +17,7 @@ After creating a swarm on Docker for Azure and connecting to any manager using S ```bash $ docker plugin ls ID NAME DESCRIPTION ENABLED -f416c95c0dcc docker4x/cloudstor:azure-v1.13.1-beta18 cloud storage plugin for Docker true +f416c95c0dcc docker4x/cloudstor:azure-v{{ edition_version }} cloud storage plugin for Docker true ``` **Note**: Make note of the plugin tag name, because it will change between versions, and yours may be different then listed here. @@ -26,7 +28,7 @@ The following examples show how to create swarm services that require data persi ```bash docker service create --replicas 5 --name ping1 \ - --mount type=volume,volume-driver=docker4x/cloudstor:azure-v1.13.1-beta18,source=sharedvol1,destination=/shareddata \ + --mount type=volume,volume-driver=docker4x/cloudstor:azure-v{{ edition_version }},source=sharedvol1,destination=/shareddata \ alpine ping docker.com ``` @@ -39,7 +41,7 @@ With the above example, you can make sure that the volume is indeed shared by lo ```bash {% raw %} docker service create --replicas 5 --name ping2 \ - --mount type=volume,volume-driver=docker4x/cloudstor:azure-v1.13.1-beta18,source={{.Service.Name}}-{{.Task.Slot}}-vol,destination=/mydata \ + --mount type=volume,volume-driver=docker4x/cloudstor:azure-v{{ edition_version }},source={{.Service.Name}}-{{.Task.Slot}}-vol,destination=/mydata \ alpine ping docker.com {% endraw %} ``` diff --git a/docker-for-azure/release-notes.md b/docker-for-azure/release-notes.md index 061607ee5f..81f94aa633 100644 --- a/docker-for-azure/release-notes.md +++ b/docker-for-azure/release-notes.md @@ -1,6 +1,6 @@ --- description: Release notes -keywords: azure, microsoft, iaas, tutorial +keywords: azure, microsoft, iaas, tutorial, edge, stable title: Docker for Azure Release Notes --- @@ -8,10 +8,17 @@ title: Docker for Azure Release Notes ## Stable Channel -### 1.13.1-2 (stable) +### 17.03.0 CE Release date: 02/08/2017 -{{azure_button_latest}} +{{azure_blue_latest}} + +**New** + +- Docker Engine upgraded to [Docker 17.03.0 CE](https://github.com/docker/docker/blob/master/CHANGELOG.md) + +### 1.13.1-2 +Release date: 02/08/2017 **New** @@ -28,7 +35,16 @@ Release date: 1/18/2017 - Added support to scale the number of nodes in manager and worker vm scale sets through Azure UI/CLI for managing the number of nodes in a scale set - Improved logging and remote diagnostics mechanisms for system containers -## Beta Channel +## Edge Channel + +### 17.03.0-edge CE +Release date: 03/01/2017 + +{{azure_blue_edge}} + +**New** + +- Docker Engine upgraded to [Docker 17.03.0 CE](https://github.com/docker/docker/blob/master/CHANGELOG.md) ### 1.13.1-beta18 Release date: 02/16/2017 diff --git a/docker-for-mac/faqs.md b/docker-for-mac/faqs.md index e7b48d8970..17bbfea21d 100644 --- a/docker-for-mac/faqs.md +++ b/docker-for-mac/faqs.md @@ -10,48 +10,48 @@ title: Frequently asked questions (FAQ) [Docker Knowledge Hub](http://success.docker.com/) for knowledge base articles, FAQs, technical support for various subscription levels, and more. -### Stable and beta channels +### Stable and Edge channels -**Q: How do I get the stable or beta version of Docker for Mac?** +**Q: How do I get the Stable or Edge version of Docker for Mac?** A: Use the download links for the channels given in the topic [Download Docker for Mac](install.md#download-docker-for-mac). This topic also has more information about the two channels. -**Q: What is the difference between the stable and beta versions of Docker for Mac?** +**Q: What is the difference between the Stable and Edge versions of Docker for Mac?** A: Two different download channels are available for Docker for Mac: -* The **stable channel** provides a general availability release-ready installer - for a fully baked and tested, more reliable app. The stable version of Docker +* The **Stable channel** provides a general availability release-ready installer + for a fully baked and tested, more reliable app. The Stable version of Docker for Mac comes with the latest released version of Docker Engine. The release - schedule is synched with Docker Engine releases and hotfixes. On the stable + schedule is synched with Docker Engine releases and hotfixes. On the Stable channel, you can select whether to send usage statistics and other data. -* The **beta channel** provides an installer with new features we are working on, +* The **Edge channel** provides an installer with new features we are working on, but is not necessarily fully tested. It comes with the experimental version of - Docker Engine. Bugs, crashes and issues are more likely to occur with the beta + Docker Engine. Bugs, crashes and issues are more likely to occur with the Edge app, but you get a chance to preview new functionality, experiment, and provide feedback as the apps evolve. Releases are typically more frequent than for - stable, often one or more per month. Usage statistics and crash reports are sent - by default. You do not have the option to disable this on the beta channel. + Stable, often one or more per month. Usage statistics and crash reports are sent + by default. You do not have the option to disable this on the Edge channel. -**Q: Can I switch back and forth between stable and beta versions of Docker for Mac?** +**Q: Can I switch back and forth between Stable and Edge 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 +A: Yes, you can switch between versions to try out the Edge releases 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 Edge apps can destabilize your development environment, particularly in cases where you switch -from a newer (beta) channel to older (stable). +from a newer (Edge) 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 +For example, containers created with a newer Edge version of Docker for Mac may +not work after you switch back to Stable because they may have been created +leveraging Edge features that aren't in Stable yet. Just keep this in mind as +you create and work with Edge 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 safely switch between Edge 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.
@@ -66,9 +66,9 @@ Do the following each time: [export](/engine/reference/commandline/export.md) in the Docker Engine command line reference.) -3. Uninstall the current app (whether stable or beta). +3. Uninstall the current app (whether Stable or Edge). -4. Install a different version of the app (stable or beta). +4. Install a different version of the app (Stable or Edge). ### What is Docker.app? @@ -106,26 +106,29 @@ response. ### Can I use Docker for Mac with new swarm mode? -Yes, you can use Docker for Mac to test single-node features of -[swarm mode](/engine/swarm/index.md) introduced with Docker Engine 1.12, -including initializing a swarm with a single node, creating services, and scaling +Yes, you can use Docker for Mac to test single-node features of [swarm +mode](/engine/swarm/index.md) introduced with Docker Engine 1.12, including +initializing a swarm with a single node, creating services, and scaling services. Docker “Moby” on Hyperkit will serve as the single swarm node. You can also use Docker Machine, which comes with Docker for Mac, to create and -experiment a multi-node swarm. Check out the tutorial at -[Get started with swarm mode](/engine/swarm/swarm-tutorial/index.md). +experiment a multi-node swarm. Check out the tutorial at [Get started with swarm +mode](/engine/swarm/swarm-tutorial/index.md). ### How do I connect to the remote Docker Engine API? -You might need to provide the location of the Engine API for Docker clients and development tools. +You might need to provide the location of the Engine API for Docker clients and +development tools. -On Docker for Mac, clients can connect to the Docker Engine through a Unix socket: `unix:///var/run/docker.sock`. +On Docker for Mac, clients can connect to the Docker Engine through a Unix +socket: `unix:///var/run/docker.sock`. See also [Docker Engine API](/engine/api.md) and Docker for Mac forums topic -[Using pycharm Docker plugin..](https://forums.docker.com/t/using-pycharm-docker-plugin-with-docker-beta/8617). +[Using pycharm Docker +plugin..](https://forums.docker.com/t/using-pycharm-docker-plugin-with-docker-beta/8617). -If you are working with applications like -[Apache Maven](https://maven.apache.org/) that expect settings for `DOCKER_HOST` -and `DOCKER_CERT_PATH` environment variables, specify these to connect to Docker +If you are working with applications like [Apache +Maven](https://maven.apache.org/) that expect settings for `DOCKER_HOST` and +`DOCKER_CERT_PATH` environment variables, specify these to connect to Docker instances through Unix sockets. For example: ```bash @@ -239,14 +242,15 @@ to talk to Docker for Mac. The same applies to `docker-compose`. You might decide that you do not need Toolbox now that you have Docker for Mac, and want to uninstall it. For details on how to perform a clean uninstall of -Toolbox on the Mac, see -[How to uninstall Toolbox](/toolbox/toolbox_install_mac.md#how-to-uninstall-toolbox) -in the Toolbox Mac topics. +Toolbox on the Mac, see [How to uninstall +Toolbox](/toolbox/toolbox_install_mac.md#how-to-uninstall-toolbox) in the +Toolbox Mac topics. ### What is HyperKit? HyperKit is a hypervisor built on top of the Hypervisor.framework in macOS 10.10 -Yosemite and higher. It runs entirely in userspace and has no other dependencies. +Yosemite and higher. It runs entirely in userspace and has no other +dependencies. We use HyperKit to eliminate the need for other VM products, such as Oracle Virtualbox or VMWare Fusion. diff --git a/docker-for-mac/images/docker-cloud-create-swarm.png b/docker-for-mac/images/docker-cloud-create-swarm.png new file mode 100644 index 0000000000..3fbc7ebb8c Binary files /dev/null and b/docker-for-mac/images/docker-cloud-create-swarm.png differ diff --git a/docker-for-mac/images/docker-cloud.png b/docker-for-mac/images/docker-cloud.png new file mode 100644 index 0000000000..bec6d7be09 Binary files /dev/null and b/docker-for-mac/images/docker-cloud.png differ diff --git a/docker-for-mac/images/docker-store.png b/docker-for-mac/images/docker-store.png new file mode 100644 index 0000000000..75b5f44954 Binary files /dev/null and b/docker-for-mac/images/docker-store.png differ diff --git a/docker-for-mac/images/mac-install-success-docker-cloud.png b/docker-for-mac/images/mac-install-success-docker-cloud.png index 1e5a911bb2..3f104562dd 100644 Binary files a/docker-for-mac/images/mac-install-success-docker-cloud.png and b/docker-for-mac/images/mac-install-success-docker-cloud.png differ diff --git a/docker-for-mac/images/mac-install-success-docker-wait.png b/docker-for-mac/images/mac-install-success-docker-wait.png deleted file mode 100644 index df1e9133bb..0000000000 Binary files a/docker-for-mac/images/mac-install-success-docker-wait.png and /dev/null differ diff --git a/docker-for-mac/images/menu-cloud-sign-in.png b/docker-for-mac/images/menu-cloud-sign-in.png new file mode 100644 index 0000000000..9921320977 Binary files /dev/null and b/docker-for-mac/images/menu-cloud-sign-in.png differ diff --git a/docker-for-mac/images/menu-prefs-selected.png b/docker-for-mac/images/menu-prefs-selected.png new file mode 100644 index 0000000000..2147ed26b6 Binary files /dev/null and b/docker-for-mac/images/menu-prefs-selected.png differ diff --git a/docker-for-mac/images/menu.png b/docker-for-mac/images/menu.png index 13018441d2..ad8c66406a 100644 Binary files a/docker-for-mac/images/menu.png and b/docker-for-mac/images/menu.png differ diff --git a/docker-for-mac/images/whale-in-menu-bar.png b/docker-for-mac/images/whale-in-menu-bar.png index 49843273c9..a51ab290d1 100644 Binary files a/docker-for-mac/images/whale-in-menu-bar.png and b/docker-for-mac/images/whale-in-menu-bar.png differ diff --git a/docker-for-mac/images/whale-x.png b/docker-for-mac/images/whale-x.png index 63a54466ea..29bd366fb2 100644 Binary files a/docker-for-mac/images/whale-x.png and b/docker-for-mac/images/whale-x.png differ diff --git a/docker-for-mac/index.md b/docker-for-mac/index.md index 540326bd6b..eb9725a066 100644 --- a/docker-for-mac/index.md +++ b/docker-for-mac/index.md @@ -96,8 +96,12 @@ docker-machine version 0.9.0, build 15fd4c7 ## Preferences -Choose ![whale-x](/docker-for-mac/images/whale-x.png) --> **Preferences** from the menu bar. You -can set the following runtime options. +Choose ![whale-x](/docker-for-mac/images/whale-x.png) --> **Preferences** from +the menu bar. + +![Docker context menu](images/menu-prefs-selected.png) + +You can set the following runtime options. ### General @@ -349,6 +353,28 @@ component of the next-generation Docker Hub, and the best place to find compliant, trusted commercial and free software distributed as Docker Images. +![Docker Store](images/docker-store.png) + +## Docker Cloud + +You can access your Docker Cloud account from within Docker for Mac. + +![Docker Cloud](images/docker-cloud.png) + +From the Docker for Mac menu, sign in to Docker Cloud with your Docker ID, or +create one. + +![Docker Cloud sign-in](images/menu-cloud-sign-in.png) + +Then use the Docker for Mac menu to create, view, or navigate directly to +your Cloud resources: + +* Organizations +* Repositories +* Swarms + +Check out the [Docker Cloud topics](/docker-cloud/index.md) to learn more. + ## Where to go next * Try out the tutorials and sample app walkthroughs at [Learn Docker](/learn.md), including: diff --git a/docker-for-mac/install.md b/docker-for-mac/install.md index bac99a9b75..39a1fc2b04 100644 --- a/docker-for-mac/install.md +++ b/docker-for-mac/install.md @@ -15,13 +15,13 @@ to the tutorials at [Learn Docker](/learn.md). ## 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. For more about stable and beta -channels, see the [FAQs](/docker-for-mac/faqs.md#stable-and-beta-channels). +installers from the Stable or beta channel. For more about Stable and Edge +channels, see the [FAQs](/docker-for-mac/faqs.md#stable-and-edge-channels). - - + + - + Stable, often one or more per month.

We collect all usage + data on Edge releases across the board.
Stable channelBeta channelStable channelEdge channel
This installer is fully baked and tested, and comes @@ -30,30 +30,28 @@ channels, see the [FAQs](/docker-for-mac/faqs.md#stable-and-beta-channels). default and configurable on Docker Daemon preferences for experimental mode.

This is the best channel to use if you want a reliable platform to work with. (Be sure to disable experimental features for apps in production.)

These releases follow a version schedule with a longer lead - time than the betas, synched with Docker Engine releases and - hotfixes.

On the stable channel, you can select whether to send usage + time than the Edge releases, synched with Docker Engine releases and + hotfixes.

On the Stable channel, you can select whether to send usage statistics and other data.
This installer provides the latest Beta release of + This installer provides the latest Edge release of Docker for Mac, offers cutting edge features along with experimental features in Docker Engine, which are enabled by default and configurable on Docker Daemon preferences for experimental mode.

This is the best channel to use if you want to experiment with features under development, and can weather some instability and bugs. This channel - is a continuation of the beta program, where you can provide feedback + is a continuation of the Edge program, where you can provide feedback as the apps evolve. Releases are typically more frequent than for - stable, often one or more per month.

We collect all usage - data on betas across the board.
- Get Docker for Mac (stable)

- - Download checksum: Docker.dmg SHA256 + Get Docker for Mac (Stable)

+ Download checksum: Docker.dmg SHA256
- Get Docker for Mac (beta)

- - Download checksum: Docker.dmg SHA256 + Get Docker for Mac (Edge)

+ Download checksum: Docker.dmg SHA256
@@ -65,11 +63,11 @@ channels, see the [FAQs](/docker-for-mac/faqs.md#stable-and-beta-channels). [What to know before you install](#what-to-know-before-you-install) for a full explanation and list of prerequisites. > -> - You can switch between beta and stable versions, but you must have only one +> - You can switch between Edge and Stable versions, but you must have only one app installed at a time. Also, you will need to save images and export containers you want to keep before uninstalling the current version before installing another. For more about this, see the - [FAQs about beta and stable channels](faqs.md#stable-and-beta-channels). + [FAQs about Stable and Edge channels](faqs.md#stable-and-edge-channels). ## What to know before you install @@ -100,8 +98,8 @@ channels, see the [FAQs](/docker-for-mac/faqs.md#stable-and-beta-channels). Docker for Mac requires macOS Yosemite 10.10.3 or newer, with the caveat that going forward 10.10.x is a use-at-your-own risk proposition.

- - Starting with Docker for Mac stable release 1.13 (upcoming), and concurrent - Beta releases, we will no longer address issues specific to OS X Yosemite + - Starting with Docker for Mac Stable release 1.13 (upcoming), and concurrent + Edge releases, we will no longer address issues specific to OS X Yosemite 10.10. In future releases, Docker for Mac could stop working on OS X Yosemite 10.10 due to the deprecated status of this OS X version. We recommend upgrading to the latest version of macOS. @@ -165,6 +163,6 @@ workarounds, how to run and submit diagnostics, and submit issues. * [FAQs](faqs.md) provides answers to frequently asked questions. -* [Release Notes](release-notes.md) lists component updates, new features, and improvements associated with Stable and Beta releases. +* [Release Notes](release-notes.md) lists component updates, new features, and improvements associated with Stable and Edge releases. * [Learn Docker](/learn.md) provides general Docker tutorials. diff --git a/docker-for-mac/networking.md b/docker-for-mac/networking.md index 2bdd57f0d5..466541cb94 100644 --- a/docker-for-mac/networking.md +++ b/docker-for-mac/networking.md @@ -112,7 +112,7 @@ 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 +See the [run command](/engine/reference/commandline/run.md) for more details on publish options used with `docker run`. #### A view into implementation diff --git a/docker-for-mac/release-notes.md b/docker-for-mac/release-notes.md index 8439607f3a..9ca4558f3d 100644 --- a/docker-for-mac/release-notes.md +++ b/docker-for-mac/release-notes.md @@ -18,6 +18,28 @@ about both kinds of releases, and download stable and beta product installers at ## Stable Release Notes +### Docker Community Edition 17.03.0, 2017-03-02 (stable) + +**New** + +- Renamed to Docker Community Edition +- Integration with Docker Cloud: control remote Swarms from the local CLI and view your repositories. This feature is going to be rolled out to all users progressively +- Docker will now securely store your IDs in the macOS keychain + +**Upgrades** + +- [Docker 17.03.0-ce](https://github.com/docker/docker/releases/tag/v17.03.0-ce) +- [Docker Machine 0.10.0](https://github.com/docker/machine/releases/tag/v0.10.0) +- [Docker Compose 1.11.2](https://github.com/docker/compose/releases/tag/1.11.2) +- Linux Kernel 4.9.11 + +**Bug fixes and minor changes** + +- VPNKit: fixed unmarshalling of DNS packets containing pointers to pointers to labels +- osxfs: catch EPERM when reading extended attributes of non-files +- Added `page_poison=1` to boot args +- Added a new disk flushing option + ### Docker for Mac 1.13.1, 2017-02-09 (stable) **Upgrades** @@ -279,9 +301,31 @@ events or unexpected unmounts. * Docker Machine 0.8.0 * Docker Compose 1.8.0 -## Beta Release Notes +## Edge Release Notes -### Docker Community Edition 17.03.0 Release Notes (2017-02-22 17.03.0-ce-rc1-mac1) +### Docker Community Edition 17.03.0 Release Notes (2017-03-02 17.03.0-ce-mac1) + +**New** + +- Renamed to Docker Community Edition +- Integration with Docker Cloud: control remote Swarms from the local CLI and view your repositories. This feature is going to be rolled out to all users progressively +- Docker will now securely store your IDs in the macOS keychain + +**Upgrades** + +- [Docker 17.03.0-ce](https://github.com/docker/docker/releases/tag/v17.03.0-ce) +- [Docker Machine 0.10.0](https://github.com/docker/machine/releases/tag/v0.10.0) +- [Docker Compose 1.11.2](https://github.com/docker/compose/releases/tag/1.11.2) +- Linux Kernel 4.9.11 + +**Bug fixes and minor changes** + +- VPNKit: fixed unmarshalling of DNS packets containing pointers to pointers to labels +- osxfs: catch EPERM when reading extended attributes of non-files +- Added `page_poison=1` to boot args +- Added a new disk flushing option + +### Docker Community Edition 17.03.0 RC1 Release Notes (2017-02-22 17.03.0-ce-rc1-mac1) **New** diff --git a/docker-for-windows/faqs.md b/docker-for-windows/faqs.md index b1a8541c92..071e51f85f 100644 --- a/docker-for-windows/faqs.md +++ b/docker-for-windows/faqs.md @@ -8,48 +8,48 @@ title: Frequently asked questions (FAQ) Knowledge Hub](http://success.docker.com/) for knowledge base articles, FAQs, technical support for various subscription levels, and more. -### Questions about stable and beta channels +### Questions about Stable and Edge channels -**Q: How do I get the stable or beta version of Docker for Windows?** +**Q: How do I get the Stable or Edge version of Docker for Windows?** A: Use the download links for the channels given in the topic [Download Docker for Windows](/docker-for-windows/install.md#download-docker-for-windows). This topic also has more information about the two channels. -**Q: What is the difference between the stable and beta versions of Docker for Windows?** +**Q: What is the difference between the Stable and Edge versions of Docker for Windows?** A: Two different download channels are available for Docker for Windows: -* The **stable channel** provides a general availability release-ready installer - for a fully baked and tested, more reliable app. The stable version of Docker +* The **Stable channel** provides a general availability release-ready installer + for a fully baked and tested, more reliable app. The Stable version of Docker for Windows comes with the latest released version of Docker Engine. The release schedule is synched with Docker Engine releases and hotfixes. On the - stable channel, you can select whether to send usage statistics and other data. + Stable channel, you can select whether to send usage statistics and other data. -* The **beta channel** provides an installer with new features we are working on, +* The **Edge channel** provides an installer with new features we are working on, but is not necessarily fully tested. It comes with the experimental version of - Docker Engine. Bugs, crashes and issues are more likely to occur with the beta + Docker Engine. Bugs, crashes and issues are more likely to occur with the Edge app, but you get a chance to preview new functionality, experiment, and provide feedback as the apps evolve. Releases are typically more frequent than for - stable, often one or more per month. Usage statistics and crash reports are - sent by default. You do not have the option to disable this on the beta channel. + Stable, often one or more per month. Usage statistics and crash reports are + sent by default. You do not have the option to disable this on the Edge channel. -**Q: Can I switch back and forth between stable and beta versions of Docker for Windows?** +**Q: Can I switch back and forth between Stable and Edge versions of Docker for Windows?** -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). +A: Yes, you can switch between versions to try out the Edge release 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 Edge +apps can destabilize your development environment, particularly in cases where +you switch from a newer (Edge) channel to older (Stable). -For example, containers created with a newer beta version of Docker for Windows -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 +For example, containers created with a newer Edge version of Docker for Windows +may not work after you switch back to Stable because they may have been created +leveraging Edge features that aren't in Stable yet. Just keep this in mind as +you create and work with Edge 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 safely switch between Edge 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.
@@ -64,9 +64,9 @@ Do the following each time: [export](/engine/reference/commandline/export.md) in the Docker Engine command line reference.) -3. Uninstall the current app (whether stable or beta). +3. Uninstall the current app (whether Stable or Edge). -4. Install a different version of the app (stable or beta). +4. Install a different version of the app (Stable or Edge). ### What kind of feedback are we looking for? @@ -140,16 +140,22 @@ To learn more about the reasons for this limitation, see the following discussio ### How do I add custom CA certificates? -Starting with Docker for Windows 1.12.1, 2016-09-16 (stable) and Beta 26 (2016-09-14 1.12.1-beta26), all trusted CAs (root or intermediate) are supported. Docker recognizes certs stored under Trust Root Certification Authorities or Intermediate Certification Authorities. +Starting with Docker for Windows 1.12.1, 2016-09-16 (Stable) and Beta 26 +(2016-09-14 1.12.1-beta26), all trusted CAs (root or intermediate) are +supported. Docker recognizes certs stored under Trust Root Certification +Authorities or Intermediate Certification Authorities. -Docker for Windows creates a certificate bundle of all user-trusted CAs based on the Windows certificate store, and appends it to Moby trusted certificates. So if an enterprise SSL certificate is trusted by the user on the host, it will be trusted by Docker for Windows. +Docker for Windows creates a certificate bundle of all user-trusted CAs based on +the Windows certificate store, and appends it to Moby trusted certificates. So +if an enterprise SSL certificate is trusted by the user on the host, it will be +trusted by Docker for Windows. -To learn more, see the GitHub issue -[Allow user to add custom Certificate Authorities ](https://github.com/docker/for-win/issues/48). +To learn more, see the GitHub issue [Allow user to add custom Certificate +Authorities ](https://github.com/docker/for-win/issues/48). ### Why does Docker for Windows sometimes lose network connectivity (e.g., `push`/`pull` doesn't work)? -Networking is not yet fully stable across network changes and system sleep +Networking is not yet fully Stable across network changes and system sleep cycles. Exit and start Docker to restore connectivity. ### Can I use VirtualBox alongside Docker 4 Windows? diff --git a/docker-for-windows/images/Start-Authorize.png b/docker-for-windows/images/Start-Authorize.png deleted file mode 100644 index 1b2222c9b5..0000000000 Binary files a/docker-for-windows/images/Start-Authorize.png and /dev/null differ diff --git a/docker-for-windows/images/Start-init.png b/docker-for-windows/images/Start-init.png deleted file mode 100644 index 28790b70c0..0000000000 Binary files a/docker-for-windows/images/Start-init.png and /dev/null differ diff --git a/docker-for-windows/images/chat.png b/docker-for-windows/images/chat.png deleted file mode 100644 index 7ae3001167..0000000000 Binary files a/docker-for-windows/images/chat.png and /dev/null differ diff --git a/docker-for-windows/images/config-popup-menu-win.png b/docker-for-windows/images/config-popup-menu-win.png index 0f872445c6..f929f67fba 100644 Binary files a/docker-for-windows/images/config-popup-menu-win.png and b/docker-for-windows/images/config-popup-menu-win.png differ diff --git a/docker-for-windows/images/config-popup-win-linux-switch.png b/docker-for-windows/images/config-popup-win-linux-switch.png index 76c7f6407e..b8b1541729 100644 Binary files a/docker-for-windows/images/config-popup-win-linux-switch.png and b/docker-for-windows/images/config-popup-win-linux-switch.png differ diff --git a/docker-for-windows/images/d4win-download-error.png b/docker-for-windows/images/d4win-download-error.png deleted file mode 100644 index a40087932d..0000000000 Binary files a/docker-for-windows/images/d4win-download-error.png and /dev/null differ diff --git a/docker-for-windows/images/diagnose-feedback-id-win.png b/docker-for-windows/images/diagnose-feedback-id-win.png index 3d2bf2abbc..525d303658 100644 Binary files a/docker-for-windows/images/diagnose-feedback-id-win.png and b/docker-for-windows/images/diagnose-feedback-id-win.png differ diff --git a/docker-for-windows/images/docker-cloud-menu.png b/docker-for-windows/images/docker-cloud-menu.png new file mode 100644 index 0000000000..64c045d36c Binary files /dev/null and b/docker-for-windows/images/docker-cloud-menu.png differ diff --git a/docker-for-windows/images/docker-cloud.png b/docker-for-windows/images/docker-cloud.png new file mode 100644 index 0000000000..bec6d7be09 Binary files /dev/null and b/docker-for-windows/images/docker-cloud.png differ diff --git a/docker-for-windows/images/docker-daemon_advanced.png b/docker-for-windows/images/docker-daemon_advanced.png index 9bfdeee6d7..b36f7c6e7d 100644 Binary files a/docker-for-windows/images/docker-daemon_advanced.png and b/docker-for-windows/images/docker-daemon_advanced.png differ diff --git a/docker-for-windows/images/docker-daemon_basic.png b/docker-for-windows/images/docker-daemon_basic.png index 73d000cee7..e7bc5e3b03 100644 Binary files a/docker-for-windows/images/docker-daemon_basic.png and b/docker-for-windows/images/docker-daemon_basic.png differ diff --git a/docker-for-windows/images/docker-store.png b/docker-for-windows/images/docker-store.png index 07ed3af5d4..75b5f44954 100644 Binary files a/docker-for-windows/images/docker-store.png and b/docker-for-windows/images/docker-store.png differ diff --git a/docker-for-windows/images/download.png b/docker-for-windows/images/download.png deleted file mode 100644 index 916c577ad3..0000000000 Binary files a/docker-for-windows/images/download.png and /dev/null differ diff --git a/docker-for-windows/images/proxies.png b/docker-for-windows/images/proxies.png index 175d4c6966..2475bdfc63 100644 Binary files a/docker-for-windows/images/proxies.png and b/docker-for-windows/images/proxies.png differ diff --git a/docker-for-windows/images/settings-general.png b/docker-for-windows/images/settings-general.png index 147ddf22cc..ed6b0b0d17 100644 Binary files a/docker-for-windows/images/settings-general.png and b/docker-for-windows/images/settings-general.png differ diff --git a/docker-for-windows/images/settings-kernel.png b/docker-for-windows/images/settings-kernel.png deleted file mode 100644 index 3d6d0c576b..0000000000 Binary files a/docker-for-windows/images/settings-kernel.png and /dev/null differ diff --git a/docker-for-windows/images/settings-network.png b/docker-for-windows/images/settings-network.png index b398c78644..ac928b06d4 100644 Binary files a/docker-for-windows/images/settings-network.png and b/docker-for-windows/images/settings-network.png differ diff --git a/docker-for-windows/images/submit-token.png b/docker-for-windows/images/submit-token.png deleted file mode 100644 index 16095786b1..0000000000 Binary files a/docker-for-windows/images/submit-token.png and /dev/null differ diff --git a/docker-for-windows/images/whale-x.png b/docker-for-windows/images/whale-x.png index 63a54466ea..29bd366fb2 100644 Binary files a/docker-for-windows/images/whale-x.png and b/docker-for-windows/images/whale-x.png differ diff --git a/docker-for-windows/index.md b/docker-for-windows/index.md index b6b7ebd1a1..0123f43712 100644 --- a/docker-for-windows/index.md +++ b/docker-for-windows/index.md @@ -624,6 +624,28 @@ component of the next-generation Docker Hub, and the best place to find compliant, trusted commercial and free software distributed as Docker Images. +![Docker Store](images/docker-store.png) + +### Docker Cloud + +You can access your Docker Cloud account from within Docker for Windows. + +![Docker Cloud](images/docker-cloud.png) + +From the Docker for Windows menu, sign in to Docker Cloud with your Docker ID, +or create one. + +![Docker Cloud sign-in](images/docker-cloud-menu.png) + +Then use the Docker for Windows menu to create, view, or navigate directly to +your Cloud resources: + +* Organizations +* Repositories +* Swarms + +Check out the [Docker Cloud topics](/docker-cloud/index.md) to learn more. + ### Diagnose and Feedback If you encounter problems for which you do not find solutions in this documentation, searching [Docker for Windows issues on GitHub](https://github.com/docker/for-win/issues) already filed by other users, or on the [Docker for Windows forum](https://forums.docker.com/c/docker-for-windows), we can help you troubleshoot the log data. diff --git a/docker-for-windows/install.md b/docker-for-windows/install.md index 11939f013f..b7ac4d0e16 100644 --- a/docker-for-windows/install.md +++ b/docker-for-windows/install.md @@ -1,6 +1,6 @@ --- description: How to install Docker for Windows -keywords: windows, beta, alpha, install, download +keywords: windows, beta, edge, alpha, install, download title: Install Docker for Windows --- @@ -15,14 +15,14 @@ over to the tutorials at [Learn Docker](/learn.md). ## Download Docker for Windows If you have not already done so, please install Docker for Windows. You can -download installers from the stable or beta channel. For more about stable and -beta channels, see the -[FAQs](/docker-for-windows/faqs.md#questions-about-stable-and-beta-channels). +download installers from the Stable or Edge channel. For more about Stable and +Edge channels, see the +[FAQs](/docker-for-windows/faqs.md#questions-about-stable-and-edge-channels). - - + + - + frequent than for Stable, often one or more per month.

+ We collect all usage data on Edge releases across the board.
Stable channelBeta channelStable channelEdge channel
This installer is fully baked and tested, and comes @@ -32,30 +32,30 @@ beta channels, see the Docker Daemon settings for experimental mode.

This is the best channel to use if you want a reliable platform to work with. (Be sure to disable - experimental features for apps in production.)

These releases follow a version schedule with a longer lead time than the betas, + experimental features for apps in production.)

These releases follow a version schedule with a longer lead time than the Edge releases, synched with Docker Engine releases and hotfixes.

On the - stable channel, you can select whether to send usage statistics + Stable channel, you can select whether to send usage statistics and other data.
This installer provides the latest Beta release of + This installer provides the latest Edge release of Docker for Windows, offers cutting edge features along with experimental features in Docker Engine, which are enabled by default and configurable on Docker Daemon settings for experimental mode.

This is the best channel to use if you want to experiment with features under development, and can weather some instability and bugs. This - channel is a continuation of the beta program, where you can + channel is a continuation of the Edge program, where you can provide feedback as the apps evolve. Releases are typically more - frequent than for stable, often one or more per month.

- We collect all usage data on betas across the board.
- Get Docker for Windows (stable)

- Download checksum: InstallDocker.msi SHA256 + Get Docker for Windows (Stable)

+ Download checksum: InstallDocker.msi SHA256
- Get Docker for Windows (beta)

- Download checksum: InstallDocker.msi SHA256 + Get Docker for Windows (Edge)

+ Download checksum: InstallDocker.msi SHA256
@@ -68,11 +68,11 @@ beta channels, see the > [What to know before you install](/docker-for-windows/#what-to-know-before-you-install) > for a full list of prerequisites. > -> - You can switch between beta and stable versions, but you must have only one +> - You can switch between Edge and Stable versions, but you must have only one > app installed at a time. Also, you will need to save images and export > containers you want to keep before uninstalling the current version before > installing another. For more about this, see the -> [FAQs about beta and stable channels](/docker-for-windows/faqs.md#questions-about-stable-and-beta-channels). +> [FAQs about Stable and Edge channels](/docker-for-windows/faqs.md#questions-about-stable-and-edge-channels). ## What to know before you install @@ -159,6 +159,6 @@ workarounds, how to run and submit diagnostics, and submit issues. * [FAQs](faqs.md) provides answers to frequently asked questions. -* [Release Notes](release-notes.md) lists component updates, new features, and improvements associated with Stable and Beta releases. +* [Release Notes](release-notes.md) lists component updates, new features, and improvements associated with Stable and Edge releases. * [Learn Docker](/learn.md) provides general Docker tutorials. diff --git a/docker-for-windows/release-notes.md b/docker-for-windows/release-notes.md index 63628e06d4..730e63f416 100644 --- a/docker-for-windows/release-notes.md +++ b/docker-for-windows/release-notes.md @@ -18,6 +18,29 @@ about both kinds of releases, and download stable and beta product installers at ## Stable Release Notes +### Docker Community Edition 17.03.0, 2017-03-02 (stable) + +**New** + +- Renamed to Docker Community Edition +- Integration with Docker Cloud: control remote Swarms from the local CLI and view your repositories. This feature is going to be rolled out to all users progressively + +**Upgrades** + +- [Docker 17.03.0-ce](https://github.com/docker/docker/releases/tag/v17.03.0-ce) +- [Docker Machine 0.10.0](https://github.com/docker/machine/releases/tag/v0.10.0) +- [Docker Compose 1.11.2](https://github.com/docker/compose/releases/tag/1.11.2) +- Linux Kernel 4.9.11 + +**Bug fixes and minor changes** + +- VPNKit: fixed unmarshalling of DNS packets containing pointers to pointers to labels +- Match Hyper-V Integration Services by ID, not name +- Don't consume 100% CPU when the service is stopped +- Log the diagnostic id when uploading +- Improved Firewall handling: stop listing the rules since it can take a lot of time +- Don't rollback to the previous engine when the desired engine fails to start + ### Docker for Windows 1.13.1, 2017-02-09 (stable) **Upgrades** @@ -267,7 +290,30 @@ We did not distribute a 1.12.4 stable release * Docker Machine 0.8.0 * Docker Compose 1.8.0 -## Beta Release Notes +## Edge Release Notes + +### Docker Community Edition 17.03.0 Release Notes (2017-03-02 17.03.0-ce-win1) + +**New** + +- Renamed to Docker Community Edition +- Integration with Docker Cloud: control remote Swarms from the local CLI and view your repositories. This feature is going to be rolled out to all users progressively + +**Upgrades** + +- [Docker 17.03.0-ce](https://github.com/docker/docker/releases/tag/v17.03.0-ce) +- [Docker Machine 0.10.0](https://github.com/docker/machine/releases/tag/v0.10.0) +- [Docker Compose 1.11.2](https://github.com/docker/compose/releases/tag/1.11.2) +- Linux Kernel 4.9.11 + +**Bug fixes and minor changes** + +- VPNKit: fixed unmarshalling of DNS packets containing pointers to pointers to labels +- Match Hyper-V Integration Services by ID, not name +- Don't consume 100% CPU when the service is stopped +- Log the diagnostic id when uploading +- Improved Firewall handling: stop listing the rules since it can take a lot of time +- Don't rollback to the previous engine when the desired engine fails to start ### Docker Community Edition 17.03.0 Release Notes (2017-02-22 17.03.0-ce-rc1) @@ -281,7 +327,7 @@ We did not distribute a 1.12.4 stable release - Docker 17.03.0-ce-rc1 - Linux Kernel 4.9.11 -**Upgrades** +**Bug fixes and minor changes** - VPNKit: Fixed unmarshalling of DNS packets containing pointers to pointers to labels - Match Hyper-V Integration Services by ID, not name diff --git a/docker-hub/webhooks.md b/docker-hub/webhooks.md index 2ca3e1c802..19d3b7aa79 100644 --- a/docker-hub/webhooks.md +++ b/docker-hub/webhooks.md @@ -28,7 +28,7 @@ example webhook below generates an HTTP POST that delivers a JSON payload: "comment_count": "0", "date_created": 1.417494799e+09, "description": "", - "dockerfile": "#\n# BUILD\u0009\u0009docker build -t svendowideit/apt-cacher .\n# RUN\u0009\u0009docker run -d -p 3142:3142 -name apt-cacher-run apt-cacher\n#\n# and then you can run containers with:\n# \u0009\u0009docker run -t -i -rm -e http_proxy http://192.168.1.2:3142/ debian bash\n#\nFROM\u0009\u0009ubuntu\nMAINTAINER\u0009SvenDowideit@home.org.au\n\n\nVOLUME\u0009\u0009[\/var/cache/apt-cacher-ng\]\nRUN\u0009\u0009apt-get update ; apt-get install -yq apt-cacher-ng\n\nEXPOSE \u0009\u00093142\nCMD\u0009\u0009chmod 777 /var/cache/apt-cacher-ng ; /etc/init.d/apt-cacher-ng start ; tail -f /var/log/apt-cacher-ng/*\n", + "dockerfile": "#\n# BUILD\u0009\u0009docker build -t svendowideit/apt-cacher .\n# RUN\u0009\u0009docker run -d -p 3142:3142 -name apt-cacher-run apt-cacher\n#\n# and then you can run containers with:\n# \u0009\u0009docker run -t -i -rm -e http_proxy http://192.168.1.2:3142/ debian bash\n#\nFROM\u0009\u0009ubuntu\n\n\nVOLUME\u0009\u0009[\/var/cache/apt-cacher-ng\]\nRUN\u0009\u0009apt-get update ; apt-get install -yq apt-cacher-ng\n\nEXPOSE \u0009\u00093142\nCMD\u0009\u0009chmod 777 /var/cache/apt-cacher-ng ; /etc/init.d/apt-cacher-ng start ; tail -f /var/log/apt-cacher-ng/*\n", "full_description": "Docker Hub based automated build from a GitHub repo", "is_official": false, "is_private": true, diff --git a/engine/admin/ambassador_pattern_linking.md b/engine/admin/ambassador_pattern_linking.md index 72b55bdeb0..55b1366dc6 100644 --- a/engine/admin/ambassador_pattern_linking.md +++ b/engine/admin/ambassador_pattern_linking.md @@ -144,7 +144,6 @@ case `192.168.1.52:6379`. # use alpine because its a minimal image with a package manager. # prettymuch all that is needed is a container that has a functioning env and socat (or equivalent) FROM alpine:3.2 - MAINTAINER SvenDowideit@home.org.au RUN apk update && \ apk add socat && \ diff --git a/engine/admin/index.md b/engine/admin/index.md index 48eb7ed146..5a475a0148 100644 --- a/engine/admin/index.md +++ b/engine/admin/index.md @@ -82,20 +82,21 @@ the state of all goroutines and threads within the daemon. ## Ubuntu -As of `14.04`, Ubuntu uses Upstart as a process manager. By default, Upstart -jobs are located in `/etc/init` and the `docker` Upstart job can be found at -`/etc/init/docker.conf`. +Ubuntu 16.04 and newer use `systemd` as the init system. Ubuntu 14.04 uses `upstart`. +Use the appropriate command below to check whether Docker is running: -After successfully [installing Docker for -Ubuntu](../installation/linux/ubuntulinux.md), you can check the running status -using Upstart in this way: +| Init system | Command | +|--------------|-----------------------------| +| `systemd` | `sudo systemctl is-active ` | +| `upstart` | `sudo status docker` | + +You can also use Docker itself to check whether Docker is running: ```bash -$ sudo status docker - -docker start/running, process 989 +$ docker info ``` + ### Running Docker You can start/stop/restart the `docker` daemon using @@ -299,4 +300,4 @@ May 06 00:22:06 localhost.localdomain docker[2495]: time="2015-05-06T00:22:06Z" May 06 00:22:06 localhost.localdomain docker[2495]: time="2015-05-06T00:22:06Z" level="info" msg="-job acceptconnections() = OK (0)" ``` -> Note: Using and configuring journal is an advanced topic and is beyond the scope of this article. \ No newline at end of file +> Note: Using and configuring journal is an advanced topic and is beyond the scope of this article. diff --git a/engine/admin/using_supervisord.md b/engine/admin/using_supervisord.md index 3102790d24..42bd956258 100644 --- a/engine/admin/using_supervisord.md +++ b/engine/admin/using_supervisord.md @@ -28,7 +28,6 @@ Let's start by creating a basic `Dockerfile` for our new image. ```Dockerfile FROM ubuntu:16.04 -MAINTAINER examples@docker.com ``` ## Installing Supervisor @@ -98,7 +97,6 @@ Your completed Dockerfile now looks like this: ```Dockerfile FROM ubuntu:16.04 -MAINTAINER examples@docker.com RUN apt-get update && apt-get install -y openssh-server apache2 supervisor RUN mkdir -p /var/lock/apache2 /var/run/apache2 /var/run/sshd /var/log/supervisor diff --git a/engine/examples/apt-cacher-ng.Dockerfile b/engine/examples/apt-cacher-ng.Dockerfile index d1f76572b9..af9d885d24 100644 --- a/engine/examples/apt-cacher-ng.Dockerfile +++ b/engine/examples/apt-cacher-ng.Dockerfile @@ -6,7 +6,6 @@ # docker run -t -i --rm -e http_proxy http://dockerhost:3142/ debian bash # FROM ubuntu -MAINTAINER SvenDowideit@docker.com VOLUME ["/var/cache/apt-cacher-ng"] RUN apt-get update && apt-get install -y apt-cacher-ng diff --git a/engine/examples/apt-cacher-ng.md b/engine/examples/apt-cacher-ng.md index d2ec75ffd4..ec186133b8 100644 --- a/engine/examples/apt-cacher-ng.md +++ b/engine/examples/apt-cacher-ng.md @@ -27,7 +27,6 @@ Use the following Dockerfile: # Here, `dockerhost` is the IP address or FQDN of a host running the Docker daemon # which acts as an APT proxy server. FROM ubuntu - MAINTAINER SvenDowideit@docker.com VOLUME ["/var/cache/apt-cacher-ng"] RUN apt-get update && apt-get install -y apt-cacher-ng diff --git a/engine/examples/mongodb.md b/engine/examples/mongodb.md index eb007e3788..d6ac426cf3 100644 --- a/engine/examples/mongodb.md +++ b/engine/examples/mongodb.md @@ -52,13 +52,6 @@ We will build our image using the latest version of Ubuntu from the FROM ubuntu:latest ``` -Continuing, we will declare the `MAINTAINER` of the `Dockerfile`: - -```dockerfile -# Format: MAINTAINER Name -MAINTAINER M.Y. Name -``` - > **Note:** Although Ubuntu systems have MongoDB packages, they are likely to > be outdated. Therefore in this example, we will use the official MongoDB > packages. diff --git a/engine/examples/mongodb/Dockerfile b/engine/examples/mongodb/Dockerfile index aea59c155f..eb020979f0 100644 --- a/engine/examples/mongodb/Dockerfile +++ b/engine/examples/mongodb/Dockerfile @@ -3,7 +3,6 @@ # http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/ FROM ubuntu:16.04 -MAINTAINER Docker # Installation: # Import MongoDB public GPG key AND create a MongoDB list file diff --git a/engine/examples/postgresql_service.Dockerfile b/engine/examples/postgresql_service.Dockerfile index d5767c9384..9ee667eb92 100644 --- a/engine/examples/postgresql_service.Dockerfile +++ b/engine/examples/postgresql_service.Dockerfile @@ -3,7 +3,6 @@ # FROM ubuntu -MAINTAINER SvenDowideit@docker.com # Add the PostgreSQL PGP key to verify their Debian packages. # It should be the same key as https://www.postgresql.org/media/keys/ACCC4CF8.asc diff --git a/engine/examples/postgresql_service.md b/engine/examples/postgresql_service.md index 68b51f71ee..e864ef22c0 100644 --- a/engine/examples/postgresql_service.md +++ b/engine/examples/postgresql_service.md @@ -26,7 +26,6 @@ suitably secure. # FROM ubuntu -MAINTAINER SvenDowideit@docker.com # Add the PostgreSQL PGP key to verify their Debian packages. # It should be the same key as https://www.postgresql.org/media/keys/ACCC4CF8.asc diff --git a/engine/examples/running_riak_service.Dockerfile b/engine/examples/running_riak_service.Dockerfile index 9b82cb023a..72738ade44 100644 --- a/engine/examples/running_riak_service.Dockerfile +++ b/engine/examples/running_riak_service.Dockerfile @@ -4,7 +4,6 @@ # Use the Ubuntu base image provided by dotCloud FROM ubuntu:trusty -MAINTAINER Hector Castro hector@basho.com # Install Riak repository before we do apt-get update, so that update happens # in a single step diff --git a/engine/examples/running_riak_service.md b/engine/examples/running_riak_service.md index 5a68a3ea8a..1fe601b934 100644 --- a/engine/examples/running_riak_service.md +++ b/engine/examples/running_riak_service.md @@ -23,7 +23,6 @@ of. We'll use [Ubuntu](https://hub.docker.com/_/ubuntu/) (tag: # Use the Ubuntu base image provided by dotCloud FROM ubuntu:trusty - MAINTAINER Hector Castro hector@basho.com After that, we install the curl which is used to download the repository setup script and we download the setup script and run it. diff --git a/engine/examples/running_ssh_service.Dockerfile b/engine/examples/running_ssh_service.Dockerfile index 68023dbb3a..886b38a36b 100644 --- a/engine/examples/running_ssh_service.Dockerfile +++ b/engine/examples/running_ssh_service.Dockerfile @@ -1,5 +1,4 @@ FROM ubuntu:16.04 -MAINTAINER Sven Dowideit RUN apt-get update && apt-get install -y openssh-server RUN mkdir /var/run/sshd diff --git a/engine/examples/running_ssh_service.md b/engine/examples/running_ssh_service.md index 9e60160cdb..4b6541a651 100644 --- a/engine/examples/running_ssh_service.md +++ b/engine/examples/running_ssh_service.md @@ -12,7 +12,6 @@ quick access to a test container. ```Dockerfile FROM ubuntu:16.04 -MAINTAINER Sven Dowideit RUN apt-get update && apt-get install -y openssh-server RUN mkdir /var/run/sshd diff --git a/engine/getstarted-voting-app/deploy-app.md b/engine/getstarted-voting-app/deploy-app.md index 297a05d1de..de2d4278a3 100644 --- a/engine/getstarted-voting-app/deploy-app.md +++ b/engine/getstarted-voting-app/deploy-app.md @@ -53,13 +53,18 @@ The `docker-stack.yml` file must be located on a manager for the swarm where you We'll deploy the application from the manager. -1. Deploy the application stack based on the `.yml` using the command `docker stack deploy` as follows. +1. Deploy the application stack based on the `.yml` using the command +[`docker stack deploy`](/engine/reference/commandline/stack_deploy.md) as follows. ``` docker stack deploy --compose-file docker-stack.yml vote ``` - Here is an example of the command and the output. + * The `--compose-file` option specifies the path to our stack file. In this case, we assume it's in the current directory so we simply name the stack file: `docker-stack.yml`. + + * For the example, we name this app `vote`, but we could name it anything we want. + + Here is an example of the command and the output. ``` docker@manager:~$ docker stack deploy --compose-file docker-stack.yml vote diff --git a/engine/getstarted-voting-app/index.md b/engine/getstarted-voting-app/index.md index cfdddafe13..57d1a34018 100644 --- a/engine/getstarted-voting-app/index.md +++ b/engine/getstarted-voting-app/index.md @@ -219,12 +219,13 @@ volumes: ## Docker stacks and services -To deploy the voting app, we will run the `docker stack deploy` command with -this `docker-stack.yml` file to pull the referenced images and launch the -services in a swarm. This allows us to run the application across multiple -servers, and use swarm mode for load balancing and performance. Rather than -thinking about running individual containers, we can start to model deployments -as application stacks and services. +To deploy the voting app, we will run the [`docker stack +deploy`](/engine/reference/commandline/stack_deploy.md) command with appropriate +options using this `docker-stack.yml` file to pull the referenced images and +launch the services in a swarm. This allows us to run the application across +multiple servers, and use swarm mode for load balancing and performance. Rather +than thinking about running individual containers, we can start to model +deployments as application stacks and services. If you are interested in learning more about new Compose version 3.x features, Docker Engine 1.13.x, and swarm mode integration, check out the [list of resources](customize-app.md#resources) at the end of this tutorial. diff --git a/engine/index.md b/engine/index.md index 760fea258c..34bc767bf6 100644 --- a/engine/index.md +++ b/engine/index.md @@ -98,8 +98,8 @@ on the separate [Release Notes page](/release-notes) As changes are made to Docker there may be times when existing features will need to be removed or replaced with newer features. Before an existing feature is removed it will be labeled as "deprecated" within the documentation -and will remain in Docker for, usually, at least 3 releases. After that time -it may be removed. +and will remain in Docker for at least 3 stable releases (roughly 9 months). +After that time it may be removed. Users are expected to take note of the list of deprecated features each release and plan their migration away from those features, and (if applicable) diff --git a/engine/installation/images/green-check.svg b/engine/installation/images/green-check.svg new file mode 100644 index 0000000000..b33d1fc529 --- /dev/null +++ b/engine/installation/images/green-check.svg @@ -0,0 +1,14 @@ + + + + Round Check + Created with Sketch. + + + + + + + + + \ No newline at end of file diff --git a/engine/installation/index.md b/engine/installation/index.md index 0abf0a7cfc..0415e73091 100644 --- a/engine/installation/index.md +++ b/engine/installation/index.md @@ -1,36 +1,80 @@ --- description: Lists the installation methods -keywords: Docker install +keywords: docker, installation, install, docker ce, docker ee, docker editions, stable, edge redirect_from: - /installation/ - /engine/installation/linux/frugalware/ - /engine/installation/frugalware/ -title: Install Docker Engine +title: Install Docker --- -Docker Engine is supported on Linux, Cloud, Windows, and macOS. Installation -instructions are available for the following: +## Docker variants -## On Linux -* [CentOS](linux/centos.md) -* [Debian](linux/debian.md) -* [Fedora](linux/fedora.md) -* [Oracle Linux](linux/oracle.md) -* [Red Hat Enterprise Linux](linux/rhel.md) -* [openSUSE and SUSE Linux Enterprise](linux/suse.md) -* [Ubuntu](linux/ubuntulinux.md) -* [Other Linux distributions](linux/other.md) +Docker is available in multiple variants: -If your linux distribution is not listed above, don't give up yet. To try out -Docker on a different Linux distribution, consider -[installing from binaries](binaries.md). +- **Docker Enterprise Edition (Docker EE)** is designed for enterprise + development and IT teams who build, ship, and run business critical + applications in production at scale. Docker EE is integrated, certified, and + supported to provide enterprises with the most secure container platform in + the industry to modernize all applications. For more information + about Docker EE, including purchasing options, see + [Docker Enterprise Edition](https://www.docker.com/enterprise-edition/){: target="_blank" class="_" }. -## On macOS and Windows +- **Docker Community Edition (Docker CE)** is ideal for developers and small + teams looking to get started with Docker and experimenting with + container-based apps. Docker CE is available on many platforms, from desktop + to cloud to server. Docker CE is available for macOS and Windows and provides + a native experience to help you focus on learning Docker. You can build and + share containers and automate the development pipeline all from a single + environment. -* [Docker for Mac](/docker-for-mac/) -* [Docker for Windows](/docker-for-windows/) + Docker CE gives you the option to run **stable** or **edge** builds. -## On Cloud + - **Stable** builds are released once per quarter. + - **Edge** builds are released once per month. + + For more information about Docker CE, see + [Docker Community Edition](https://www.docker.com/community-edition/){: target="_blank" class="_" }. + +- **Docker Cloud** is a platform run by Docker which allows you to deploy your + application using multiple cloud providers such as Digital Ocean, Packet, + SoftLink, or to bring your own device. For more information about using Docker + Cloud, see [Docker Cloud](#docker-cloud). + +## Platform support matrix + +Docker CE and Docker EE run on Linux, Cloud, Windows, and macOS platforms. Use +the following matrix to choose the best installation path for you. The links +under **Platform** take you straight to the installation instructions for that +platform. + +{% capture green-check %}![yes](images/green-check.svg){: style="height: 14px"}{% endcapture %} + +| Platform | Docker EE | Docker CE | +|:-------------------------------------------------------------------------------------|:-----------------:|:-----------------:| +| [Ubuntu](linux/ubuntulinux.md) | {{ green-check }} | {{ green-check }} | +| [Debian](linux/debian.md) | | {{ green-check }} | +| [Red Hat Enterprise Linux](linux/rhel.md) | {{ green-check }} | | +| [CentOS](linux/centos.md) | {{ green-check }} | {{ green-check }} | +| [Fedora](linux/fedora.md) | | {{ green-check }} | +| [Oracle Linux](linux/oracle.md) | {{ green-check }} | | +| [SUSE Linux Enterprise Server](linux/suse.md) | {{ green-check }} | | +| [Microsoft Windows Server 2016](https://docs.microsoft.com/en-us/virtualization/windowscontainers/quick-start/quick-start-windows-server){: target="_blank" class="_" } | {{ green-check }} | | +| [Microsoft Windows 10](/docker-for-windows/)) | | {{ green-check }} | +| [macOS](/docker-for-mac/) | | {{ green-check }} | +| [Microsoft Azure](/docker-cloud/infrastructure/link-aws.md) | {{ green-check }} | {{ green-check }} | +| [Amazon Web Services](/docker-cloud/infrastructure/link-aws.md) | {{ green-check }} | {{ green-check }} | +{: style="width: 75%" } + +See also [Docker Cloud](#on-docker-cloud) for setup instructions for +Digital Ocean, Packet, SoftLink, or Bring Your Own Cloud. + +### Prior releases + +Instructions for installing prior releases of Docker can be found in the +[Docker archives](/docsarchive/). + +## Docker Cloud You can use Docker Cloud to automatically provision and manage your cloud instances. @@ -48,11 +92,6 @@ up on what Docker for AWS and Docker for Azure have to offer you * [Docker for AWS](/docker-for-aws/) * [Docker for Azure](/docker-for-azure/) -## Prior releases - -Instructions for installing prior releases of Docker can be found in the -[Docker archives](/docsarchive/). - ## Get started After setting up Docker, try learning the basics over at diff --git a/engine/installation/linux/centos.md b/engine/installation/linux/centos.md index fe97237262..2ea15a332d 100644 --- a/engine/installation/linux/centos.md +++ b/engine/installation/linux/centos.md @@ -12,29 +12,46 @@ To get started with Docker on CentOS, make sure you ## Prerequisites +### Docker EE customers + +To install Docker Enterprise Edition (Docker EE), you need to know the Docker EE +repository URL associated with your trial or subscription. To get this information: + +- Go to [https://store.docker.com/?overlay=subscriptions](https://store.docker.com/?overlay=subscriptions). +- Choose **Get Details** / **Setup Instructions** within the + **Docker Enterprise Edition for Ubuntu** section. +- Copy the URL from the field labeled + **Copy and paste this URL to download your Edition**. + +Where the installation instructions differ for Docker EE and Docker CE, use this +URL when you see the placeholder text ``. + +To learn more about Docker EE, see +[Docker Enterprise Edition](https://www.docker.com/enterprise-edition/){: target="_blank" class="_" }. + ### OS requirements To install Docker, you need the 64-bit version of CentOS 7. -### Remove unofficial Docker packages -Red Hat's operating system repositories contain an older version of Docker, with -the package name `docker` instead of `docker-engine`. If you installed this -version of Docker, remove it using the following command: +### Uninstall old versions + +Older versions of Docker were called `docker` or `docker-engine`. If these are +installed, uninstall them, along with associated dependencies. ```bash -$ sudo yum -y remove docker docker-common container-selinux +$ sudo yum remove docker \ + docker-common \ + container-selinux \ + docker-selinux \ + docker-engine ``` -You may also have to remove the package `docker-selinux` which conflicts with -the official `docker-engine` package. Remove it with the following command: +It's OK if `yum` reports that none of these packages are installed. -```bash -$ sudo yum -y remove docker-selinux -``` - -The contents of `/var/lib/docker` are not removed, so any images, containers, -or volumes you created using the older version of Docker are preserved. +The contents of `/var/lib/docker/`, including images, containers, volumes, and +networks, are preserved. The Docker CE package is now called `docker-ce`, and +the Docker EE package is now called `docker-ee`. ## Install Docker @@ -46,21 +63,24 @@ You can install Docker in different ways, depending on your needs: recommended approach. - Some users download the RPM package and install it manually and manage - upgrades completely manually. - -- Some users cannot use third-party repositories, and must rely on the version - of Docker in the CentOS repositories. This version of Docker may be out of - date. Those users should consult the CentOS documentation and not follow these - procedures. + upgrades completely manually. This is useful in situations such as installing + Docker on air-gapped systems with no access to the internet. ### Install using the repository Before you install Docker for the first time on a new host machine, you need to -set up the Docker repository. Afterward, you can install, update, or downgrade -Docker from the repository. +set up the Docker repository. Afterward, you can install and update Docker from +the repository. #### Set up the repository +Repository set-up instructions are different for [Docker CE](#docker-ce) and +[Docker EE](#docker-ee). + +##### Docker CE + +{% assign download-url-base = "https://download.docker.com/linux/centos" %} + 1. Install `yum-utils`, which provides the `yum-config-manager` utility: ```bash @@ -72,30 +92,51 @@ Docker from the repository. ```bash $ sudo yum-config-manager \ --add-repo \ - https://docs.docker.com/engine/installation/linux/repo_files/centos/docker.repo + {{ download-url-base }}/docker-ce.repo ``` -3. **Optional**: Enable the **testing** repository. This repository is included +3. **Optional**: Enable the **edge** repository. This repository is included in the `docker.repo` file above but is disabled by default. You can enable - it alongside the stable repository. **Do not use unstable repositories on - on production systems or for non-testing workloads.** - - > **Warning**: If you have both stable and unstable repositories enabled, - > installing or updating without specifying a version in the `yum install` - > or `yum update` command will always install the highest possible version, - > which will almost certainly be an unstable one. + it alongside the stable repository. ```bash - $ sudo yum-config-manager --enable docker-testing + $ sudo yum-config-manager --enable docker-ce-edge ``` - You can disable the `testing` repository by running the `yum-config-manager` + You can disable the **edge** repository by running the `yum-config-manager` command with the `--disable` flag. To re-enable it, use the - `--enable` flag. The following command disables the `testing` - repository. + `--enable` flag. The following command disables the **edge** repository. ```bash - $ sudo yum-config-manager --disable docker-testing + $ sudo yum-config-manager --disable docker-ce-edge + ``` + + [Learn about **stable** and **edge** builds](/engine/installation/). + +##### Docker EE + +1. Remove any existing Docker repositories from `/etc/yum.repos.d/`. + +2. Store your Docker EE repository URL in a `yum` variable in `/etc/yum/vars/`. + Replace `` with the URL you noted down in the + [prerequisites](#prerequisites). + + ```bash + $ sudo sh -c 'echo "" > /etc/yum/vars/dockerurl' + ``` + +3. Install `yum-utils`, which provides the `yum-config-manager` utility: + + ```bash + $ sudo yum install -y yum-utils + ``` + +4. Use the following command to add the **stable** repository: + + ```bash + $ sudo yum-config-manager \ + --add-repo \ + /docker-ee.repo ``` #### Install Docker @@ -108,20 +149,26 @@ Docker from the repository. If this is the first time you have refreshed the package index since adding the Docker repositories, you will be prompted to accept the GPG key, and - the key's fingerprint will be shown. Verify that the fingerprint matches - `58118E89F3A912897C070ADBF76221572C52609D` and if so, accept the key. + the key's fingerprint will be shown. Verify that the fingerprint is + correct, and if so, accept the key. + + | Docker Edition | Fingerprint | + |----------------|------------------------------------------------------| + | Docker CE | `060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35` | + | Docker EE | `DD91 1E99 5A64 A202 E859 07D6 BC14 F10B 6D08 5F96` | 2. Install the latest version of Docker, or go to the next step to install a specific version. - ```bash - $ sudo yum -y install docker-engine - ``` + | Docker Edition | Command | + |----------------|-------------------------------------| + | Docker CE | `sudo yum install docker-ce` | + | Docker EE | `sudo yum install docker-ee` | - > **Warning**: If you have both stable and unstable repositories enabled, - > installing or updating Docker without specifying a version in the - > `yum install` or `yum upgrade` command will always install the highest - > available version, which will almost certainly be an unstable one. + > **Warning**: If you have multiple Docker repositories enabled, installing + > or updating without specifying a version in the `yum install` or + > `yum update` command will always install the highest possible version, + > which may not be appropriate for your stability needs. 3. On production systems, you should install a specific version of Docker instead of always using the latest. List the available versions. This @@ -131,13 +178,12 @@ Docker from the repository. > **Note**: This `yum list` command only shows binary packages. To show > source packages as well, omit the `.x86_64` from the package name. - ```bash - $ yum list docker-engine.x86_64 --showduplicates |sort -r + {% assign minor-version = "17.03" %} - docker-engine.x86_64 1.13.0-1.el7 docker-main - docker-engine.x86_64 1.12.5-1.el7 docker-main - docker-engine.x86_64 1.12.4-1.el7 docker-main - docker-engine.x86_64 1.12.3-1.el7 docker-main + ```bash + $ yum list docker-ce.x86_64 --showduplicates |sort -r + + docker-ce.x86_64 {{ minor-version }}.0.el7 docker-ce-stable ``` The contents of the list depend upon which repositories are enabled, and @@ -148,9 +194,10 @@ Docker from the repository. its stability level. To install a specific version, append the version string to the package name and separate them by a hyphen (`-`): - ```bash - $ sudo yum -y install docker-engine- - ``` + | Docker Edition | Command | + |----------------|-----------------------------------------------| + | Docker CE | `sudo yum install docker-ce-` | + | Docker EE | `sudo yum install docker-ee-` | 4. Start Docker. @@ -184,19 +231,27 @@ If you cannot use Docker's repository to install Docker, you can download the `.rpm` file for your release and install it manually. You will need to download a new file each time you want to upgrade Docker. -1. Go to [https://yum.dockerproject.org/repo/main/centos/](https://yum.dockerproject.org/repo/main/centos/) - and choose the subdirectory for your CentOS version. Download the `.rpm` file - for the Docker version you want to install. +1. This step is different for Docker CE and Docker EE. - > **Note**: To install a testing version, change the word `stable` in the - > URL to `testing`. Do not use unstable versions of Docker in production - > or for non-testing workloads. + - **Docker CE**: Go to + [{{ download-url-base }}/7/x86_64/stable/Packages/]({{ download-url-base }}/7/x86_64/stable/Packages/) + and download the `.rpm` file for the Docker version you want to install. + + > **Note**: To install an **edge** package, change the word + > `stable` in the > URL to `edge`. For information about **stable** and + > **edge** builds, see + > [Docker variants](/engine/installation/#docker-variants). + + - **Docker EE**: Go to the Docker EE repository URL associated with your + trial or subscription in your browser. Go to + `7/x86_64/stable-{{ minor-version }}/Packages/` and download the `.rpm` + file for the Docker version you want to install. 2. Install Docker, changing the path below to the path where you downloaded the Docker package. ```bash - $ sudo yum -y install /path/to/package.rpm + $ sudo yum install /path/to/package.rpm ``` 3. Start Docker. @@ -226,14 +281,14 @@ To upgrade Docker, download the newer package file and repeat the [installation procedure](#install-from-a-package), using `yum -y upgrade` instead of `yum -y install`, and pointing to the new file. - ## Uninstall Docker 1. Uninstall the Docker package: - ```bash - $ sudo yum -y remove docker-engine - ``` + | Docker Edition | Command | + |----------------|--------------------------------| + | Docker CE | `sudo yum remove docker-ce` | + | Docker EE | `sudo yum remove docker-ee` | 2. Images, containers, volumes, or customized configuration files on your host are not automatically removed. To delete all images, containers, and diff --git a/engine/installation/linux/debian.md b/engine/installation/linux/debian.md index a9a1de2d98..cd8c3c95e0 100644 --- a/engine/installation/linux/debian.md +++ b/engine/installation/linux/debian.md @@ -1,10 +1,10 @@ --- description: Instructions for installing Docker on Debian -keywords: Docker, Docker documentation, requirements, apt, installation, debian, raspbian, install, uninstall, upgrade, update +keywords: Docker, Docker documentation, requirements, apt, installation, debian, install, uninstall, upgrade, update redirect_from: - /engine/installation/debian/ - /engine/installation/linux/raspbian/ -title: Get Docker for Debian or Raspbian +title: Get Docker for Debian --- To get started with Docker on Debian, make sure you @@ -13,6 +13,12 @@ To get started with Docker on Debian, make sure you ## Prerequisites +### Docker EE customers + +Docker EE is not supported on Debian. For a list of supported operating systems +and distributions for different Docker editions, see +[Docker variants](/engine/installation/#docker-variants). + ### OS requirements To install Docker, you need the 64-bit version of one of these Debian or @@ -22,7 +28,21 @@ Raspbian versions: - Jessie 8.0 (LTS) / Raspbian Jessie - Wheezy 7.7 (LTS) -#### Extra steps for Wheezy 7.7 +### Uninstall old versions + +Older versions of Docker were called `docker` or `docker-engine`. If these are +installed, uninstall them: + +```bash +$ sudo apt-get remove docker docker-engine +``` + +It's OK if `apt-get` reports that none of these packages are installed. + +The contents of `/var/lib/docker/`, including images, containers, volumes, and +networks, are preserved. The Docker CE package is now called `docker-ce`. + +### Extra steps for Wheezy 7.7 - You need at least version 3.10 of the Linux kernel. Debian Wheezy ships with version 3.2, so you may need to @@ -36,9 +56,9 @@ Raspbian versions: - Enable the `backports` repository. See the [Debian documentation](https://backports.debian.org/Instructions/){: target="_blank" class"_"}. -## Install Docker +## Install Docker CE -You can install Docker in different ways, depending on your needs: +You can install Docker CE in different ways, depending on your needs: - Most users [set up Docker's repositories](#install-using-the-repository) and install @@ -46,27 +66,25 @@ You can install Docker in different ways, depending on your needs: recommended approach. - Some users download the DEB package and install it manually and manage - upgrades completely manually. - -- Some users cannot use the official Docker repositories, and must rely on - the version of Docker that comes with their operating system. This version of - Docker may be out of date. Those users should consult their operating system - documentation and not follow these procedures. + upgrades completely manually. This is useful in situations such as installing + Docker on air-gapped systems with no access to the internet. ### Install using the repository -Before you install Docker for the first time on a new host machine, you need to -set up the Docker repository. Afterward, you can install, update, or downgrade -Docker from the repository. +Before you install Docker CE for the first time on a new host machine, you need +to set up the Docker repository. Afterward, you can install and update Docker +from the repository. #### Set up the repository +{% assign download-url-base = "https://download.docker.com/linux/debian" %} + 1. Install packages to allow `apt` to use a repository over HTTPS: **Jessie or Stretch**: ```bash - $ sudo apt-get install -y --no-install-recommends \ + $ sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ @@ -76,7 +94,7 @@ Docker from the repository. **Wheezy**: ```bash - $ sudo apt-get install -y --no-install-recommends \ + $ sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ @@ -86,47 +104,38 @@ Docker from the repository. 2. Add Docker's official GPG key: ```bash - $ curl -fsSL https://apt.dockerproject.org/gpg | sudo apt-key add - + $ curl -fsSL {{ download-url-base}}/gpg | sudo apt-key add - ``` - Verify that the key ID is `58118E89F3A912897C070ADBF76221572C52609D`. + Verify that the key ID is `9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88`. ```bash - $ apt-key fingerprint 58118E89F3A912897C070ADBF76221572C52609D + $ sudo apt-key fingerprint 0EBFCD88 - pub 4096R/2C52609D 2015-07-14 - Key fingerprint = 5811 8E89 F3A9 1289 7C07 0ADB F762 2157 2C52 609D - uid Docker Release Tool (releasedocker) + pub 4096R/0EBFCD88 2017-02-22 + Key fingerprint = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 + uid Docker Release (CE deb) + sub 4096R/F273FCD8 2017-02-22 ``` 3. Use the following command to set up the **stable** repository. + To add the **edge** repository, add `edge` after `stable` on the last line of + the command. For information about **stable** and **edge** builds, see + [Docker variants](/engine/installation/#docker-variants). + > **Note**: The `lsb_release -cs` sub-command below returns the name of your > Debian distribution, such as `jessie`. - - **Debian**: - ```bash - $ sudo add-apt-repository \ - "deb https://apt.dockerproject.org/repo/ \ - debian-$(lsb_release -cs) \ - main" - ``` + ```bash + $ sudo add-apt-repository \ + "deb [arch=amd64] {{ download-url-base }} \ + $(lsb_release -cs) \ + stable" + ``` - - **Raspbian**: - - ```bash - $ sudo add-apt-repository \ - "deb https://apt.dockerproject.org/repo/ \ - raspbian-$(lsb_release -cs) \ - main" - ``` - - To enable the `testing` repository, you can edit `/etc/apt/sources.list` - and add the word `testing` after `main` on the appropriate line of the file. - **Do not use unstable repositories on production systems or for non-testing workloads.** - -#### Install Docker +#### Install Docker CE 1. Update the `apt` package index. @@ -140,24 +149,22 @@ Docker from the repository. Use this command to install the latest version of Docker: ```bash - $ sudo apt-get -y install docker-engine + $ sudo apt-get install docker-ce ``` - > **Warning**: If you have both stable and unstable repositories enabled, - > updating to the latest version of Docker by not specifying a version in - > the `apt-get install` or `apt-get update` command will always install the - > highest possible version, which will almost certainly be an unstable one. + > **Warning**: If you have multiple Docker repositories enabled, installing + > or updating without specifying a version in the `apt-get install` or + > `apt-get update` command will always install the highest possible version, + > which may not be appropriate for your stability needs. 3. On production systems, you should install a specific version of Docker instead of always using the latest. This output is truncated. List the available versions: ```bash - $ apt-cache madison docker-engine - docker-engine | 1.13.0-0~stretch | https://apt.dockerproject.org/repo debian-stretch/main amd64 Packages - docker-engine | 1.12.3-0~stretch | https://apt.dockerproject.org/repo debian-stretch/main amd64 Packages - docker-engine | 1.12.2-0~stretch | https://apt.dockerproject.org/repo debian-stretch/main amd64 Packages - docker-engine | 1.12.1-0~stretch | https://apt.dockerproject.org/repo debian-stretch/main amd64 Packages + $ apt-cache madison docker-ce + + docker-ce | 17.03.0~ce-0~debian-jessie | {{ download-url-base}} jessie/stable amd64 Packages ``` The contents of the list depend upon which repositories are enabled, @@ -169,16 +176,12 @@ Docker from the repository. version string to the package name and separate them by an equals sign (`=`): ```bash - $ sudo apt-get -y install docker-engine= + $ sudo apt-get install docker-ce= ``` - On Debian, the Docker daemon starts automatically. On Raspbian, start Docker: + The Docker daemon starts automatically. - ```bash - $ sudo service docker start - ``` - -4. Verify that `docker` is installed correctly by running the `hello-world` +4. Verify that Docker CE is installed correctly by running the `hello-world` image. ```bash @@ -188,12 +191,12 @@ Docker from the repository. This command downloads a test image and runs it in a container. When the container runs, it prints an informational message and exits. -Docker is installed and running. You need to use `sudo` to run Docker commands. -Continue to [Linux postinstall](linux-postinstall.md) to allow +Docker CE is installed and running. You need to use `sudo` to run Docker +commands. Continue to [Linux postinstall](linux-postinstall.md) to allow non-privileged users to run Docker commands and for other optional configuration steps. -#### Upgrade Docker +#### Upgrade Docker CE To upgrade Docker, first run `sudo apt-get update`, then follow the [installation instructions](#install-docker), choosing the new version you want @@ -201,32 +204,27 @@ to install. ### Install from a package -If you cannot use Docker's repository to install Docker, you can download the +If you cannot use Docker's repository to install Docker CE, you can download the `.deb` file for your release and install it manually. You will need to download a new file each time you want to upgrade Docker. -1. Go to [https://apt.dockerproject.org/repo/pool/main/d/docker-engine/](https://apt.dockerproject.org/repo/pool/main/d/docker-engine/) +1. Go to [{{ download-url-base }}/pool/stable/amd64/]({{ download-url-base }}/pool/stable/amd64/) and download the `.deb` file for the Docker version you want to install and - for your version of Debian or Raspbian. + for your version of Debian. - > **Note**: To install a testing version, change the word `main` in the - > URL to `testing`. Do not use unstable versions of Docker in production - > or for non-testing workloads. + > **Note**: To install an **edge** package, change the word + > `stable` in the > URL to `edge`. -2. Install Docker, changing the path below to the path where you downloaded +2. Install Docker CE, changing the path below to the path where you downloaded the Docker package. ```bash $ sudo dpkg -i /path/to/package.deb ``` - On Debian, the Docker daemon starts automatically. On Raspbian, start Docker: + The Docker daemon starts automatically. - ```bash - $ sudo service docker start - ``` - -3. Verify that `docker` is installed correctly by running the `hello-world` +3. Verify that Docker CE is installed correctly by running the `hello-world` image. ```bash @@ -236,10 +234,10 @@ a new file each time you want to upgrade Docker. This command downloads a test image and runs it in a container. When the container runs, it prints an informational message and exits. -Docker is installed and running. You need to use `sudo` to run Docker commands. -Continue to [Post-installation steps for Linux](linux-postinstall.md) to allow -non-privileged users to run Docker commands and for other optional configuration -steps. +Docker CE is installed and running. You need to use `sudo` to run Docker +commands. Continue to [Post-installation steps for Linux](linux-postinstall.md) +to allow non-privileged users to run Docker commands and for other optional +configuration steps. #### Upgrade Docker @@ -251,7 +249,7 @@ To upgrade Docker, download the newer package file and repeat the 1. Uninstall the Docker package: ```bash - $ sudo apt-get purge docker-engine + $ sudo apt-get purge docker-ce ``` 2. Images, containers, volumes, or customized configuration files on your host diff --git a/engine/installation/linux/fedora.md b/engine/installation/linux/fedora.md index 6834ea8dd2..151c552c97 100644 --- a/engine/installation/linux/fedora.md +++ b/engine/installation/linux/fedora.md @@ -12,6 +12,12 @@ To get started with Docker on Fedora, make sure you ## Prerequisites +### Docker EE customers + +Docker EE is not supported on Fedora. For a list of supported operating systems +and distributions for different Docker editions, see +[Docker variants](/engine/installation/#docker-variants). + ### OS requirements To install Docker, you need the 64-bit version of one of these Fedora versions: @@ -19,29 +25,27 @@ To install Docker, you need the 64-bit version of one of these Fedora versions: - 24 - 25 -### Remove unofficial Docker packages +### Uninstall old versions -Fedora's operating system repositories contain an older version of Docker, with -the package name `docker` instead of `docker-engine`. If you installed this version -of Docker, remove it using the following command: +Older versions of Docker were called `docker` or `docker-engine`. If these are +installed, uninstall them, along with associated dependencies. ```bash -$ sudo dnf -y remove docker docker-common container-selinux +$ sudo dnf remove docker \ + docker-common \ + container-selinux \ + docker-selinux \ + docker-engine ``` -You may also have to remove the package `docker-selinux` which conflicts with the -official `docker-engine` package. Remove it with the following command: +It's OK if `dnf` reports that none of these packages are installed. -```bash -$ sudo dnf -y remove docker-selinux -``` +The contents of `/var/lib/docker/`, including images, containers, volumes, and +networks, are preserved. The Docker CE package is now called `docker-ce`. -The contents of `/var/lib/docker` are not removed, so any images, containers, -or volumes you created using the older version of Docker are preserved. +## Install Docker CE -## Install Docker - -You can install Docker in different ways, depending on your needs: +You can install Docker CE in different ways, depending on your needs: - Most users [set up Docker's repositories](#install-using-the-repository) and install @@ -49,21 +53,19 @@ You can install Docker in different ways, depending on your needs: recommended approach. - Some users download the RPM package and install it manually and manage - upgrades completely manually. - -- Some users cannot use third-party repositories, and must rely on the version - of Docker in the Fedora repositories. This version of Docker may be out of - date. Those users should consult the Fedora documentation and not follow these - procedures. + upgrades completely manually. This is useful in situations such as installing + Docker on air-gapped systems with no access to the internet. ### Install using the repository Before you install Docker for the first time on a new host machine, you need to -set up the Docker repository. Afterward, you can install, update, or downgrade -Docker from the repository. +set up the Docker repository. Afterward, you can install and update Docker from +the repository. #### Set up the repository +{% assign download-url-base = "https://download.docker.com/linux/fedora" %} + 1. Install the `dnf-plugins-core` package which provides the commands to manage your DNF repositories from the command line. @@ -76,33 +78,29 @@ Docker from the repository. ```bash $ sudo dnf config-manager \ --add-repo \ - https://docs.docker.com/engine/installation/linux/repo_files/fedora/docker.repo + {{ download-url-base }}/docker-ce.repo ``` -3. **Optional**: Enable the **testing** repository. This repository is included +3. **Optional**: Enable the **edge** repository. This repository is included in the `docker.repo` file above but is disabled by default. You can enable - it alongside the stable repository. **Do not use unstable repositories on - on production systems or for non-testing workloads.** + it alongside the stable repository. For information about **stable** and + **edge** builds, see + [Docker variants](/engine/installation/#docker-variants). - > **Warning**: If you have both stable and unstable repositories enabled, - > updating without specifying a version in the `dnf install` or `dnf update` - > command will always install the highest possible version, which will - > almost certainly be an unstable one. ```bash - $ sudo dnf config-manager --set-enabled docker-testing + $ sudo dnf config-manager --enable docker-ce-edge ``` - You can disable the `testing` repository by running the `dnf config-manager` - command with the `--set-disabled` flag. To re-enable it, use the - `--set-enabled` flag The following command disables the `testing` - repository. + You can disable the **edge** repository by running the `dnf config-manager` + command with the `--disable` flag. To re-enable it, use the + `--enable` flag. The following command disables the **edge** repository. ```bash - $ sudo dnf config-manager --set-disabled docker-testing + $ sudo dnf config-manager --disable docker-ce-edge ``` -#### Install Docker +#### Install Docker CE 1. Update the `dnf` package index. @@ -113,35 +111,33 @@ Docker from the repository. If this is the first time you have refreshed the package index since adding the Docker repositories, you will be prompted to accept the GPG key, and the key's fingerprint will be shown. Verify that the fingerprint matches - `58118E89F3A912897C070ADBF76221572C52609D` and if so, accept the key. + `060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35` and if so, accept the + key. 2. Install the latest version of Docker, or go to the next step to install a specific version. ```bash - $ sudo dnf -y install docker-engine + $ sudo dnf install docker-ce ``` - > **Warning**: If you have both stable and unstable repositories enabled, - > installing or updating without specifying a version in the `dnf install` - > or `dnf update` command will always install the highest possible version, - > which will almost certainly be an unstable one. + > **Warning**: If you have multiple Docker repositories enabled, installing + > or updating without specifying a version in the `dnf install` or + > `dnf update` command will always install the highest possible version, + > which may not be appropriate for your stability needs. 3. On production systems, you should install a specific version of Docker - instead of always using the latest. List the available versions. - This example uses the `sort -r` command to sort the results by version - number, highest to lowest, and is truncated. + instead of always using the latest. List the available versions. This + example uses the `sort -r` command to sort the results by version number, + highest to lowest, and is truncated. - > **Note**: This `dnf list` command only shows binary packages. To show + > **Note**: This `yum list` command only shows binary packages. To show > source packages as well, omit the `.x86_64` from the package name. ```bash - $ dnf list docker-engine.x86_64 --showduplicates |sort -r + $ dnf list docker-ce.x86_64 --showduplicates |sort -r - docker-engine.x86_64 1.13.0-1.fc24 docker-main - docker-engine.x86_64 1.12.5-1.fc24 docker-main - docker-engine.x86_64 1.12.4-1.fc24 docker-main - docker-engine.x86_64 1.12.3-1.fc24 docker-main + docker-ce.x86_64 17.03.0.fc24 docker-ce-stable ``` The contents of the list depend upon which repositories are enabled, and @@ -153,7 +149,7 @@ Docker from the repository. string to the package name and separate them by a hyphen (`-`): ```bash - $ sudo dnf -y install docker-engine- + $ sudo dnf -y install docker-ce- ``` 4. Start Docker. @@ -162,7 +158,7 @@ Docker from the repository. $ sudo systemctl start docker ``` -5. Verify that `docker` is installed correctly by running the `hello-world` +5. Verify that Docker CE is installed correctly by running the `hello-world` image. ```bash @@ -176,7 +172,7 @@ Docker is installed and running. You need to use `sudo` to run Docker commands. Continue to [Linux postinstall](linux-postinstall.md) to allow non-privileged users to run Docker commands and for other optional configuration steps. -#### Upgrade Docker +#### Upgrade Docker CE To upgrade Docker, first run `sudo dnf makecache fast`, then follow the [installation instructions](#install-docker), choosing the new version you want @@ -188,13 +184,11 @@ If you cannot use Docker's repository to install Docker, you can download the `.rpm` file for your release and install it manually. You will need to download a new file each time you want to upgrade Docker. -1. Go to [https://yum.dockerproject.org/repo/main/fedora/](https://yum.dockerproject.org/repo/main/fedora/) - and choose the subdirectory for your Fedora version. Download the `.rpm` - file for the Docker version you want to install. +1. Go to [{{ download-url-base }}/7/x86_64/stable/]({{ download-url-base }}/7/x86_64/stable/) + and download the `.rpm` file for the Docker version you want to install. - > **Note**: To install a testing version, change the word `main` in the - > URL to `testing`. Do not use unstable versions of Docker in production - > or for non-testing workloads. + > **Note**: To install an **edge** package, change the word + > `stable` in the > URL to `edge`. 2. Install Docker, changing the path below to the path where you downloaded the Docker package. @@ -209,7 +203,7 @@ a new file each time you want to upgrade Docker. $ sudo systemctl start docker ``` -4. Verify that `docker` is installed correctly by running the `hello-world` +4. Verify that Docker CE is installed correctly by running the `hello-world` image. ```bash @@ -219,7 +213,7 @@ a new file each time you want to upgrade Docker. This command downloads a test image and runs it in a container. When the container runs, it prints an informational message and exits. -Docker is installed and running. You need to use `sudo` to run Docker commands. +Docker CE is installed and running. You need to use `sudo` to run Docker commands. Continue to [Post-installation steps for Linux](linux-postinstall.md) to allow non-privileged users to run Docker commands and for other optional configuration steps. @@ -230,13 +224,12 @@ To upgrade Docker, download the newer package file and repeat the [installation procedure](#install-from-a-package), using `dnf -y upgrade` instead of `dnf -y install`, and pointing to the new file. - ## Uninstall Docker 1. Uninstall the Docker package: ```bash - $ sudo dnf -y remove docker-engine + $ sudo dnf remove docker-ce ``` 2. Images, containers, volumes, or customized configuration files on your host diff --git a/engine/installation/linux/linux-postinstall.md b/engine/installation/linux/linux-postinstall.md index 8e4c7332c9..72743231ee 100644 --- a/engine/installation/linux/linux-postinstall.md +++ b/engine/installation/linux/linux-postinstall.md @@ -51,8 +51,7 @@ To create the `docker` group and add your user: Most current Linux distributions (RHEL, CentOS, Fedora, Ubuntu 16.04 and higher) use [`systemd`](#systemd) to manage which services start when the system boots. -Ubuntu 14.10 and below use [`upstart`](#upstart). Oracle Linux 6 uses -`chkconfig`. +Ubuntu 14.10 and below use [`upstart`](#upstart). ### `systemd` diff --git a/engine/installation/linux/oracle.md b/engine/installation/linux/oracle.md index cd87db46b5..feaa8c7c6d 100644 --- a/engine/installation/linux/oracle.md +++ b/engine/installation/linux/oracle.md @@ -12,118 +12,96 @@ To get started with Docker on Oracle Linux, make sure you ## Prerequisites +### Docker EE repository URL + +To install Docker Enterprise Edition (Docker EE), you need to know the Docker EE +repository URL associated with your trial or subscription. To get this information: + +- Go to [https://store.docker.com/?overlay=subscriptions](https://store.docker.com/?overlay=subscriptions). +- Choose **Get Details** / **Setup Instructions** within the + **Docker Enterprise Edition for Oracle Linux** section. +- Copy the URL from the field labeled + **Copy and paste this URL to download your Edition**. + +Use this URL when you see the placeholder text ``. + +To learn more about Docker EE, see +[Docker Enterprise Edition](https://www.docker.com/enterprise-edition/){: target="_blank" class="_" }. + +Docker Community Edition (Docker CE) is not supported on Oracle Linux. + ### OS requirements -To install Docker, you need the 64-bit version of Oracle Linux 6 or 7 running the +To install Docker, you need the 64-bit version of Oracle Linux 7 running the Unbreakable Enterprise Kernel Release 4 (4.1.12) or higher. -For Oracle Linux 6, you need to enable extra repositories to install UEK4. See -[Obtaining and installing the UEK packages](https://docs.oracle.com/cd/E37670_01/E37355/html/ol_obtain_uek.html){: target="_blank" class="_" }. - The [OverlayFS2 storage driver](https://docs.docker.com/engine/userguide/storagedriver/overlayfs-driver/) is only supported when running the UEK4. -### Remove unofficial Docker packages +### Uninstall old versions -Oracle's repositories used to contain an older version of Docker with the package name -`docker` instead of `docker-engine`. If you still have this version of Docker installed, -remove it using the following command: +Older versions of Docker were called `docker` or `docker-engine`. If these are +installed, uninstall them, along with associated dependencies. ```bash -$ sudo yum -y remove docker +$ sudo yum remove docker \ + docker-common \ + container-selinux \ + docker-selinux \ + docker-engine ``` -Oracle's repositories also contain the Oracle-supported version of Docker which uses -the same `docker-engine` name as the official Docker package. If you have installed this -version of Docker, it will automatically be upgraded by the official version. +It's OK if `yum` reports that none of these packages are installed. -You may also have to remove the package `docker-engine-selinux` which conflicts with -the official `docker-engine` package. Remove it with the following command: +The contents of `/var/lib/docker/`, including images, containers, volumes, and +networks, are preserved. The Docker EE package is now called `docker-ee`. -```bash -$ sudo yum -y remove docker-engine-selinux -``` -This package has already been deprecated by Oracle so will only exist on systems that have -an older version of the Oracle-supported package installed. - -The contents of `/var/lib/docker` are not removed, so any images, containers, -or volumes you created using the older version of Docker are preserved. - -## Install Docker +## Install Docker EE You can install Docker in different ways, depending on your needs: -- Users who do not require Docker support from Oracle can - [set up the official Docker repositories](#install-using-the-repository) and - install from them, for ease of installation and upgrade tasks. This is the +- Most users + [set up Docker's repositories](#install-using-the-repository) and install + from them, for ease of installation and upgrade tasks. This is the recommended approach. - Some users download the RPM package and install it manually and manage - upgrades completely manually. - -- Some users cannot use third-party repositories or who wish to receive Docker support - from Oracle must rely on the version of Docker in the Oracle repositories. - This version of Docker may be out of date. Those users should consult the Oracle - Linux Docker User's Guide and not follow these procedures. + upgrades completely manually. This is useful in situations such as installing + Docker on air-gapped systems with no access to the internet. ### Install using the repository Before you install Docker for the first time on a new host machine, you need to -set up the Docker repository. Afterward, you can install, update, or downgrade -Docker from the repository. +set up the Docker repository. Afterward, you can install and update Docker from +the repository. #### Set up the repository -1. Install the `yum-utils` plugin, which provides the `yum-config-manager` - plugin. +1. Remove any existing Docker repositories from `/etc/yum.repos.d/`. + +2. Store your EE repository URL in `/etc/yum/vars/dockerurl`. Replace + `` with the URL you noted down in the + [prerequisites](#prerequisites). + + ```bash + $ sudo sh -c 'echo "" > /etc/yum/vars/dockerurl' + ``` + +3. Install `yum-utils`, which provides the `yum-config-manager` utility: ```bash $ sudo yum install -y yum-utils ``` -2. Use one of the following commands to set up the **stable** repository, - depending on your version of Oracle Linux: - - **Oracle Linux 7**: +4. Use the following command to add the **stable** repository: ```bash $ sudo yum-config-manager \ --add-repo \ - https://docs.docker.com/engine/installation/linux/repo_files/oracle/docker-ol7.repo + /docker-ee.repo ``` - **Oracle Linux 6**: - - ```bash - $ sudo yum-config-manager \ - --add-repo \ - https://docs.docker.com/engine/installation/linux/repo_files/oracle/docker-ol6.repo - ``` - -3. **Optional**: Enable the **testing** repository. This repository is included - in the `docker.repo` file above but is disabled by default. You can enable - it alongside the stable repository. **Do not use unstable repositories on - on production systems or for non-testing workloads.** - - > **Warning**: If you have both stable and unstable repositories enabled, - > installing or updating without specifying a version in the `yum install` - > or `yum update` command will always install the highest possible version, - > which will almost certainly be an unstable one. - - ```bash - $ sudo yum-config-manager --enablerepo docker-testing - ``` - - You can disable the `testing` repository by running the `yum-config-manager` - command with the `--disablerepo` flag. To re-enable it, use the - `--set-enabled` flag. The following command disables the `testing` - repository. - - ```bash - $ sudo yum-config-manager --disablerepo docker-testing - ``` - -#### Install Docker +#### Install Docker EE 1. Update the `yum` package index. @@ -131,35 +109,19 @@ Docker from the repository. $ sudo yum makecache fast ``` -2. Install the latest version of Docker, or go to the next step to install a + If this is the first time you have refreshed the package index since adding + the Docker repositories, you will be prompted to accept the GPG key, and + the key's fingerprint will be shown. Verify that the fingerprint matches + `77FE DA13 1A83 1D29 A418 D3E8 99E5 FF2E 7668 2BC9` and if so, accept the + key. + +2. Install the latest version of Docker EE, or go to the next step to install a specific version. ```bash - $ sudo yum -y install docker-engine + $ sudo yum -y install docker-ee ``` - If this is the first time you are installing a package from - the Docker repositories, the GPG key and fingerprint will be shown and - automatically accepted. - - If you do not want to automatically accept the GPG key, remove the `-y` - parameter so that yum prompts you to accept the GPG manually. - - Ensure the GPG details match the following: - - ```none - Retrieving key from https://yum.dockerproject.org/gpg - Importing GPG key 0x2C52609D: - Userid : "Docker Release Tool (releasedocker) " - Fingerprint: 5811 8e89 f3a9 1289 7c07 0adb f762 2157 2c52 609d - From : https://yum.dockerproject.org/gpg - ``` - - > **Warning**: If you have both stable and unstable repositories enabled, - > installing or updating Docker without specifying a version in the - > `yum install` or `yum upgrade` command will always install the highest - > available version, which will almost certainly be an unstable one. - 3. On production systems, you should install a specific version of Docker instead of always using the latest. List the available versions. This example uses the `sort -r` command to sort the results by version @@ -168,50 +130,31 @@ Docker from the repository. > **Note**: This `yum list` command only shows binary packages. To show > source packages as well, omit the `.x86_64` from the package name. - ```bash - $ yum list docker-engine.x86_64 --showduplicates |sort -nr + {% assign minor-version = "17.03" %} - docker-engine.x86_64 1.13.0-1.el6 docker-main - docker-engine.x86_64 1.12.3-1.el6 docker-main - docker-engine.x86_64 1.12.2-1.el6 docker-main - docker-engine.x86_64 1.12.1-1.el6 docker-main + ```bash + $ yum list docker-ee.x86_64 --showduplicates |sort -r + + docker-ee.x86_64 {{ minor-version }}.0.el7 docker-ee-stable ``` - The contents of the list depend upon which repositories you have enabled, - and will be specific to your version of Oracle Linux (indicated by the - `.el7` suffix on the version, in this example). Choose a specific version to - install. The second column is the version string. - + The contents of the list depend upon which repositories you have enabled. + Choose a specific version to install. The second column is the version string. The third column is the repository name, which indicates which repository the - package is from and by extension extension its stability level. Oracle ships - the `docker-engine` in its addon repository so you may also see that repository - in this column if you have it enabled. - - To install a specific version, append the version string to the package name - and separate them by a hyphen - (`-`): + package is from and by extension extension its stability level. To install a + specific version, append the version string to the package name and separate + them by a hyphen (`-`): ```bash - $ sudo yum -y install docker-engine- + $ sudo yum -y install docker-ee- ``` - The Docker daemon does not start automatically. - -4. Start the Docker daemon. Use `systemctl` on Oracle Linux 7 or `service` on - Oracle Linux 6. - - **Oracle Linux 7**: +4. Start the Docker daemon. ```bash $ sudo systemctl start docker ``` - **Oracle Linux 6**: - - ```bash - $ sudo service docker start - ``` - 5. Verify that `docker` is installed correctly by running the `hello-world` image. @@ -222,56 +165,42 @@ Docker from the repository. This command downloads a test image and runs it in a container. When the container runs, it prints an informational message and exits. -Docker is installed and running. You need to use `sudo` to run Docker commands. -Continue to [Linux postinstall](linux-postinstall.md) to allow non-privileged -users to run Docker commands and for other optional configuration steps. +Docker EE is installed and running. You need to use `sudo` to run Docker +commands. Continue to [Linux postinstall](linux-postinstall.md) to allow +non-privileged users to run Docker commands and for other optional configuration +steps. -#### Upgrade Docker +#### Upgrade Docker EE -To upgrade Docker, either run `sudo yum update docker-engine` to upgrade to the latest available -version or if you would prefer to upgrade to a specific version, first run -`sudo yum makecache fast`, then follow the [installation instructions](#install-docker), -choosing the new version you want to install. +To upgrade Docker EE, first run `sudo yum makecache fast`, then follow the +[installation instructions](#install-docker), choosing the new version you want +to install. ### Install from a package -If you cannot use Docker's repository to install Docker, you can download the -`.rpm` file for your release and install it manually. You will need to download -a new file each time you want to upgrade Docker. +If you cannot use the official Docker repository to install Docker, you can +download the `.rpm` file for your release and install it manually. You will +need to download a new file each time you want to upgrade Docker. -1. Go to [https://yum.dockerproject.org/repo/main/oraclelinux/](https://yum.dockerproject.org/repo/main/oraclelinux/) - and choose the subdirectory for your Oracle Linux version. Download the - `.rpm` file for the Docker version you want to install. +1. Go to the Docker EE repository URL associated with your + trial or subscription in your browser. Browse to + `7/x86_64/stable-{{ minor-version }}/Packages` and download the `.rpm` file + for the Docker version you want to install. - > **Note**: To install a testing version, change the word `main` in the - > URL to `testing`. Do not use unstable versions of Docker in production - > or for non-testing workloads. - -2. Install Docker, changing the path below to the path where you downloaded +2. Install Docker EE, changing the path below to the path where you downloaded the Docker package. ```bash $ sudo yum install /path/to/package.rpm ``` - The Docker daemon does not start automatically. - -4. Start the Docker daemon. Use `systemctl` on Oracle Linux 7 or `service` on - Oracle Linux 6. - - **Oracle Linux 7**: +3. Start the Docker daemon. ```bash $ sudo systemctl start docker ``` - **Oracle Linux 6**: - - ```bash - $ sudo service docker start - ``` - -5. Verify that `docker` is installed correctly by running the `hello-world` +4. Verify that Docker EE is installed correctly by running the `hello-world` image. ```bash @@ -281,23 +210,23 @@ a new file each time you want to upgrade Docker. This command downloads a test image and runs it in a container. When the container runs, it prints an informational message and exits. -Docker is installed and running. You need to use `sudo` to run Docker commands. -Continue to [Post-installation steps for Linux](linux-postinstall.md) to allow -non-privileged users to run Docker commands and for other optional configuration -steps. +Docker EE is installed and running. You need to use `sudo` to run Docker +commands. Continue to [Post-installation steps for Linux](linux-postinstall.md) +to allow non-privileged users to run Docker commands and for other optional +configuration steps. -#### Upgrade Docker +#### Upgrade Docker EE -To upgrade Docker, download the newer package file and repeat the +To upgrade Docker EE, download the newer package file and repeat the [installation procedure](#install-from-a-package), using `yum -y upgrade` instead of `yum -y install`, and pointing to the new file. -## Uninstall Docker +## Uninstall Docker EE -1. Uninstall the Docker package: +1. Uninstall the Docker EE package: ```bash - $ sudo yum remove docker-engine + $ sudo yum remove docker-ee ``` 2. Images, containers, volumes, or customized configuration files on your host diff --git a/engine/installation/linux/repo_files/centos/docker.repo b/engine/installation/linux/repo_files/centos/docker.repo deleted file mode 100644 index 524da3f53b..0000000000 --- a/engine/installation/linux/repo_files/centos/docker.repo +++ /dev/null @@ -1,27 +0,0 @@ -[docker-main] -name=Docker Repository -baseurl=https://yum.dockerproject.org/repo/main/centos/7/ -enabled=1 -gpgcheck=1 -gpgkey=https://yum.dockerproject.org/gpg - -[docker-testing] -name=Docker Repository -baseurl=https://yum.dockerproject.org/repo/testing/centos/$releasever/ -enabled=0 -gpgcheck=1 -gpgkey=https://yum.dockerproject.org/gpg - -[docker-beta] -name=Docker Repository -baseurl=https://yum.dockerproject.org/repo/beta/centos/7/ -enabled=0 -gpgcheck=1 -gpgkey=https://yum.dockerproject.org/gpg - -[docker-nightly] -name=Docker Repository -baseurl=https://yum.dockerproject.org/repo/nightly/centos/7/ -enabled=0 -gpgcheck=1 -gpgkey=https://yum.dockerproject.org/gpg diff --git a/engine/installation/linux/repo_files/fedora/docker.repo b/engine/installation/linux/repo_files/fedora/docker.repo deleted file mode 100644 index d2b8d3854c..0000000000 --- a/engine/installation/linux/repo_files/fedora/docker.repo +++ /dev/null @@ -1,27 +0,0 @@ -[docker-main] -name=Docker Repository -baseurl=https://yum.dockerproject.org/repo/main/fedora/$releasever/ -enabled=1 -gpgcheck=1 -gpgkey=https://yum.dockerproject.org/gpg - -[docker-testing] -name=Docker Repository -baseurl=https://yum.dockerproject.org/repo/testing/fedora/$releasever/ -enabled=0 -gpgcheck=1 -gpgkey=https://yum.dockerproject.org/gpg - -[docker-beta] -name=Docker Repository -baseurl=https://yum.dockerproject.org/repo/beta/fedora/$releasever/ -enabled=0 -gpgcheck=1 -gpgkey=https://yum.dockerproject.org/gpg - -[docker-nightly] -name=Docker Repository -baseurl=https://yum.dockerproject.org/repo/nightly/fedora/$releasever/ -enabled=0 -gpgcheck=1 -gpgkey=https://yum.dockerproject.org/gpg diff --git a/engine/installation/linux/repo_files/oracle/docker-ol6.repo b/engine/installation/linux/repo_files/oracle/docker-ol6.repo deleted file mode 100644 index e8b9b41852..0000000000 --- a/engine/installation/linux/repo_files/oracle/docker-ol6.repo +++ /dev/null @@ -1,27 +0,0 @@ -[docker-main] -name=Docker Repository -baseurl=https://yum.dockerproject.org/repo/main/oraclelinux/6/ -enabled=1 -gpgcheck=1 -gpgkey=https://yum.dockerproject.org/gpg - -[docker-testing] -name=Docker Repository -baseurl=https://yum.dockerproject.org/repo/testing/oraclelinux/6/ -enabled=0 -gpgcheck=1 -gpgkey=https://yum.dockerproject.org/gpg - -[docker-beta] -name=Docker Repository -baseurl=https://yum.dockerproject.org/repo/beta/oraclelinux/6/ -enabled=0 -gpgcheck=1 -gpgkey=https://yum.dockerproject.org/gpg - -[docker-nightly] -name=Docker Repository -baseurl=https://yum.dockerproject.org/repo/nightly/oraclelinux/6/ -enabled=0 -gpgcheck=1 -gpgkey=https://yum.dockerproject.org/gpg diff --git a/engine/installation/linux/repo_files/oracle/docker-ol7.repo b/engine/installation/linux/repo_files/oracle/docker-ol7.repo deleted file mode 100644 index f85fe7565f..0000000000 --- a/engine/installation/linux/repo_files/oracle/docker-ol7.repo +++ /dev/null @@ -1,27 +0,0 @@ -[docker-main] -name=Docker Repository -baseurl=https://yum.dockerproject.org/repo/main/oraclelinux/7/ -enabled=1 -gpgcheck=1 -gpgkey=https://yum.dockerproject.org/gpg - -[docker-testing] -name=Docker Repository -baseurl=https://yum.dockerproject.org/repo/testing/oraclelinux/7/ -enabled=0 -gpgcheck=1 -gpgkey=https://yum.dockerproject.org/gpg - -[docker-beta] -name=Docker Repository -baseurl=https://yum.dockerproject.org/repo/beta/oraclelinux/7/ -enabled=0 -gpgcheck=1 -gpgkey=https://yum.dockerproject.org/gpg - -[docker-nightly] -name=Docker Repository -baseurl=https://yum.dockerproject.org/repo/nightly/oraclelinux/7/ -enabled=0 -gpgcheck=1 -gpgkey=https://yum.dockerproject.org/gpg diff --git a/engine/installation/linux/rhel.md b/engine/installation/linux/rhel.md index da79fca559..b069ea1939 100644 --- a/engine/installation/linux/rhel.md +++ b/engine/installation/linux/rhel.md @@ -13,31 +13,48 @@ To get started with Docker on Red Hat Enterprise Linux (RHEL), make sure you ## Prerequisites +### Docker EE repository URL + +To install Docker Enterprise Edition (Docker EE), you need to know the Docker EE +repository URL associated with your trial or subscription. To get this information: + +- Go to [https://store.docker.com/?overlay=subscriptions](https://store.docker.com/?overlay=subscriptions). +- Choose **Get Details** / **Setup Instructions** within the + **Docker Enterprise Edition for Red Hat Enterprise Linux** section. +- Copy the URL from the field labeled + **Copy and paste this URL to download your Edition**. + +Use this URL when you see the placeholder text ``. + +To learn more about Docker EE, see +[Docker Enterprise Edition](https://www.docker.com/enterprise-edition/){: target="_blank" class="_" }. + +Docker Community Edition (Docker CE) is not supported on Red Hat Enterprise +Linux. + ### OS requirements To install Docker, you need the 64-bit version of RHEL 7. -### Remove unofficial Docker packages +### Uninstall old versions -Red Hat's operating system repositories contain an older version of Docker, with -the package name `docker` instead of `docker-engine`. If you installed this -version of Docker, remove it using the following command: +Older versions of Docker were called `docker` or `docker-engine`. If these are +installed, uninstall them, along with associated dependencies. ```bash -$ sudo yum -y remove docker docker-common container-selinux +$ sudo yum remove docker \ + docker-common \ + container-selinux \ + docker-selinux \ + docker-engine ``` -You may also have to remove the package `docker-selinux` which conflicts with -the official `docker-engine` package. Remove it with the following command: +It's OK if `yum` reports that none of these packages are installed. -```bash -$ sudo yum -y remove docker-selinux -``` +The contents of `/var/lib/docker/`, including images, containers, volumes, and +networks, are preserved. The Docker EE package is now called `docker-ee`. -The contents of `/var/lib/docker` are not removed, so any images, containers, -or volumes you created using the older version of Docker are preserved. - -## Install Docker +## Install Docker EE You can install Docker in different ways, depending on your needs: @@ -47,58 +64,55 @@ You can install Docker in different ways, depending on your needs: recommended approach. - Some users download the RPM package and install it manually and manage - upgrades completely manually. - -- Some users cannot use third-party repositories, and must rely on - the version of Docker in the Red Hat repositories. This version of Docker may - be out of date. Those users should consult the Red Hat documentation and not - follow these procedures. + upgrades completely manually. This is useful in situations such as installing + Docker on air-gapped systems with no access to the internet. ### Install using the repository Before you install Docker for the first time on a new host machine, you need to -set up the Docker repository. Afterward, you can install, update, or downgrade -Docker from the repository. +set up the Docker repository. Afterward, you can install and update Docker from +the repository. #### Set up the repository -1. Install `yum-utils`, which provides the `yum-config-manager` utility: +1. Remove any existing Docker repositories from `/etc/yum.repos.d/`. + +2. Store two `yum` variables in `/etc/yum/vars/`. + + - Store your EE repository URL in `/etc/yum/vars/dockerurl`. Replace + `` with the URL you noted down in the + [prerequisites](#prerequisites). + + ```bash + $ sudo sh -c 'echo "" > /etc/yum/vars/dockerurl' + ``` + + - Store your RHEL version string in `/etc/yum/vars/dockerosversion`. + Use the appropriate value from the following table. Most users should use + `7`. + + | Version string | Description | + |----------------|-------------| + | `7` | Unless you have specific requirements, you should use this version. Dependencies are not locked to specific versions but use the latest available version. | + | `7.3` | Dependencies are locked to specific packages for RHEL 7.3. | + | `7.2` | Dependencies are locked to specific packages for RHEL 7.2. | + + ```bash + $ sudo sh -c 'echo "" > /etc/yum/vars/dockerosversion' + ``` + +3. Install `yum-utils`, which provides the `yum-config-manager` utility: ```bash $ sudo yum install -y yum-utils ``` -2. Use the following command to set up the **stable** repository: +4. Use the following command to add the **stable** repository: ```bash $ sudo yum-config-manager \ --add-repo \ - https://docs.docker.com/engine/installation/linux/repo_files/centos/docker.repo - ``` - - > **Note**: The link above is correct for RHEL as well as CentOS. - -3. **Optional**: Enable the **testing** repository. This repository is included - in the `docker.repo` file above but is disabled by default. You can enable - it alongside the stable repository. **Do not use unstable repositories on - on production systems or for non-testing workloads.** - - > **Warning**: If you have both stable and unstable repositories enabled, - > updating without specifying a version in the `yum install` or `yum update` - > command will always install the highest possible version, which will - > almost certainly be an unstable one. - - ```bash - $ sudo yum-config-manager --set-enabled docker-testing - ``` - - You can disable the `testing` repository by running the `yum-config-manager` - command with the `--set-disabled` flag. To re-enable it, use the - `--set-enabled` flag. The following command disables the `testing` - repository. - - ```bash - $ sudo yum-config-manager --set-disabled docker-testing + /docker-ee.repo ``` #### Install Docker @@ -112,20 +126,16 @@ Docker from the repository. If this is the first time you have refreshed the package index since adding the Docker repositories, you will be prompted to accept the GPG key, and the key's fingerprint will be shown. Verify that the fingerprint matches - `58118E89F3A912897C070ADBF76221572C52609D` and if so, accept the key. + `DD91 1E99 5A64 A202 E859 07D6 BC14 F10B 6D08 5F96` and if so, accept the + key. -2. Install the latest version of Docker, or go to the next step to install a +2. Install the latest version of Docker EE, or go to the next step to install a specific version. ```bash - $ sudo yum -y install docker-engine + $ sudo yum -y install docker-ee ``` - > **Warning**: If you have both stable and unstable repositories enabled, - > installing or updating without specifying a version in the `yum install` - > or `yum update` command will always install the highest possible version, - > which will almost certainly be an unstable one. - 3. On production systems, you should install a specific version of Docker instead of always using the latest. List the available versions. This example uses the `sort -r` command to sort the results by version @@ -134,13 +144,12 @@ Docker from the repository. > **Note**: This `yum list` command only shows binary packages. To show > source packages as well, omit the `.x86_64` from the package name. - ```bash - $ yum list docker-engine.x86_64 --showduplicates |sort -r + {% assign minor-version = "17.03" %} - docker-engine.x86_64 1.13.0-1.el7 docker-main - docker-engine.x86_64 1.12.5-1.el7 docker-main - docker-engine.x86_64 1.12.4-1.el7 docker-main - docker-engine.x86_64 1.12.3-1.el7 docker-main + ```bash + $ yum list docker-ee.x86_64 --showduplicates |sort -r + + docker-ee.x86_64 {{ minor-version }}.0.el7 docker-ee-stable ``` The contents of the list depend upon which repositories you have enabled, @@ -152,7 +161,7 @@ Docker from the repository. version string to the package name and separate them by a hyphen (`-`): ```bash - $ sudo yum -y install docker-engine- + $ sudo yum -y install docker-ee- ``` 4. Start Docker. @@ -161,7 +170,7 @@ Docker from the repository. $ sudo systemctl start docker ``` -5. Verify that `docker` is installed correctly by running the `hello-world` +5. Verify that Docker EE is installed correctly by running the `hello-world` image. ```bash @@ -171,13 +180,14 @@ Docker from the repository. This command downloads a test image and runs it in a container. When the container runs, it prints an informational message and exits. -Docker is installed and running. You need to use `sudo` to run Docker commands. -Continue to [Linux postinstall](linux-postinstall.md) to allow non-privileged -users to run Docker commands and for other optional configuration steps. +Docker EE is installed and running. You need to use `sudo` to run Docker +commands. Continue to [Linux postinstall](linux-postinstall.md) to allow +non-privileged users to run Docker commands and for other optional configuration +steps. -#### Upgrade Docker +#### Upgrade Docker EE -To upgrade Docker, first run `sudo yum makecache fast`, then follow the +To upgrade Docker EE, first run `sudo yum makecache fast`, then follow the [installation instructions](#install-docker), choosing the new version you want to install. @@ -187,16 +197,16 @@ If you cannot use the official Docker repository to install Docker, you can download the `.rpm` file for your release and install it manually. You will need to download a new file each time you want to upgrade Docker. -1. Go to [https://yum.dockerproject.org/repo/main/centos/](https://yum.dockerproject.org/repo/main/centos/) - and choose the subdirectory for your RHEL version. The above URL is correct - for RHEL as well as CentOS. Download the `.rpm` file for the Docker version - you want to install. +1. Go to the Docker EE repository URL associated with your + trial or subscription in your browser. Go to + `7/x86_64/stable-{{ minor-version }}/Packages` and download the `.rpm` file + for the Docker version you want to install. - > **Note**: To install a testing version, change the word `main` in the - > URL to `testing`. Do not use unstable versions of Docker in production - > or for non-testing workloads. + > **Note**: If you have trouble with `selinux` using the packages under the + > `7` directory, try choosing the version-specific directory instead, such + > as `7.3`. -2. Install Docker, changing the path below to the path where you downloaded +2. Install Docker EE, changing the path below to the path where you downloaded the Docker package. ```bash @@ -219,24 +229,24 @@ need to download a new file each time you want to upgrade Docker. This command downloads a test image and runs it in a container. When the container runs, it prints an informational message and exits. -Docker is installed and running. You need to use `sudo` to run Docker commands. -Continue to [Post-installation steps for Linux](linux-postinstall.md) to allow -non-privileged users to run Docker commands and for other optional configuration -steps. +Docker EE is installed and running. You need to use `sudo` to run Docker +commands. Continue to [Post-installation steps for Linux](linux-postinstall.md) +to allow non-privileged users to run Docker commands and for other optional +configuration steps. -#### Upgrade Docker +#### Upgrade Docker EE -To upgrade Docker, download the newer package file and repeat the +To upgrade Docker EE, download the newer package file and repeat the [installation procedure](#install-from-a-package), using `yum -y upgrade` instead of `yum -y install`, and pointing to the new file. -## Uninstall Docker +## Uninstall Docker EE -1. Uninstall the Docker package: +1. Uninstall the Docker EE package: ```bash - $ sudo yum -y remove docker-engine + $ sudo yum -y remove docker-ee ``` 2. Images, containers, volumes, or customized configuration files on your host diff --git a/engine/installation/linux/suse.md b/engine/installation/linux/suse.md index 1c0fd4d0ef..22d3214060 100644 --- a/engine/installation/linux/suse.md +++ b/engine/installation/linux/suse.md @@ -4,35 +4,57 @@ keywords: Docker, Docker documentation, requirements, apt, installation, suse, o redirect_from: - /engine/installation/SUSE/ - /engine/installation/linux/SUSE/ -title: Get Docker for OpenSUSE and SLES +title: Get Docker for and SLES --- -To get started with Docker on OpenSUSE or SLES, make sure you +To get started with Docker on SUSE Linux Enterprise Server (SLES), make sure you [meet the prerequisites](#prerequisites), then [install Docker](#install-docker). ## Prerequisites +### Docker EE URL + +To install Docker Enterprise Edition (Docker EE), you need to know the Docker EE +repository URL associated with your trial or subscription. To get this information: + +- Go to [https://store.docker.com/?overlay=subscriptions](https://store.docker.com/?overlay=subscriptions). +- Choose **Get Details** / **Setup Instructions** within the + **Docker Enterprise Edition for SUSE Linux Enterprise Server** section. +- Copy the URL from the field labeled + **Copy and paste this URL to download your Edition**. + +Use this URL when you see the placeholder text ``. + +To learn more about Docker EE, see +[Docker Enterprise Edition](https://www.docker.com/enterprise-edition/){: target="_blank" class="_" }. + +Docker Community Edition (Docker CE) is not supported on SLES. + ### OS requirements -To install Docker, you need the 64-bit version one of the following: +To install Docker, you need the 64-bit version of SLES 12.x. -- OpenSuSE Leap 42.x -- SLES 12.x +### Uninstall old versions -### Remove unofficial Docker packages - -OpenSUSE's operating system repositories contain an older version of Docker, -with the package name `docker` instead of `docker-engine`. If you installed this -version of Docker on OpenSUSE or on SLES by using the OpenSUSE repositories, -remove it using the following command: +Older versions of Docker were called `docker` or `docker-engine`. If these are +installed, uninstall them, along with associated dependencies. ```bash -$ sudo zypper rm docker +$ sudo zypper rm docker docker-engine ``` -The contents of `/var/lib/docker` are not removed, so any images, containers, -or volumes you created using the older version of Docker are preserved. +If removal of the `docker-engine` package fails, use the following command +instead: + +```bash +$ sudo rpm -e docker-engine +``` + +It's OK if `zypper` reports that none of these packages are installed. + +The contents of `/var/lib/docker/`, including images, containers, volumes, and +networks, are preserved. The Docker EE package is now called `docker-ee`. ## Install Docker @@ -44,53 +66,29 @@ You can install Docker in different ways, depending on your needs: recommended approach. - Some users download the RPM package and install it manually and manage - upgrades completely manually. - -- Some users cannot use third-party repositories, and must rely on the version - of Docker in the OpenSUSE or SLES repositories. This version of Docker may be - out of date. Those users should consult the OpenSuSE or SLES documentation and - not follow these procedures. + upgrades completely manually. This is useful in situations such as installing + Docker on air-gapped systems with no access to the internet. ### Install using the repository Before you install Docker for the first time on a new host machine, you need to -set up the Docker repository. Afterward, you can install, update, or downgrade -Docker from the repository. +set up the Docker repository. Afterward, you can install and update Docker from +the repository. #### Set up the repository -1. Use the following command to set up the **stable** repository: +Use the following command to set up the **stable** repository, using the +Docker EE repository URL you located in the [prerequisites](#prerequisites). - ```bash - $ sudo zypper addrepo \ - https://yum.dockerproject.org/repo/main/opensuse/13.2/ \ - docker-main - ``` +{% assign minor-version = "17.03" %} -2. **Optional**: Enable the **testing** repository. You can enable it alongside - the stable repository. **Do not use unstable repositories on on production - systems or for non-testing workloads.** +```bash +$ sudo zypper addrepo \ + /stable-{{ minor-version }} \ + docker-ee-stable +``` - > **Warning**: If you have both stable and unstable repositories enabled, - > updating without specifying a version in the `zypper install` or - > `zypper update` command will always install the highest possible version, - > which will almost certainly be an unstable one. - - - ```bash - $ sudo zypper addrepo \ - https://yum.dockerproject.org/repo/testing/opensuse/13.2/ \ - docker-testing - ``` - - You can disable a repository at any time by running the `zypper rmrepo` - command. The following command disables the `testing` repository. - - ```bash - $ sudo zypper removerepo docker-testing - ``` - -#### Install Docker +#### Install Docker EE 1. Update the `zypper` package index. @@ -101,27 +99,14 @@ Docker from the repository. If this is the first time you have refreshed the package index since adding the Docker repositories, you will be prompted to accept the GPG key, and the key's fingerprint will be shown. Verify that the fingerprint matches - `58118E89F3A912897C070ADBF76221572C52609D` and if so, accept the key. + `77FE DA13 1A83 1D29 A418 D3E8 99E5 FF2E 7668 2BC9` and if so, accept the + key. -2. Install the latest version of Docker, or go to the next step to install a +2. Install the latest version of Docker EE, or go to the next step to install a specific version. ```bash - $ sudo zypper install docker-engine - ``` - - > **Warning**: If you have both stable and unstable repositories enabled, - > installing or updating Docker without specifying a version in the - > `zypper install` or `zypper update` command will always install the highest - > available version, which will almost certainly be an unstable one. - - The RPM will install, but you will receive the following error during the - post-installation procedure, because Docker cannot start the service - automatically: - - ```none - Additional rpm output: - /var/tmp/rpm-tmp.YGySzA: line 1: fg: no job control + $ sudo zypper install docker-ee ``` Start Docker: @@ -136,36 +121,25 @@ Docker from the repository. source packages, omit the `-t package` flag from the command. ```bash - $ zypper search -s --match-exact -t package docker-engine + $ zypper search -s --match-exact -t package docker-ee Loading repository data... Reading installed packages... S | Name | Type | Version | Arch | Repository --+---------------+---------+---------------------------------------+--------+--------------- - | docker-engine | package | 1.13.0-1 | x86_64 | docker-main - | docker-engine | package | 1.12.6-1 | x86_64 | docker-main - | docker-engine | package | 1.12.5-1 | x86_64 | docker-main + | docker-ee | package | {{ minor-version }}-1 | x86_64 | docker-ee-stable ``` The contents of the list depend upon which repositories you have enabled. - Choose a specific version to - install. The third column is the version string. The fifth column is the - repository name, which indicates which repository the package is from and by - extension its stability level. To install a specific version, append the - version string to the package name and separate them by a hyphen (`-`): + Choose a specific version to install. The third column is the version + string. The fifth column is the repository name, which indicates which + repository the package is from and by extension its stability level. To + install a specific version, append the version string to the package name + and separate them by a hyphen (`-`): ```bash - $ sudo zypper install docker-engine- - ``` - - The RPM will install, but you will receive the following error during the - post-installation procedure, because Docker cannot start the service - automatically: - - ```none - Additional rpm output: - /var/tmp/rpm-tmp.YGySzA: line 1: fg: no job control + $ sudo zypper install docker-ee- ``` Start Docker: @@ -174,7 +148,7 @@ Docker from the repository. $ sudo service docker start ``` -4. Verify that `docker` is installed correctly by running the `hello-world` +4. Verify that Docker EE is installed correctly by running the `hello-world` image. ```bash @@ -184,43 +158,39 @@ Docker from the repository. This command downloads a test image and runs it in a container. When the container runs, it prints an informational message and exits. -Docker is installed and running. You need to use `sudo` to run Docker commands. -Continue to [Linux postinstall](linux-postinstall.md) to allow non-privileged -users to run Docker commands and for other optional configuration steps. +Docker EE is installed and running. You need to use `sudo` to run Docker +commands. Continue to [Linux postinstall](linux-postinstall.md) to allow +non-privileged users to run Docker commands and for other optional configuration +steps. -#### Upgrade Docker +#### Upgrade Docker EE -To upgrade Docker, first run `sudo zypper refresh`, then follow the +To upgrade Docker EE, first run `sudo zypper refresh`, then follow the [installation instructions](#install-docker), choosing the new version you want to install. ### Install from a package -If you cannot use Docker's repository to install Docker, you can download the -`.rpm` file for your release and install it manually. You will need to download -a new file each time you want to upgrade Docker. +If you cannot use the official Docker repository to install Docker, you can +download the `.rpm` file for your release and install it manually. You will +need to download a new file each time you want to upgrade Docker. -1. Go to [https://yum.dockerproject.org/repo/main/opensuse/13.2/Packages/](https://yum.dockerproject.org/repo/main/opensuse/13.2/Packages/) - and download the `.rpm` file for the Docker version you want to install. +1. Go to the Docker EE repository URL associated with your + trial or subscription in your browser. Go to + `x86_64/stable-{{ minor-version }}` and download the `.rpm` file for the + Docker version you want to install. - > **Note**: To install a testing version, change the word `main` in the - > URL to `testing`. Do not use unstable versions of Docker in production - > or for non-testing workloads. +2. Import Docker's official GPG key: -2. Install Docker, changing the path below to the path where you downloaded + ```bash + $ sudo rpm --import /gpg + ``` + +3. Install Docker EE, changing the path below to the path where you downloaded the Docker package. ```bash - $ sudo yum -y install /path/to/package.rpm - ``` - - The RPM will install, but you will receive the following error during the - post-installation procedure, because Docker cannot start the service - automatically: - - ```none - Additional rpm output: - /var/tmp/rpm-tmp.YGySzA: line 1: fg: no job control + $ sudo zypper install /path/to/package.rpm ``` Start Docker: @@ -229,7 +199,7 @@ a new file each time you want to upgrade Docker. $ sudo service docker start ``` -3. Verify that `docker` is installed correctly by running the `hello-world` +4. Verify that Docker EE is installed correctly by running the `hello-world` image. ```bash @@ -239,24 +209,23 @@ a new file each time you want to upgrade Docker. This command downloads a test image and runs it in a container. When the container runs, it prints an informational message and exits. -Docker is installed and running. You need to use `sudo` to run Docker commands. -Continue to [Post-installation steps for Linux](linux-postinstall.md) to allow -non-privileged users to run Docker commands and for other optional configuration -steps. +Docker EE is installed and running. You need to use `sudo` to run Docker +commands. Continue to [Post-installation steps for Linux](linux-postinstall.md) +to allow non-privileged users to run Docker commands and for other optional +configuration steps. -#### Upgrade Docker +#### Upgrade Docker EE -To upgrade Docker, download the newer package file and repeat the +To upgrade Docker EE, download the newer package file and repeat the [installation procedure](#install-from-a-package), using `zypper update` instead of `zypper install`, and pointing to the new file. ## Uninstall Docker -1. Uninstallation using `zypper rm` fails. Uninstall the Docker package using - the following command: +1. Uninstall the Docker EE package using the following command. ```bash - $ sudo rpm -e --noscripts docker-engine + $ sudo zypper rm docker-ee ``` 2. Images, containers, volumes, or customized configuration files on your host diff --git a/engine/installation/linux/ubuntu.md b/engine/installation/linux/ubuntu.md index 8593187401..eaccc5a636 100644 --- a/engine/installation/linux/ubuntu.md +++ b/engine/installation/linux/ubuntu.md @@ -14,6 +14,23 @@ To get started with Docker on Ubuntu, make sure you ## Prerequisites +### Docker EE customers + +To install Docker Enterprise Edition (Docker EE), you need to know the Docker EE +repository URL associated with your trial or subscription. To get this information: + +- Go to [https://store.docker.com/?overlay=subscriptions](https://store.docker.com/?overlay=subscriptions). +- Choose **Get Details** / **Setup Instructions** within the + **Docker Enterprise Edition for Ubuntu** section. +- Copy the URL from the field labeled + **Copy and paste this URL to download your Edition**. + +Where the installation instructions differ for Docker EE and Docker CE, use this +URL when you see the placeholder text ``. + +To learn more about Docker EE, see +[Docker Enterprise Edition](https://www.docker.com/enterprise-edition/){: target="_blank" class="_" }. + ### OS requirements To install Docker, you need the 64-bit version of one of these Ubuntu versions: @@ -22,6 +39,21 @@ To install Docker, you need the 64-bit version of one of these Ubuntu versions: - Xenial 16.04 (LTS) - Trusty 14.04 (LTS) +### Uninstall old versions + +Older versions of Docker were called `docker` or `docker-engine`. If these are +installed, uninstall them: + +```bash +$ sudo apt-get remove docker docker-engine +``` + +It's OK if `apt-get` reports that none of these packages are installed. + +The contents of `/var/lib/docker/`, including images, containers, volumes, and +networks, are preserved. The Docker CE package is now called `docker-ce`, and +the Docker EE package is now called `docker-ee`. + ### Recommended extra packages for Trusty 14.04 Unless you have a strong reason not to, install the @@ -31,7 +63,7 @@ drivers. ```bash $ sudo apt-get update -$ sudo apt-get install -y --no-install-recommends \ +$ sudo apt-get install \ linux-image-extra-$(uname -r) \ linux-image-extra-virtual ``` @@ -46,25 +78,28 @@ You can install Docker in different ways, depending on your needs: recommended approach. - Some users download the DEB package and install it manually and manage - upgrades completely manually. - -- Some users cannot use the official Docker repositories, and must rely on - the version of Docker that comes with their operating system. This version of - Docker may be out of date. Those users should consult their operating system - documentation and not follow these procedures. + upgrades completely manually. This is useful in situations such as installing + Docker on air-gapped systems with no access to the internet. ### Install using the repository Before you install Docker for the first time on a new host machine, you need to -set up the Docker repository. Afterward, you can install, update, or downgrade -Docker from the repository. +set up the Docker repository. Afterward, you can install and update Docker from +the repository. #### Set up the repository +The procedure for setting up the repository is different for [Docker CE](#docker-ce) and +[Docker EE](#docker-ee). + +##### Docker CE + +{% assign download-url-base = "https://download.docker.com/linux/ubuntu" %} + 1. Install packages to allow `apt` to use a repository over HTTPS: ```bash - $ sudo apt-get install -y --no-install-recommends \ + $ sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ @@ -73,40 +108,91 @@ Docker from the repository. 2. Add Docker's official GPG key: - ```bash - $ curl -fsSL https://apt.dockerproject.org/gpg | sudo apt-key add - - ``` - - Verify that the key ID is `58118E89F3A912897C070ADBF76221572C52609D`. ```bash - $ apt-key fingerprint 58118E89F3A912897C070ADBF76221572C52609D - - pub 4096R/2C52609D 2015-07-14 - Key fingerprint = 5811 8E89 F3A9 1289 7C07 0ADB F762 2157 2C52 609D - uid Docker Release Tool (releasedocker) + $ curl -fsSL {{ download-url-base}}/gpg | sudo apt-key add - ``` + Verify that the key fingerprint is `9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88`. + + ```bash + $ sudo apt-key fingerprint 0EBFCD88 + + pub 4096R/0EBFCD88 2017-02-22 + Key fingerprint = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 + uid Docker Release (CE deb) + sub 4096R/F273FCD8 2017-02-22 + ``` + + 3. Use the following command to set up the **stable** repository. > **Note**: The `lsb_release -cs` sub-command below returns the name of your > Ubuntu distribution, such as `xenial`. + > + > Sometimes, in a distribution like Linux Mint, you might have to change + > `$(lsb_release -cs)` to your parent Ubuntu distribution. For + > example: If you are using `Linux Mint Rafaela`, you could use + > `trusty`. + To add the **edge** repository, add `edge` after `stable` on the last line of + the command. For information about **stable** and **edge** builds, see + [Docker variants](/engine/installation/#docker-variants). + ```bash $ sudo add-apt-repository \ - "deb https://apt.dockerproject.org/repo/ \ - ubuntu-$(lsb_release -cs) \ - main" + "deb [arch=amd64] {{ download-url-base }} \ + $(lsb_release -cs) \ + stable" ``` - To enable the `testing` repository, you can edit `/etc/apt/sources.list` - and add the word `testing` after `main` on the appropriate line of the file. - **Do not use unstable repositories on production systems or for non-testing workloads.** + [Learn about **stable** and **edge** builds](/engine/installation/). - > **Note**: Sometimes, in a distribution like Linux Mint, you might have - > to change `ubuntu-$(lsb_release -cs)` to your parent Ubuntu distribution. - > example: If you are using `Linux Mint Rafaela`, you could type in `ubuntu-trusty` +##### Docker EE + +1. Install packages to allow `apt` to use a repository over HTTPS: + + ```bash + $ sudo apt-get install \ + apt-transport-https \ + ca-certificates \ + curl \ + software-properties-common + ``` + +2. Add Docker's official GPG key using your customer Docker EE repository URL: + + ```bash + $ curl -fsSL /gpg | sudo apt-key add - + ``` + + Verify that the key fingerprint is `DD91 1E99 5A64 A202 E859 07D6 BC14 F10B 6D08 5F96`. + + ```bash + $ apt-key fingerprint 0EBFCD88 + + pub 4096R/6D085F96 2017-02-22 + Key fingerprint = DD91 1E99 5A64 A202 E859 07D6 BC14 F10B 6D08 5F96 + uid [ultimate] Docker Release (EE deb) + sub 4096R/91A29FA3 2017-02-22 + ``` + + +3. Use the following command to set up the **stable** repository, replacing + `` with the URL you noted down in the + [prerequisites](#prerequisites). + + > **Note**: The `lsb_release -cs` sub-command below returns the name of your + > Ubuntu distribution, such as `xenial`. + > + + ```bash + $ sudo add-apt-repository \ + "deb [arch=amd64] <-DOCKER-EE-URL> \ + $(lsb_release -cs) \ + stable-{{ minor-version }}" + ``` #### Install Docker @@ -121,26 +207,28 @@ Docker from the repository. Use this command to install the latest version of Docker: - ```bash - $ sudo apt-get -y install docker-engine - ``` + | Docker Edition | Command | + |----------------|-------------------------------------| + | Docker CE | `sudo apt-get install docker-ce` | + | Docker EE | `sudo apt-get install docker-ee` | - > **Warning**: If you have both stable and unstable repositories enabled, - > installing or updating without specifying a version in the - > `apt-get install` or `apt-get update` command will always install the - > highest possible version, which will almost certainly be an unstable one. + + > **Warning**: If you have multiple Docker repositories enabled, installing + > or updating without specifying a version in the `apt-get install` or + > `apt-get update` command will always install the highest possible version, + > which may not be appropriate for your stability needs. 3. On production systems, you should install a specific version of Docker instead of always using the latest. This output is truncated. List the - available versions. + available versions. For Docker EE customers, use `docker-ee` where you see + `docker-ce`. + + {% assign minor-version = "17.03" %} ```bash - $ apt-cache madison docker-engine + $ apt-cache madison docker-ce - docker-engine | 1.13.0-0~ubuntu-xenial | https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 Packages - docker-engine | 1.12.6-0~ubuntu-xenial | https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 Packages - docker-engine | 1.12.5-0~ubuntu-xenial | https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 Packages - docker-engine | 1.12.4-0~ubuntu-xenial | https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 Packages + docker-ce | {{ minor-version }}.0~ce-0~ubuntu-xenial | {{ download-url-base}} xenial/stable amd64 Packages ``` The contents of the list depend upon which repositories are enabled, @@ -151,14 +239,15 @@ Docker from the repository. by extension its stability level. To install a specific version, append the version string to the package name and separate them by an equals sign (`=`): - ```bash - $ sudo apt-get -y install docker-engine= - ``` + | Docker Edition | Command | + |----------------|-----------------------------------------------| + | Docker CE | `sudo apt-get install docker-ce=` | + | Docker EE | `sudo apt-get install docker-ee=` | The Docker daemon starts automatically. -4. Verify that `docker` is installed correctly by running the `hello-world` - image. +4. Verify that Docker CE or Docker EE is installed correctly by running the + `hello-world` image. ```bash $ sudo docker run hello-world @@ -184,13 +273,21 @@ If you cannot use Docker's repository to install Docker, you can download the `.deb` file for your release and install it manually. You will need to download a new file each time you want to upgrade Docker. -1. Go to [https://apt.dockerproject.org/repo/pool/main/d/docker-engine/](https://apt.dockerproject.org/repo/pool/main/d/docker-engine/) - and download the `.deb` file for the Docker version you want to install and - for your version of Ubuntu. +1. This step is different for Docker CE and Docker EE. - > **Note**: To install a testing version, change the word `main` in the - > URL to `testing`. Do not use unstable versions of Docker in production - > or for non-testing workloads. + - **Docker CE**: Go to + [{{ download-url-base }}/pool/stable-{{ minor-version }}/amd64/]({{ download-url-base }}/pool/stable-{{ minor-version }}/amd64/) + and download the `.deb` file for the Docker version you want to install and + for your version of Ubuntu. + + > **Note**: To install an **edge** package, change the word + > `stable` in the > URL to `edge`. For information about **stable** and + > **edge** builds, see + > [Docker variants](/engine/installation/#docker-variants). + + - **Docker EE**: Go to the Docker EE repository URL associated with your + trial or subscription in your browser. Go to `x86_64/stable` and download + the `.rpm` file for the Docker version you want to install. 2. Install Docker, changing the path below to the path where you downloaded the Docker package. @@ -201,8 +298,8 @@ a new file each time you want to upgrade Docker. The Docker daemon starts automatically. -3. Verify that `docker` is installed correctly by running the `hello-world` - image. +3. Verify that Docker CE or Docker EE is installed correctly by running the + `hello-world` image. ```bash $ sudo docker run hello-world @@ -225,9 +322,10 @@ To upgrade Docker, download the newer package file and repeat the 1. Uninstall the Docker package: - ```bash - $ sudo apt-get purge docker-engine - ``` + | Docker Edition | Command | + |----------------|--------------------------------| + | Docker CE | `sudo apt-get purge docker-ce` | + | Docker EE | `sudo apt-get purge docker-ee` | 2. Images, containers, volumes, or customized configuration files on your host are not automatically removed. To delete all images, containers, and diff --git a/engine/reference/commandline/image_pull.md b/engine/reference/commandline/image_pull.md index 3a2cad8f4b..4ecd9d5f01 100644 --- a/engine/reference/commandline/image_pull.md +++ b/engine/reference/commandline/image_pull.md @@ -13,3 +13,4 @@ https://www.github.com/docker/docker --> {% include cli.md %} + diff --git a/engine/security/apparmor.md b/engine/security/apparmor.md index 202a7702ca..d5bdb8dd2d 100644 --- a/engine/security/apparmor.md +++ b/engine/security/apparmor.md @@ -155,48 +155,48 @@ profile docker-nginx flags=(attach_disconnected,mediate_deleted) { 1. Save the custom profile to disk in the `/etc/apparmor.d/containers/docker-nginx` file. - The file path in this example is not a requirement. In production, you could - use another. + The file path in this example is not a requirement. In production, you could + use another. 2. Load the profile. - ```bash - $ sudo apparmor_parser -r -W /etc/apparmor.d/containers/docker-nginx - ``` + ```bash + $ sudo apparmor_parser -r -W /etc/apparmor.d/containers/docker-nginx + ``` 3. Run a container with the profile. - To run nginx in detached mode: + To run nginx in detached mode: - ```bash - $ docker run --security-opt "apparmor=docker-nginx" \ + ```bash + $ docker run --security-opt "apparmor=docker-nginx" \ -p 80:80 -d --name apparmor-nginx nginx - ``` + ``` -4. Exec into the running container +4. Exec into the running container. - ```bash - $ docker exec -it apparmor-nginx bash - ``` + ```bash + $ docker exec -it apparmor-nginx bash + ``` 5. Try some operations to test the profile. - ```bash - root@6da5a2a930b9:~# ping 8.8.8.8 - ping: Lacking privilege for raw socket. + ```bash + root@6da5a2a930b9:~# ping 8.8.8.8 + ping: Lacking privilege for raw socket. - root@6da5a2a930b9:/# top - bash: /usr/bin/top: Permission denied + root@6da5a2a930b9:/# top + bash: /usr/bin/top: Permission denied - root@6da5a2a930b9:~# touch ~/thing - touch: cannot touch 'thing': Permission denied + root@6da5a2a930b9:~# touch ~/thing + touch: cannot touch 'thing': Permission denied - root@6da5a2a930b9:/# sh - bash: /bin/sh: Permission denied + root@6da5a2a930b9:/# sh + bash: /bin/sh: Permission denied - root@6da5a2a930b9:/# dash - bash: /bin/dash: Permission denied - ``` + root@6da5a2a930b9:/# dash + bash: /bin/dash: Permission denied + ``` Congrats! You just deployed a container secured with a custom apparmor profile! diff --git a/engine/security/trust/content_trust.md b/engine/security/trust/content_trust.md index 0118af0db1..2faac5dc91 100644 --- a/engine/security/trust/content_trust.md +++ b/engine/security/trust/content_trust.md @@ -19,8 +19,8 @@ ability to use digital signatures for data sent to and received from remote Docker registries. These signatures allow client-side verification of the integrity and publisher of specific image tags. -Currently, content trust is disabled by default. You must enable it by setting -the `DOCKER_CONTENT_TRUST` environment variable. Refer to the +Currently, content trust is disabled by default. To enable it, set +the `DOCKER_CONTENT_TRUST` environment variable to `1`. Refer to the [environment variables](../../reference/commandline/cli.md#environment-variables) and [Notary](../../reference/commandline/cli.md#notary) configuration for the docker client for more options. diff --git a/engine/security/trust/trust_key_mng.md b/engine/security/trust/trust_key_mng.md index 825c925f3b..f8da67b5a7 100644 --- a/engine/security/trust/trust_key_mng.md +++ b/engine/security/trust/trust_key_mng.md @@ -7,13 +7,13 @@ title: 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: -| Key | Description | -|---------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| root key | Root of content trust for an image tag. When content trust is enabled, you create the root key once. Also known as the offline key, because it should be kept offline. | -| targets | This key allows you to sign image tags, to manage delegations including delegated keys or permitted delegation paths. Also known as the repository key, since this key determines what tags can be signed into an image repository. | -| snapshot | This key signs the current collection of image tags, preventing mix and match attacks. -| timestamp | This key allows Docker image repositories to have freshness security guarantees without requiring periodic content refreshes on the client's side. | -| delegation | Delegation keys are optional tagging keys and allow you to delegate signing image tags to other publishers without having to share your targets key. | +| Key | Description | +|:-----------|:----------- | +| root key | Root of content trust for an image tag. When content trust is enabled, you create the root key once. Also known as the offline key, because it should be kept offline. | +| targets | This key allows you to sign image tags, to manage delegations including delegated keys or permitted delegation paths. Also known as the repository key, since this key determines what tags can be signed into an image repository. | +| snapshot | This key signs the current collection of image tags, preventing mix and match attacks. | +| timestamp | This key allows Docker image repositories to have freshness security guarantees without requiring periodic content refreshes on the client's side. | +| delegation | Delegation keys are optional tagging keys and allow you to delegate signing image tags to other publishers without having to share your targets key. | When doing a `docker push` with Content Trust enabled for the first time, the root, targets, snapshot, and timestamp keys are generated automatically for @@ -37,9 +37,9 @@ repositories created with newer versions of Docker. ## Choosing a passphrase The passphrases you chose for both the root key and your repository key should -be randomly generated and stored in a password manager. Having the repository key +be randomly generated and stored in a password manager. Having the repository key allows users to sign image tags on a repository. Passphrases are used to encrypt -your keys at rest and ensures that a lost laptop or an unintended backup doesn't +your keys at rest and ensure that a lost laptop or an unintended backup doesn't put the private key material at risk. ## Back up your keys diff --git a/engine/swarm/secrets.md b/engine/swarm/secrets.md index 29d50817ea..12e2a966d9 100644 --- a/engine/swarm/secrets.md +++ b/engine/swarm/secrets.md @@ -82,7 +82,7 @@ Use these links to read about specific commands, or continue to the - [`docker secret create`](../reference/commandline/secret_create.md) - [`docker secret inspect`](../reference/commandline/secret_inspect.md) -- [`docker service ls`](../reference/commandline/secret_ls.md) +- [`docker secret ls`](../reference/commandline/secret_ls.md) - [`docker secret rm`](../reference/commandline/secret_rm.md) - [`--secret`](../reference/commandline/service_create.md#create-a-service-with-secrets) flag for `docker service create` - [`--secret-add` and `--secret-rm`](../reference/commandline/service_update.md#adding-and-removing-secrets) flags for `docker service update` diff --git a/engine/understanding-docker.md b/engine/understanding-docker.md index 6d75d88e87..0ffbbfb309 100644 --- a/engine/understanding-docker.md +++ b/engine/understanding-docker.md @@ -183,7 +183,7 @@ instruction creates a new layer in the image. Some examples of Dockerfile instructions are: * Specify the base image (`FROM`) -* Specify the maintainer (`MAINTAINER`) +* Specify image metadata (`LABEL`) * Run a command (`RUN`) * Add a file or directory (`ADD`) * Create an environment variable (`ENV`) diff --git a/enterprise/index.md b/enterprise/index.md new file mode 100644 index 0000000000..712a70ed04 --- /dev/null +++ b/enterprise/index.md @@ -0,0 +1,20 @@ +--- +title: About Docker EE +description: Information about Docker Enterprise Edition +keywords: enterprise, enterprise edition, ee, docker ee, docker enterprise edition, lts, commercial, cs, cs engine +--- + +Docker Enterprise Edition (Docker EE) is designed for enterprise development and +IT teams who build, ship, and run business critical applications in production +at scale. Docker EE is integrated, certified, and supported to provide +enterprises with the most secure container platform in the industry to modernize +all applications. For more information about Docker EE, including purchasing +options, see [Docker Enterprise Edition](https://www.docker.com/enterprise-edition/). + +## Platform support matrix + +This table shows all the platforms available for Docker EE as well as Docker CE. +The links in the first column take you straight to the installation instructions +for each platform. + +{% include docker_platform_matrix.md %} diff --git a/machine/install-machine.md b/machine/install-machine.md index cce40ce10a..5be9bdc8c4 100644 --- a/machine/install-machine.md +++ b/machine/install-machine.md @@ -25,14 +25,14 @@ docker/machine release page on GitHub. If you are running on **macOS**: ```console - $ curl -L https://github.com/docker/machine/releases/download/v0.9.0/docker-machine-`uname -s`-`uname -m` >/usr/local/bin/docker-machine && \ + $ curl -L https://github.com/docker/machine/releases/download/v0.10.0/docker-machine-`uname -s`-`uname -m` >/usr/local/bin/docker-machine && \ chmod +x /usr/local/bin/docker-machine ``` If you are running on **Linux**: ```console - $ curl -L https://github.com/docker/machine/releases/download/v0.9.0/docker-machine-`uname -s`-`uname -m` >/tmp/docker-machine && + $ curl -L https://github.com/docker/machine/releases/download/v0.10.0/docker-machine-`uname -s`-`uname -m` >/tmp/docker-machine && chmod +x /tmp/docker-machine && sudo cp /tmp/docker-machine /usr/local/bin/docker-machine ``` @@ -41,7 +41,7 @@ docker/machine release page on GitHub. ```console $ if [[ ! -d "$HOME/bin" ]]; then mkdir -p "$HOME/bin"; fi && \ - curl -L https://github.com/docker/machine/releases/download/v0.9.0/docker-machine-Windows-x86_64.exe > "$HOME/bin/docker-machine.exe" && \ + curl -L https://github.com/docker/machine/releases/download/v0.10.0/docker-machine-Windows-x86_64.exe > "$HOME/bin/docker-machine.exe" && \ chmod +x "$HOME/bin/docker-machine.exe" ``` @@ -50,7 +50,7 @@ docker/machine release page on GitHub. 3. Check the installation by displaying the Machine version: $ docker-machine version - docker-machine version 0.8.2, build e18a919 + docker-machine version 0.10.0, build 76ed2a6 ## Installing bash completion scripts diff --git a/opensource/kitematic/create_pr.md b/opensource/kitematic/create_pr.md index e9e0ccce78..6c12a8b955 100644 --- a/opensource/kitematic/create_pr.md +++ b/opensource/kitematic/create_pr.md @@ -53,8 +53,4 @@ Once you've cleaned up your commits: Congratulations! You've created your first pull request to Kitematic! -The next step in this process is to participate your PR's review. To learn more, and try another development exercise, see [where to learn more](next_steps.md) . - - \ No newline at end of file +The next step in this process is to participate in your PR's review. To learn more, and try another development exercise, see [where to learn more](next_steps.md). diff --git a/opensource/kitematic/set_up_dev.md b/opensource/kitematic/set_up_dev.md index 97d11f8cbc..0ac8fb75fe 100644 --- a/opensource/kitematic/set_up_dev.md +++ b/opensource/kitematic/set_up_dev.md @@ -19,7 +19,7 @@ To get started, you will need to install Node.js v4.2.1. Using Node Version Mana ### Windows: 1. Download latest release +target="_blank">latest release. 2. Follow the installer steps to get NVM installed. Please note, you need to uninstall any existing versions of node.js before installing NVM for Windows; @@ -29,7 +29,7 @@ the above installer link will have an uninstaller available. ### macOS/Linux: -1. Open a terminal window +1. Open a terminal window. 2. Copy and paste the following install script: @@ -39,9 +39,9 @@ the above installer link will have an uninstaller available. 3. To activate nvm, close the terminal window and re-open a new one. - (Alternatively, you can source nvm from your current shell with the command `. ~/.nvm/nvm.sh` ) + (Alternatively, you can source nvm from your current shell with the command `. ~/.nvm/nvm.sh`.) -(To learn more about working with NVM, see macOS/Linux official nvm repo, Windows official nvm repo, and How To Install Node.js with NVM ON A VPS) +(To learn more about working with NVM, see macOS/Linux official nvm repo, Windows official nvm repo, and How To Install Node.js with NVM ON A VPS.) ## Install Node.js @@ -173,9 +173,9 @@ kitematic/ | |--MyComponent.react.js ``` -The `components` folder is where the layout files are, the `stores` represent the application logic and `actions` are the dispatcher for actions taken within the `components`. +The `components` folder is where the layout files are, the `stores` represent the application logic, and `actions` are the dispatcher for actions taken within the `components`. ## Where to go next You are ready to start working on the issue. Go to [Develop in Kitematic (work -on an issue)](work_issue.md). \ No newline at end of file +on an issue)](work_issue.md). diff --git a/opensource/kitematic/work_issue.md b/opensource/kitematic/work_issue.md index 21acad2fca..ff1f8e7070 100644 --- a/opensource/kitematic/work_issue.md +++ b/opensource/kitematic/work_issue.md @@ -4,7 +4,7 @@ keywords: Kitematic, open source, contribute, contributor, tour, development title: 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.) +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. @@ -19,7 +19,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: +3. Above this code we will create a javascript variable that will allow us to display our container ID: ``` let shortId = ( @@ -47,7 +47,7 @@ To do this, edit the container `General Settings` layout. ![Javascript to display container id in kitematic](images/settings-code-example.png) -5. Save the code changes, re-start Kitematic. +5. Save the code changes, restart Kitematic. ``` $ npm start @@ -77,4 +77,4 @@ To do this, edit the container `General Settings` layout. ## Where to go next -At this point, you are ready to [Review your branch and create a pull request](create_pr.md) to merge your new feature into Kitematic. \ No newline at end of file +At this point, you are ready to [Review your branch and create a pull request](create_pr.md) to merge your new feature into Kitematic. diff --git a/reference.md b/reference.md index 93fbed009f..ac4c69d313 100644 --- a/reference.md +++ b/reference.md @@ -12,7 +12,7 @@ various APIs, CLIs, and file formats. |:-------------------------------------------------------|:----------------------------------------------------------------| | [Dockerfile](/engine/reference/builder/) | Defines the contents and startup behavior of a single container | | [Compose file](/compose/compose-file/) | Defines a multi-container application | -| [Stack file](/docker-cloud/apps/stack-yaml-reference/) | Defines a multi-container application for Docker Cloud | +| [Docker Cloud Stack file](/docker-cloud/apps/stack-yaml-reference/) | Defines a multi-container application for Docker Cloud | ## Command-line interfaces (CLIs) diff --git a/registry/insecure.md b/registry/insecure.md index d8610a3129..2f8e19a6b3 100644 --- a/registry/insecure.md +++ b/registry/insecure.md @@ -73,7 +73,7 @@ This sections lists some common failures and how to recover from them. Failing to configure the Engine daemon and trying to pull from a registry that is not using TLS will results in the following message: -``` +```none FATA[0000] Error response from daemon: v1 ping attempt failed with error: Get https://myregistrydomain.com:5000/v1/_ping: tls: oversized record received with length 20527. If this private registry supports only HTTP or HTTPS with an unknown CA certificate,please add @@ -84,24 +84,27 @@ simply place the CA certificate at /etc/docker/certs.d/myregistrydomain.com:5000 ### Docker still complains about the certificate when using authentication? -When using authentication, some versions of docker also require you to trust the certificate at the OS level. Usually, on Ubuntu this is done with: +When using authentication, some versions of Docker also require you to trust the +certificate at the OS level. + +#### Ubuntu ```bash $ cp certs/domain.crt /usr/local/share/ca-certificates/myregistrydomain.com.crt update-ca-certificates ``` -... and on Red Hat (and its derivatives) with: +#### Red Hat Enterprise Linux ```bash cp certs/domain.crt /etc/pki/ca-trust/source/anchors/myregistrydomain.com.crt update-ca-trust ``` -... On some distributions, e.g. Oracle Linux 6, the Shared System Certificates feature needs to be manually enabled: +#### Oracle Linux ```bash $ update-ca-trust enable ``` -Now restart docker (`service docker stop && service docker start`, or any other way you use to restart docker). \ No newline at end of file +Restart Docker for the changes to take effect. diff --git a/swarm/scheduler/filter.md b/swarm/scheduler/filter.md index 29646cafb5..a3028bb55b 100644 --- a/swarm/scheduler/filter.md +++ b/swarm/scheduler/filter.md @@ -138,22 +138,17 @@ Again, you'll avoid flash drives. $ mkdir sinatra $ cd sinatra $ echo "FROM ubuntu:14.04" > Dockerfile -$ echo "MAINTAINER Kate Smith " >> Dockerfile $ echo "RUN apt-get update && apt-get install -y ruby ruby-dev" >> Dockerfile $ echo "RUN gem install sinatra" >> Dockerfile $ docker build --build-arg=constraint:storage==disk -t ouruser/sinatra:v2 . Sending build context to Docker daemon 2.048 kB Step 1 : FROM ubuntu:14.04 ---> a5a467fddcb8 -Step 2 : MAINTAINER Kate Smith - ---> Running in 49e97019dcb8 - ---> de8670dcf80e -Removing intermediate container 49e97019dcb8 -Step 3 : RUN apt-get update && apt-get install -y ruby ruby-dev +Step 2 : RUN apt-get update && apt-get install -y ruby ruby-dev ---> Running in 26c9fbc55aeb ---> 30681ef95fff Removing intermediate container 26c9fbc55aeb -Step 4 : RUN gem install sinatra +Step 3 : RUN gem install sinatra ---> Running in 68671d4a17b0 ---> cd70495a1514 Removing intermediate container 68671d4a17b0 diff --git a/test.md b/test.md index 1c6a12e966..ae1d0a8cd4 100644 --- a/test.md +++ b/test.md @@ -297,7 +297,6 @@ command=/bin/bash -c "source /etc/apache2/envvars && exec /usr/sbin/apache2 -DFO # FROM ubuntu -MAINTAINER SvenDowideit@docker.com # Add the PostgreSQL PGP key to verify their Debian packages. # It should be the same key as https://www.postgresql.org/media/keys/ACCC4CF8.asc diff --git a/tests/Dockerfile b/tests/Dockerfile index 948eec7094..7e2b18ec0e 100644 --- a/tests/Dockerfile +++ b/tests/Dockerfile @@ -1,5 +1,4 @@ FROM golang:1.7.3-alpine -MAINTAINER Adrien Duermael COPY src /go/src WORKDIR /go/src/validator