mirror of https://github.com/docker/docs.git
Merge branch 'master' into patch-1
This commit is contained in:
commit
4552bb0f40
|
@ -107,7 +107,7 @@ of [https://docs.docker.com/](https://docs.docker.com/).
|
||||||
|
|
||||||
## Staging the docs
|
## Staging the docs
|
||||||
|
|
||||||
You have three options:
|
You have two options:
|
||||||
|
|
||||||
1. On your local machine, clone this repo and run our staging container:
|
1. On your local machine, clone this repo and run our staging container:
|
||||||
|
|
||||||
|
|
20
_config.yml
20
_config.yml
|
@ -92,7 +92,7 @@ defaults:
|
||||||
- scope:
|
- scope:
|
||||||
path: "install"
|
path: "install"
|
||||||
values:
|
values:
|
||||||
win_latest_build: "docker-17.06.2-ee-14"
|
win_latest_build: "docker-17.06.2-ee-16"
|
||||||
- scope:
|
- scope:
|
||||||
path: "datacenter"
|
path: "datacenter"
|
||||||
values:
|
values:
|
||||||
|
@ -102,27 +102,27 @@ defaults:
|
||||||
values:
|
values:
|
||||||
dtr_org: "docker"
|
dtr_org: "docker"
|
||||||
dtr_repo: "dtr"
|
dtr_repo: "dtr"
|
||||||
dtr_version: "2.5.3"
|
dtr_version: "2.5.5"
|
||||||
- scope:
|
- scope:
|
||||||
path: "datacenter/dtr/2.4"
|
path: "datacenter/dtr/2.4"
|
||||||
values:
|
values:
|
||||||
hide_from_sitemap: true
|
hide_from_sitemap: true
|
||||||
dtr_org: "docker"
|
dtr_org: "docker"
|
||||||
dtr_repo: "dtr"
|
dtr_repo: "dtr"
|
||||||
dtr_version: "2.4.5"
|
dtr_version: "2.4.6"
|
||||||
- scope:
|
- scope:
|
||||||
path: "datacenter/dtr/2.3"
|
path: "datacenter/dtr/2.3"
|
||||||
values:
|
values:
|
||||||
hide_from_sitemap: true
|
hide_from_sitemap: true
|
||||||
dtr_org: "docker"
|
dtr_org: "docker"
|
||||||
dtr_repo: "dtr"
|
dtr_repo: "dtr"
|
||||||
dtr_version: "2.3.7"
|
dtr_version: "2.3.8"
|
||||||
- scope:
|
- scope:
|
||||||
path: "datacenter/dtr/2.2"
|
path: "datacenter/dtr/2.2"
|
||||||
values:
|
values:
|
||||||
ucp_version: "2.1"
|
ucp_version: "2.1"
|
||||||
dtr_version: "2.2"
|
dtr_version: "2.2"
|
||||||
docker_image: "docker/dtr:2.2.11"
|
docker_image: "docker/dtr:2.2.12"
|
||||||
- scope:
|
- scope:
|
||||||
path: "datacenter/dtr/2.1"
|
path: "datacenter/dtr/2.1"
|
||||||
values:
|
values:
|
||||||
|
@ -138,23 +138,23 @@ defaults:
|
||||||
values:
|
values:
|
||||||
ucp_org: "docker"
|
ucp_org: "docker"
|
||||||
ucp_repo: "ucp"
|
ucp_repo: "ucp"
|
||||||
ucp_version: "3.0.2"
|
ucp_version: "3.0.5"
|
||||||
- scope: # This is a bit of a hack for the get-support.md topic.
|
- scope: # This is a bit of a hack for the get-support.md topic.
|
||||||
path: "ee"
|
path: "ee"
|
||||||
values:
|
values:
|
||||||
ucp_org: "docker"
|
ucp_org: "docker"
|
||||||
ucp_repo: "ucp"
|
ucp_repo: "ucp"
|
||||||
dtr_repo: "dtr"
|
dtr_repo: "dtr"
|
||||||
ucp_version: "3.0.2"
|
ucp_version: "3.0.5"
|
||||||
dtr_version: "2.5.0"
|
dtr_version: "2.5.0"
|
||||||
dtr_latest_image: "docker/dtr:2.5.3"
|
dtr_latest_image: "docker/dtr:2.5.5"
|
||||||
- scope:
|
- scope:
|
||||||
path: "datacenter/ucp/2.2"
|
path: "datacenter/ucp/2.2"
|
||||||
values:
|
values:
|
||||||
hide_from_sitemap: true
|
hide_from_sitemap: true
|
||||||
ucp_org: "docker"
|
ucp_org: "docker"
|
||||||
ucp_repo: "ucp"
|
ucp_repo: "ucp"
|
||||||
ucp_version: "2.2.10"
|
ucp_version: "2.2.13"
|
||||||
- scope:
|
- scope:
|
||||||
path: "datacenter/ucp/2.1"
|
path: "datacenter/ucp/2.1"
|
||||||
values:
|
values:
|
||||||
|
@ -168,7 +168,7 @@ defaults:
|
||||||
hide_from_sitemap: true
|
hide_from_sitemap: true
|
||||||
ucp_version: "2.0"
|
ucp_version: "2.0"
|
||||||
dtr_version: "2.1"
|
dtr_version: "2.1"
|
||||||
docker_image: "docker/ucp:2.0.3"
|
docker_image: "docker/ucp:2.0.4"
|
||||||
- scope:
|
- scope:
|
||||||
path: "datacenter/ucp/1.1"
|
path: "datacenter/ucp/1.1"
|
||||||
values:
|
values:
|
||||||
|
|
|
@ -6,6 +6,26 @@
|
||||||
- product: "ucp"
|
- product: "ucp"
|
||||||
version: "3.0"
|
version: "3.0"
|
||||||
tar-files:
|
tar-files:
|
||||||
|
- description: "3.0.5 Linux"
|
||||||
|
url: https://packages.docker.com/caas/ucp_images_3.0.5.tar.gz
|
||||||
|
- description: "3.0.5 IBM Z"
|
||||||
|
url: https://packages.docker.com/caas/ucp_images_s390x_3.0.5.tar.gz
|
||||||
|
- description: "3.0.5 Windows Server 2016 LTSC"
|
||||||
|
url: https://packages.docker.com/caas/ucp_images_win_2016_3.0.5.tar.gz
|
||||||
|
- description: "3.0.5 Windows Server 1709"
|
||||||
|
url: https://packages.docker.com/caas/ucp_images_win_1709_3.0.5.tar.gz
|
||||||
|
- description: "3.0.5 Windows Server 1803"
|
||||||
|
url: https://packages.docker.com/caas/ucp_images_win_1803_3.0.5.tar.gz
|
||||||
|
- description: "3.0.4 Linux"
|
||||||
|
url: https://packages.docker.com/caas/ucp_images_3.0.4.tar.gz
|
||||||
|
- description: "3.0.4 IBM Z"
|
||||||
|
url: https://packages.docker.com/caas/ucp_images_s390x_3.0.4.tar.gz
|
||||||
|
- description: "3.0.4 Windows Server 2016 LTSC"
|
||||||
|
url: https://packages.docker.com/caas/ucp_images_win_2016_3.0.4.tar.gz
|
||||||
|
- description: "3.0.4 Windows Server 1709"
|
||||||
|
url: https://packages.docker.com/caas/ucp_images_win_1709_3.0.4.tar.gz
|
||||||
|
- description: "3.0.4 Windows Server 1803"
|
||||||
|
url: https://packages.docker.com/caas/ucp_images_win_1803_3.0.4.tar.gz
|
||||||
- description: "3.0.3 Linux"
|
- description: "3.0.3 Linux"
|
||||||
url: https://packages.docker.com/caas/ucp_images_3.0.3.tar.gz
|
url: https://packages.docker.com/caas/ucp_images_3.0.3.tar.gz
|
||||||
- description: "3.0.3 IBM Z"
|
- description: "3.0.3 IBM Z"
|
||||||
|
@ -33,6 +53,18 @@
|
||||||
- product: "ucp"
|
- product: "ucp"
|
||||||
version: "2.2"
|
version: "2.2"
|
||||||
tar-files:
|
tar-files:
|
||||||
|
- description: "2.2.13 Linux"
|
||||||
|
url: https://packages.docker.com/caas/ucp_images_2.2.13.tar.gz
|
||||||
|
- description: "2.2.13 IBM Z"
|
||||||
|
url: https://packages.docker.com/caas/ucp_images_s390x_2.2.13.tar.gz
|
||||||
|
- description: "2.2.13 Windows"
|
||||||
|
url: https://packages.docker.com/caas/ucp_images_win_2.2.13.tar.gz
|
||||||
|
- description: "2.2.12 Linux"
|
||||||
|
url: https://packages.docker.com/caas/ucp_images_2.2.12.tar.gz
|
||||||
|
- description: "2.2.12 IBM Z"
|
||||||
|
url: https://packages.docker.com/caas/ucp_images_s390x_2.2.12.tar.gz
|
||||||
|
- description: "2.2.12 Windows"
|
||||||
|
url: https://packages.docker.com/caas/ucp_images_win_2.2.12.tar.gz
|
||||||
- description: "2.2.11 Linux"
|
- description: "2.2.11 Linux"
|
||||||
url: https://packages.docker.com/caas/ucp_images_2.2.11.tar.gz
|
url: https://packages.docker.com/caas/ucp_images_2.2.11.tar.gz
|
||||||
- description: "2.2.11 IBM Z"
|
- description: "2.2.11 IBM Z"
|
||||||
|
@ -96,10 +128,10 @@
|
||||||
- product: "dtr"
|
- product: "dtr"
|
||||||
version: "2.5"
|
version: "2.5"
|
||||||
tar-files:
|
tar-files:
|
||||||
- description: "DTR 2.5.4 Linux x86"
|
- description: "DTR 2.5.5 Linux x86"
|
||||||
url: https://packages.docker.com/caas/dtr_images_2.5.4.tar.gz
|
url: https://packages.docker.com/caas/dtr_images_2.5.5.tar.gz
|
||||||
- description: "DTR 2.5.4 IBM Z"
|
- description: "DTR 2.5.5 IBM Z"
|
||||||
url: https://packages.docker.com/caas/dtr_images_s390x_2.5.4.tar.gz
|
url: https://packages.docker.com/caas/dtr_images_s390x_2.5.5.tar.gz
|
||||||
- description: "DTR 2.5.3 Linux x86"
|
- description: "DTR 2.5.3 Linux x86"
|
||||||
url: https://packages.docker.com/caas/dtr_images_2.5.3.tar.gz
|
url: https://packages.docker.com/caas/dtr_images_2.5.3.tar.gz
|
||||||
- description: "DTR 2.5.3 IBM Z"
|
- description: "DTR 2.5.3 IBM Z"
|
||||||
|
|
|
@ -51,7 +51,7 @@ You only need to set up the repository once, after which you can install Docker
|
||||||
$ sudo rm /etc/yum.repos.d/docker*.repo
|
$ sudo rm /etc/yum.repos.d/docker*.repo
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Temporarily store the URL (that you [copied above](#find-your-docker-ee-repo-url)) in an environment variable. Replace `<DOCKER-EE-URL>` with your URL in the following command. This variable assignment does not persist when the session ends.
|
2. Temporarily store the URL (that you [copied above](#find-your-docker-ee-repo-url)) in an environment variable. Replace `<DOCKER-EE-URL>` with your URL in the following command. This variable assignment does not persist when the session ends:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ export DOCKERURL="<DOCKER-EE-URL>"
|
$ export DOCKERURL="<DOCKER-EE-URL>"
|
||||||
|
@ -283,8 +283,8 @@ To manually install Docker EE, download the `.{{ package-format | downcase }}` f
|
||||||
```bash
|
```bash
|
||||||
$ sudo rm -rf /var/lib/docker
|
$ sudo rm -rf /var/lib/docker
|
||||||
```
|
```
|
||||||
|
|
||||||
3. Delete other docker related resources:
|
3. Delete other Docker related resources:
|
||||||
```bash
|
```bash
|
||||||
$ sudo rm -rf /run/docker
|
$ sudo rm -rf /run/docker
|
||||||
$ sudo rm -rf /var/run/docker
|
$ sudo rm -rf /var/run/docker
|
||||||
|
|
|
@ -42,10 +42,6 @@
|
||||||
</nav>
|
</nav>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- DockerCon banner -->
|
|
||||||
<div class="banner">
|
|
||||||
<a target="_blank" href="https://2018.dockercon.com/"><img src="/images/dockercon.svg" alt="DockerCon banner"></a>
|
|
||||||
</div>
|
|
||||||
<!-- hero banner text -->
|
<!-- hero banner text -->
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
|
|
@ -55,8 +55,8 @@ configure this app to use our SQL Server database, and then create a
|
||||||
|
|
||||||
This file defines how to build the web app image. It uses the
|
This file defines how to build the web app image. It uses the
|
||||||
[microsoft/aspnetcore-build](https://hub.docker.com/r/microsoft/aspnetcore-build/),
|
[microsoft/aspnetcore-build](https://hub.docker.com/r/microsoft/aspnetcore-build/),
|
||||||
map the volume with the generated code, restore the dependencies, build the
|
maps the volume with the generated code, restores the dependencies, builds the
|
||||||
project and expose port 80. After that, it calls an `entrypoint` script
|
project and exposes port 80. After that, it calls an `entrypoint` script
|
||||||
that we create in the next step.
|
that we create in the next step.
|
||||||
|
|
||||||
1. The `Dockerfile` makes use of an entrypoint to your webapp Docker
|
1. The `Dockerfile` makes use of an entrypoint to your webapp Docker
|
||||||
|
|
|
@ -29,7 +29,7 @@ On a Mac, add the following to your `~/.bash_profile`:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
if [ -f $(brew --prefix)/etc/bash_completion ]; then
|
if [ -f $(brew --prefix)/etc/bash_completion ]; then
|
||||||
. $(brew --prefix)/etc/bash_completion
|
. $(brew --prefix)/etc/bash_completion
|
||||||
fi
|
fi
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -297,7 +297,7 @@ replaces the old value.
|
||||||
> `build` and `image` in Compose file version 1
|
> `build` and `image` in Compose file version 1
|
||||||
>
|
>
|
||||||
> In the case of `build` and `image`, when using
|
> In the case of `build` and `image`, when using
|
||||||
> [version 1 of the Compose file format](compose-file.md#version-1), using one
|
> [version 1 of the Compose file format](/compose/compose-file/compose-file-v1.md), using one
|
||||||
> option in the local service causes Compose to discard the other option if it
|
> option in the local service causes Compose to discard the other option if it
|
||||||
> was defined in the original service.
|
> was defined in the original service.
|
||||||
>
|
>
|
||||||
|
|
|
@ -112,7 +112,7 @@ by step instructions are also included below.
|
||||||
1. Run this command to download the latest version of Docker Compose:
|
1. Run this command to download the latest version of Docker Compose:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo curl -L https://github.com/docker/compose/releases/download/{{site.compose_version}}/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
|
sudo curl -L "https://github.com/docker/compose/releases/download/{{site.compose_version}}/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
|
||||||
```
|
```
|
||||||
|
|
||||||
> Use the latest Compose release number in the download command.
|
> Use the latest Compose release number in the download command.
|
||||||
|
|
|
@ -54,7 +54,7 @@ script:
|
||||||
check. For example, you might want to wait until Postgres is definitely
|
check. For example, you might want to wait until Postgres is definitely
|
||||||
ready to accept commands:
|
ready to accept commands:
|
||||||
|
|
||||||
#!/bin/bash
|
#!/bin/sh
|
||||||
# wait-for-postgres.sh
|
# wait-for-postgres.sh
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
|
@ -39,7 +39,7 @@ that has `sh` and `ping`.
|
||||||
|
|
||||||
DTR uses RethinkDB for persisting data and replicating it across replicas.
|
DTR uses RethinkDB for persisting data and replicating it across replicas.
|
||||||
It might be helpful to connect directly to the RethinkDB instance running on a
|
It might be helpful to connect directly to the RethinkDB instance running on a
|
||||||
DTR replica to check the DTR internal state.
|
DTR replica to check the DTR internal state.
|
||||||
|
|
||||||
> **Warning**: Modifying RethinkDB directly is not supported and may cause
|
> **Warning**: Modifying RethinkDB directly is not supported and may cause
|
||||||
> problems.
|
> problems.
|
||||||
|
@ -50,27 +50,44 @@ commands:
|
||||||
|
|
||||||
{% raw %}
|
{% raw %}
|
||||||
```bash
|
```bash
|
||||||
# REPLICA_ID will be the replica ID for the current node.
|
# DTR_REPLICA_ID will be the replica ID for the current node.
|
||||||
REPLICA_ID=$(docker ps -lf name='^/dtr-rethinkdb-.{12}$' --format '{{.Names}}' | cut -d- -f3)
|
DTR_REPLICA_ID=$(docker ps -lf name='^/dtr-rethinkdb-.{12}$' --format '{{.Names}}' | cut -d- -f3)
|
||||||
|
# List problems in the cluster detected by the current node.
|
||||||
|
echo 'r.db("rethinkdb").table("current_issues")' | \
|
||||||
|
docker run -i --rm \
|
||||||
|
--net dtr-ol \
|
||||||
|
-e DTR_REPLICA_ID=${DTR_REPLICA_ID} \
|
||||||
|
-v dtr-ca-$DTR_REPLICA_ID:/ca \
|
||||||
|
dockerhubenterprise/rethinkcli:v2.2.0-ni non-interactive; \
|
||||||
|
echo
|
||||||
|
```
|
||||||
|
{% endraw %}
|
||||||
|
|
||||||
|
On a healthy cluster the output will be `[]`.
|
||||||
|
|
||||||
|
RethinkDB stores data in different databases that contain multiple tables. This
|
||||||
|
container can also be used to connect to the local DTR replica and
|
||||||
|
interactively query the contents of the DB.
|
||||||
|
|
||||||
|
{% raw %}
|
||||||
|
```bash
|
||||||
|
# DTR_REPLICA_ID will be the replica ID for the current node.
|
||||||
|
DTR_REPLICA_ID=$(docker ps -lf name='^/dtr-rethinkdb-.{12}$' --format '{{.Names}}' | cut -d- -f3)
|
||||||
# This command will start a RethinkDB client attached to the database
|
# This command will start a RethinkDB client attached to the database
|
||||||
# on the current node.
|
# on the current node.
|
||||||
docker run -it --rm \
|
docker run -it --rm \
|
||||||
--net dtr-ol \
|
--net dtr-ol \
|
||||||
-v dtr-ca-$REPLICA_ID:/ca dockerhubenterprise/rethinkcli:v2.2.0 \
|
-e DTR_REPLICA_ID=${DTR_REPLICA_ID} \
|
||||||
$REPLICA_ID
|
-v dtr-ca-$DTR_REPLICA_ID:/ca \
|
||||||
|
dockerhubenterprise/rethinkcli:v2.2.0-ni
|
||||||
```
|
```
|
||||||
{% endraw %}
|
{% endraw %}
|
||||||
|
|
||||||
This container connects to the local DTR replica and launches a RethinkDB client
|
|
||||||
that can be used to inspect the contents of the DB. RethinkDB
|
|
||||||
stores data in different databases that contain multiple tables. The `rethinkcli`
|
|
||||||
tool launches an interactive prompt where you can run RethinkDB
|
|
||||||
queries such as:
|
|
||||||
|
|
||||||
```none
|
```none
|
||||||
# List problems detected within the rethinkdb cluster
|
# List problems in the cluster detected by the current node.
|
||||||
> r.db("rethinkdb").table("current_issues")
|
> r.db("rethinkdb").table("current_issues")
|
||||||
...
|
[]
|
||||||
|
|
||||||
# List all the DBs in RethinkDB
|
# List all the DBs in RethinkDB
|
||||||
> r.dbList()
|
> r.dbList()
|
||||||
|
@ -90,7 +107,7 @@ queries such as:
|
||||||
'repositories',
|
'repositories',
|
||||||
'repository_team_access',
|
'repository_team_access',
|
||||||
'tags' ]
|
'tags' ]
|
||||||
|
|
||||||
# List the entries in the repositories table
|
# List the entries in the repositories table
|
||||||
> r.db('dtr2').table('repositories')
|
> r.db('dtr2').table('repositories')
|
||||||
[ { id: '19f1240a-08d8-4979-a898-6b0b5b2338d8',
|
[ { id: '19f1240a-08d8-4979-a898-6b0b5b2338d8',
|
||||||
|
@ -101,7 +118,7 @@ queries such as:
|
||||||
...
|
...
|
||||||
```
|
```
|
||||||
|
|
||||||
Indvidual DBs and tables are a private implementation detail and may change in DTR
|
Individual DBs and tables are a private implementation detail and may change in DTR
|
||||||
from version to version, but you can always use `dbList()` and `tableList()` to explore
|
from version to version, but you can always use `dbList()` and `tableList()` to explore
|
||||||
the contents and data structure.
|
the contents and data structure.
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,7 @@ that has `sh` and `ping`.
|
||||||
|
|
||||||
DTR uses RethinkDB for persisting data and replicating it across replicas.
|
DTR uses RethinkDB for persisting data and replicating it across replicas.
|
||||||
It might be helpful to connect directly to the RethinkDB instance running on a
|
It might be helpful to connect directly to the RethinkDB instance running on a
|
||||||
DTR replica to check the DTR internal state.
|
DTR replica to check the DTR internal state.
|
||||||
|
|
||||||
> **Warning**: Modifying RethinkDB directly is not supported and may cause
|
> **Warning**: Modifying RethinkDB directly is not supported and may cause
|
||||||
> problems.
|
> problems.
|
||||||
|
@ -50,27 +50,44 @@ commands:
|
||||||
|
|
||||||
{% raw %}
|
{% raw %}
|
||||||
```bash
|
```bash
|
||||||
# REPLICA_ID will be the replica ID for the current node.
|
# DTR_REPLICA_ID will be the replica ID for the current node.
|
||||||
REPLICA_ID=$(docker ps -lf name='^/dtr-rethinkdb-.{12}$' --format '{{.Names}}' | cut -d- -f3)
|
DTR_REPLICA_ID=$(docker ps -lf name='^/dtr-rethinkdb-.{12}$' --format '{{.Names}}' | cut -d- -f3)
|
||||||
|
# List problems in the cluster detected by the current node.
|
||||||
|
echo 'r.db("rethinkdb").table("current_issues")' | \
|
||||||
|
docker run -i --rm \
|
||||||
|
--net dtr-ol \
|
||||||
|
-e DTR_REPLICA_ID=${DTR_REPLICA_ID} \
|
||||||
|
-v dtr-ca-$DTR_REPLICA_ID:/ca \
|
||||||
|
dockerhubenterprise/rethinkcli:v2.2.0-ni non-interactive; \
|
||||||
|
echo
|
||||||
|
```
|
||||||
|
{% endraw %}
|
||||||
|
|
||||||
|
On a healthy cluster the output will be `[]`.
|
||||||
|
|
||||||
|
RethinkDB stores data in different databases that contain multiple tables. This
|
||||||
|
container can also be used to connect to the local DTR replica and
|
||||||
|
interactively query the contents of the DB.
|
||||||
|
|
||||||
|
{% raw %}
|
||||||
|
```bash
|
||||||
|
# DTR_REPLICA_ID will be the replica ID for the current node.
|
||||||
|
DTR_REPLICA_ID=$(docker ps -lf name='^/dtr-rethinkdb-.{12}$' --format '{{.Names}}' | cut -d- -f3)
|
||||||
# This command will start a RethinkDB client attached to the database
|
# This command will start a RethinkDB client attached to the database
|
||||||
# on the current node.
|
# on the current node.
|
||||||
docker run -it --rm \
|
docker run -it --rm \
|
||||||
--net dtr-ol \
|
--net dtr-ol \
|
||||||
-v dtr-ca-$REPLICA_ID:/ca dockerhubenterprise/rethinkcli:v2.2.0 \
|
-e DTR_REPLICA_ID=${DTR_REPLICA_ID} \
|
||||||
$REPLICA_ID
|
-v dtr-ca-$DTR_REPLICA_ID:/ca \
|
||||||
|
dockerhubenterprise/rethinkcli:v2.2.0-ni
|
||||||
```
|
```
|
||||||
{% endraw %}
|
{% endraw %}
|
||||||
|
|
||||||
This container connects to the local DTR replica and launches a RethinkDB client
|
|
||||||
that can be used to inspect the contents of the DB. RethinkDB
|
|
||||||
stores data in different databases that contain multiple tables. The `rethinkcli`
|
|
||||||
tool launches an interactive prompt where you can run RethinkDB
|
|
||||||
queries such as:
|
|
||||||
|
|
||||||
```none
|
```none
|
||||||
# List problems detected within the rethinkdb cluster
|
# List problems in the cluster detected by the current node.
|
||||||
> r.db("rethinkdb").table("current_issues")
|
> r.db("rethinkdb").table("current_issues")
|
||||||
...
|
[]
|
||||||
|
|
||||||
# List all the DBs in RethinkDB
|
# List all the DBs in RethinkDB
|
||||||
> r.dbList()
|
> r.dbList()
|
||||||
|
@ -90,7 +107,7 @@ queries such as:
|
||||||
'repositories',
|
'repositories',
|
||||||
'repository_team_access',
|
'repository_team_access',
|
||||||
'tags' ]
|
'tags' ]
|
||||||
|
|
||||||
# List the entries in the repositories table
|
# List the entries in the repositories table
|
||||||
> r.db('dtr2').table('repositories')
|
> r.db('dtr2').table('repositories')
|
||||||
[ { id: '19f1240a-08d8-4979-a898-6b0b5b2338d8',
|
[ { id: '19f1240a-08d8-4979-a898-6b0b5b2338d8',
|
||||||
|
@ -101,7 +118,7 @@ queries such as:
|
||||||
...
|
...
|
||||||
```
|
```
|
||||||
|
|
||||||
Indvidual DBs and tables are a private implementation detail and may change in DTR
|
Individual DBs and tables are a private implementation detail and may change in DTR
|
||||||
from version to version, but you can always use `dbList()` and `tableList()` to explore
|
from version to version, but you can always use `dbList()` and `tableList()` to explore
|
||||||
the contents and data structure.
|
the contents and data structure.
|
||||||
|
|
||||||
|
|
|
@ -50,20 +50,31 @@ commands:
|
||||||
|
|
||||||
{% raw %}
|
{% raw %}
|
||||||
```bash
|
```bash
|
||||||
# This command will start a RethinkDB client attached to the database
|
# List problems in the cluster detected by the current node.
|
||||||
# on the current node.
|
echo 'r.db("rethinkdb").table("current_issues")' | \
|
||||||
|
docker exec -i \
|
||||||
|
$(docker ps -q --filter name=dtr-rethinkdb) \
|
||||||
|
rethinkcli non-interactive; \
|
||||||
|
echo
|
||||||
|
```
|
||||||
|
{% endraw %}
|
||||||
|
|
||||||
|
On a healthy cluster the output will be `[]`.
|
||||||
|
|
||||||
|
RethinkDB stores data in different databases that contain multiple tables. This
|
||||||
|
container can also be used to connect to the local DTR replica and
|
||||||
|
interactively query the contents of the DB.
|
||||||
|
|
||||||
|
{% raw %}
|
||||||
|
```bash
|
||||||
docker exec -it $(docker ps -q --filter name=dtr-rethinkdb) rethinkcli
|
docker exec -it $(docker ps -q --filter name=dtr-rethinkdb) rethinkcli
|
||||||
```
|
```
|
||||||
{% endraw %}
|
{% endraw %}
|
||||||
|
|
||||||
RethinkDB stores data in different databases that contain multiple tables. The `rethinkcli`
|
|
||||||
tool launches an interactive prompt where you can run RethinkDB
|
|
||||||
queries such as:
|
|
||||||
|
|
||||||
```none
|
```none
|
||||||
# List problems detected within the rethinkdb cluster
|
# List problems in the cluster detected by the current node.
|
||||||
> r.db("rethinkdb").table("current_issues")
|
> r.db("rethinkdb").table("current_issues")
|
||||||
...
|
[]
|
||||||
|
|
||||||
# List all the DBs in RethinkDB
|
# List all the DBs in RethinkDB
|
||||||
> r.dbList()
|
> r.dbList()
|
||||||
|
@ -94,7 +105,7 @@ queries such as:
|
||||||
...
|
...
|
||||||
```
|
```
|
||||||
|
|
||||||
Indvidual DBs and tables are a private implementation detail and may change in DTR
|
Individual DBs and tables are a private implementation detail and may change in DTR
|
||||||
from version to version, but you can always use `dbList()` and `tableList()` to explore
|
from version to version, but you can always use `dbList()` and `tableList()` to explore
|
||||||
the contents and data structure.
|
the contents and data structure.
|
||||||
|
|
||||||
|
|
|
@ -18,6 +18,34 @@ for Mac](install.md#download-docker-for-mac).
|
||||||
|
|
||||||
## Edge Releases of 2018
|
## Edge Releases of 2018
|
||||||
|
|
||||||
|
### Docker Community Edition 2.0.0.0-beta1-mac75 2018-09-14
|
||||||
|
|
||||||
|
[Download](https://download.docker.com/mac/edge/27117/Docker.dmg)
|
||||||
|
|
||||||
|
* Upgrades
|
||||||
|
- [Docker 18.09.0-ce-beta1](https://github.com/docker/docker-ce/releases/tag/v18.09.0-ce-beta1)
|
||||||
|
- Linux Kernel 4.9.125
|
||||||
|
|
||||||
|
* New
|
||||||
|
- New version scheme
|
||||||
|
|
||||||
|
* Deprecation
|
||||||
|
- Removed support of AUFS
|
||||||
|
- Removed support of OSX 10.11
|
||||||
|
|
||||||
|
* Bug fixes and minor changes
|
||||||
|
- Fix panic in diagnose
|
||||||
|
|
||||||
|
### Docker Community Edition 18.06.1-ce-mac74 2018-08-29
|
||||||
|
|
||||||
|
[Download](https://download.docker.com/mac/edge/26766/Docker.dmg)
|
||||||
|
|
||||||
|
* Upgrades
|
||||||
|
- [Docker 18.06.1-ce](https://github.com/docker/docker-ce/releases/tag/v18.06.1-ce)
|
||||||
|
|
||||||
|
* Bug fixes and minor changes
|
||||||
|
- Fix local DNS failing to resolve inside containers.
|
||||||
|
|
||||||
### Docker Community Edition 18.06.0-ce-mac69 2018-07-25
|
### Docker Community Edition 18.06.0-ce-mac69 2018-07-25
|
||||||
|
|
||||||
[Download](https://download.docker.com/mac/edge/26398/Docker.dmg)
|
[Download](https://download.docker.com/mac/edge/26398/Docker.dmg)
|
||||||
|
|
|
@ -252,12 +252,7 @@ changes, click another preference tab, then choose to discard or not apply chang
|
||||||
|
|
||||||
### Kubernetes
|
### Kubernetes
|
||||||
|
|
||||||
**Kubernetes is only available in Docker for Mac 17.12 CE and higher, on the Edge channel.**
|
Docker for Mac 17.12 CE (and higher) includes a standalone Kubernetes server
|
||||||
Kubernetes support is not included in Docker for Mac Stable releases. To find
|
|
||||||
out more about Stable and Edge channels and how to switch between them, see
|
|
||||||
[General configuration](#general){:target="_blank" class="_"}.
|
|
||||||
|
|
||||||
Docker for Mac 17.12 CE (and higher) Edge includes a standalone Kubernetes server
|
|
||||||
that runs on your Mac, so that you can test deploying your Docker workloads on
|
that runs on your Mac, so that you can test deploying your Docker workloads on
|
||||||
Kubernetes.
|
Kubernetes.
|
||||||
|
|
||||||
|
|
|
@ -20,6 +20,16 @@ for Mac](install.md#download-docker-for-mac).
|
||||||
|
|
||||||
## Stable Releases of 2018
|
## Stable Releases of 2018
|
||||||
|
|
||||||
|
### Docker Community Edition 18.06.1-ce-mac73 2018-08-29
|
||||||
|
|
||||||
|
[Download](https://download.docker.com/mac/stable/26764/Docker.dmg)
|
||||||
|
|
||||||
|
* Upgrades
|
||||||
|
- [Docker 18.06.1-ce](https://github.com/docker/docker-ce/releases/tag/v18.06.1-ce)
|
||||||
|
|
||||||
|
* Bug fixes and minor changes
|
||||||
|
- Fix local DNS failing to resolve inside containers.
|
||||||
|
|
||||||
### Docker Community Edition 18.06.0-ce-mac70 2018-07-25
|
### Docker Community Edition 18.06.0-ce-mac70 2018-07-25
|
||||||
|
|
||||||
[Download](https://download.docker.com/mac/stable/26399/Docker.dmg)
|
[Download](https://download.docker.com/mac/stable/26399/Docker.dmg)
|
||||||
|
|
|
@ -18,6 +18,24 @@ for Windows](install.md#download-docker-for-windows).
|
||||||
|
|
||||||
## Edge Releases of 2018
|
## Edge Releases of 2018
|
||||||
|
|
||||||
|
### Docker Community Edition 18.06.1-ce-win74 2018-08-29
|
||||||
|
|
||||||
|
[Download](https://download.docker.com/win/edge/19508/Docker%20for%20Windows%20Installer.exe)
|
||||||
|
|
||||||
|
* Upgrades
|
||||||
|
- [Docker 18.06.1-ce](https://github.com/docker/docker-ce/releases/tag/v18.06.1-ce)
|
||||||
|
|
||||||
|
* Bug fixes and minor changes
|
||||||
|
- Fix bug in VM activity detection, preventing Docker Desktop to start. Fixes [docker/for-win#2404](https://github.com/docker/for-win/issues/2404)
|
||||||
|
- Fix bug in detection when Windows service is not running, and propose to restart the service.
|
||||||
|
- Fix local DNS failing to resolve inside containers. Fixes [docker/for-win#2301](https://github.com/docker/for-win/issues/2301), [docker/for-win#2304](https://github.com/docker/for-win/issues/2304)
|
||||||
|
- Fix Kubernetes status display after reset to factory default
|
||||||
|
- Fix bug where `host.docker.internal` is not resolved in some cases. Fixes [docker/for-win#2402](https://github.com/docker/for-win/issues/2402)
|
||||||
|
- Use a 1MB vhdx blocksize instead of the default 32MB. See [docker/for-win#244](https://github.com/docker/for-win/issues/244). Also see [Microsoft Best Practices for running Linux on Hyper-V](https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/best-practices-for-running-linux-on-hyper-v)
|
||||||
|
- Fix diagnostics in specific cases when Windows service is not started.
|
||||||
|
- Changed back samba default file permission to avoid issue with too open rights. Fixes [docker/for-win#2170](https://github.com/docker/for-win/issues/2170)
|
||||||
|
- On RS5 insider, Fix wrong detection of missing feature "Containers" requiring to install feature + reboot.
|
||||||
|
|
||||||
### Docker Community Edition 18.06.0-ce-win71 2018-07-27
|
### Docker Community Edition 18.06.0-ce-win71 2018-07-27
|
||||||
|
|
||||||
[Download](https://download.docker.com/win/edge/19101/Docker%20for%20Windows%20Installer.exe)
|
[Download](https://download.docker.com/win/edge/19101/Docker%20for%20Windows%20Installer.exe)
|
||||||
|
|
|
@ -6,7 +6,6 @@ title: Install Docker for Windows
|
||||||
|
|
||||||
[Download Community Edition (CE)](https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.exe)
|
[Download Community Edition (CE)](https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.exe)
|
||||||
|
|
||||||
|
|
||||||
## What to know before you install
|
## What to know before you install
|
||||||
|
|
||||||
If your system does not meet the requirements to run Docker for Windows, you can install
|
If your system does not meet the requirements to run Docker for Windows, you can install
|
||||||
|
|
|
@ -76,7 +76,7 @@ This is for development purpose and will not work in a production environment ou
|
||||||
|
|
||||||
The gateway is also reachable as `gateway.docker.internal`.
|
The gateway is also reachable as `gateway.docker.internal`.
|
||||||
|
|
||||||
#### I want to connect to a container from the Windows
|
#### I want to connect to a container from Windows
|
||||||
|
|
||||||
Port forwarding works for `localhost`; `--publish`, `-p`, or `-P` all work.
|
Port forwarding works for `localhost`; `--publish`, `-p`, or `-P` all work.
|
||||||
Ports exposed from Linux are forwarded to the host.
|
Ports exposed from Linux are forwarded to the host.
|
||||||
|
|
|
@ -20,6 +20,24 @@ for Windows](install.md#download-docker-for-windows).
|
||||||
|
|
||||||
## Stable Releases of 2018
|
## Stable Releases of 2018
|
||||||
|
|
||||||
|
### Docker Community Edition 18.06.1-ce-win73 2018-08-29
|
||||||
|
|
||||||
|
[Download](https://download.docker.com/win/stable/19507/Docker%20for%20Windows%20Installer.exe)
|
||||||
|
|
||||||
|
* Upgrades
|
||||||
|
- [Docker 18.06.1-ce](https://github.com/docker/docker-ce/releases/tag/v18.06.1-ce)
|
||||||
|
|
||||||
|
* Bug fixes and minor changes
|
||||||
|
- Fix bug in VM activity detection, preventing Docker Desktop to start. Fixes [docker/for-win#2404](https://github.com/docker/for-win/issues/2404)
|
||||||
|
- Fix bug in detection when Windows service is not running, and propose to restart the service.
|
||||||
|
- Fix local DNS failing to resolve inside containers. Fixes [docker/for-win#2301](https://github.com/docker/for-win/issues/2301), [docker/for-win#2304](https://github.com/docker/for-win/issues/2304)
|
||||||
|
- Fix Kubernetes status display after reset to factory default
|
||||||
|
- Fix bug where `host.docker.internal` is not resolved in some cases. Fixes [docker/for-win#2402](https://github.com/docker/for-win/issues/2402)
|
||||||
|
- Use a 1MB vhdx blocksize instead of the default 32MB. See [docker/for-win#244](https://github.com/docker/for-win/issues/244). Also see [Microsoft Best Practices for running Linux on Hyper-V](https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/best-practices-for-running-linux-on-hyper-v)
|
||||||
|
- Fix diagnostics in specific cases when Windows service is not started.
|
||||||
|
- Changed back samba default file permission to avoid issue with too open rights. Fixes [docker/for-win#2170](https://github.com/docker/for-win/issues/2170)
|
||||||
|
- On RS5 insider, Fix wrong detection of missing feature "Containers" requiring to install feature + reboot.
|
||||||
|
|
||||||
### Docker Community Edition 18.06.0-ce-win72 2018-07-26
|
### Docker Community Edition 18.06.0-ce-win72 2018-07-26
|
||||||
|
|
||||||
[Download](https://download.docker.com/win/stable/19098/Docker%20for%20Windows%20Installer.exe)
|
[Download](https://download.docker.com/win/stable/19098/Docker%20for%20Windows%20Installer.exe)
|
||||||
|
|
|
@ -39,7 +39,7 @@ that has `sh` and `ping`.
|
||||||
|
|
||||||
DTR uses RethinkDB for persisting data and replicating it across replicas.
|
DTR uses RethinkDB for persisting data and replicating it across replicas.
|
||||||
It might be helpful to connect directly to the RethinkDB instance running on a
|
It might be helpful to connect directly to the RethinkDB instance running on a
|
||||||
DTR replica to check the DTR internal state.
|
DTR replica to check the DTR internal state.
|
||||||
|
|
||||||
> **Warning**: Modifying RethinkDB directly is not supported and may cause
|
> **Warning**: Modifying RethinkDB directly is not supported and may cause
|
||||||
> problems.
|
> problems.
|
||||||
|
@ -48,26 +48,34 @@ DTR replica to check the DTR internal state.
|
||||||
Use SSH to log into a node that is running a DTR replica, and run the following
|
Use SSH to log into a node that is running a DTR replica, and run the following
|
||||||
commands:
|
commands:
|
||||||
|
|
||||||
```bash
|
|
||||||
{% raw %}
|
{% raw %}
|
||||||
# REPLICA_ID will be the replica ID for the current node.
|
```bash
|
||||||
REPLICA_ID=$(docker ps -lf name='^/dtr-rethinkdb-.{12}$' --format '{{.Names}}' | cut -d- -f3)
|
# List problems in the cluster detected by the current node.
|
||||||
# This command will start a RethinkDB client attached to the database
|
echo 'r.db("rethinkdb").table("current_issues")' | \
|
||||||
# on the current node.
|
docker exec -i \
|
||||||
docker run -it --rm \
|
$(docker ps -q --filter name=dtr-rethinkdb) \
|
||||||
--net dtr-ol \
|
rethinkcli non-interactive; \
|
||||||
-v dtr-ca-$REPLICA_ID:/ca dockerhubenterprise/rethinkcli:v2.2.0 \
|
echo
|
||||||
$REPLICA_ID
|
|
||||||
{% endraw %}
|
|
||||||
```
|
```
|
||||||
|
{% endraw %}
|
||||||
|
|
||||||
This container connects to the local DTR replica and launches a RethinkDB client
|
On a healthy cluster the output will be `[]`.
|
||||||
that can be used to inspect the contents of the DB. RethinkDB
|
|
||||||
stores data in different databases that contain multiple tables. The `rethinkcli`
|
RethinkDB stores data in different databases that contain multiple tables. This
|
||||||
tool launches an interactive prompt where you can run RethinkDB
|
container can also be used to connect to the local DTR replica and
|
||||||
queries such as:
|
interactively query the contents of the DB.
|
||||||
|
|
||||||
|
{% raw %}
|
||||||
|
```bash
|
||||||
|
docker exec -it $(docker ps -q --filter name=dtr-rethinkdb) rethinkcli
|
||||||
|
```
|
||||||
|
{% endraw %}
|
||||||
|
|
||||||
```none
|
```none
|
||||||
|
# List problems in the cluster detected by the current node.
|
||||||
|
> r.db("rethinkdb").table("current_issues")
|
||||||
|
[]
|
||||||
|
|
||||||
# List all the DBs in RethinkDB
|
# List all the DBs in RethinkDB
|
||||||
> r.dbList()
|
> r.dbList()
|
||||||
[ 'dtr2',
|
[ 'dtr2',
|
||||||
|
@ -86,7 +94,7 @@ queries such as:
|
||||||
'repositories',
|
'repositories',
|
||||||
'repository_team_access',
|
'repository_team_access',
|
||||||
'tags' ]
|
'tags' ]
|
||||||
|
|
||||||
# List the entries in the repositories table
|
# List the entries in the repositories table
|
||||||
> r.db('dtr2').table('repositories')
|
> r.db('dtr2').table('repositories')
|
||||||
[ { id: '19f1240a-08d8-4979-a898-6b0b5b2338d8',
|
[ { id: '19f1240a-08d8-4979-a898-6b0b5b2338d8',
|
||||||
|
@ -95,13 +103,9 @@ queries such as:
|
||||||
pk: 'cf5e8bf1197e281c747f27e203e42e22721d5c0870b06dfb1060ad0970e99ada',
|
pk: 'cf5e8bf1197e281c747f27e203e42e22721d5c0870b06dfb1060ad0970e99ada',
|
||||||
visibility: 'public' },
|
visibility: 'public' },
|
||||||
...
|
...
|
||||||
|
|
||||||
# List problems detected within the rethinkdb cluster
|
|
||||||
> r.db("rethinkdb").table("current_issues")
|
|
||||||
...
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Indvidual DBs and tables are a private implementation detail and may change in DTR
|
Individual DBs and tables are a private implementation detail and may change in DTR
|
||||||
from version to version, but you can always use `dbList()` and `tableList()` to explore
|
from version to version, but you can always use `dbList()` and `tableList()` to explore
|
||||||
the contents and data structure.
|
the contents and data structure.
|
||||||
|
|
||||||
|
|
|
@ -20,6 +20,14 @@ to upgrade your installation to the latest release.
|
||||||
|
|
||||||
# Version 2.5
|
# Version 2.5
|
||||||
|
|
||||||
|
## 2.5.5 (2018-8-30)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* Fixed bug where repository tag list UI was not loading after a tag migration.
|
||||||
|
* Fixed bug to enable poll mirroring with Windows images.
|
||||||
|
* The RethinkDB image has been patched to remove unused components with known vulnerabilities including the rethinkcli. To get an equivalent interface run rethinkcli from a separate image using `docker run -it --rm --net dtr-ol -v dtr-ca-$REPLICA_ID:/ca dockerhubenterprise/rethinkcli $REPLICA_ID`.
|
||||||
|
|
||||||
## 2.5.3 (2018-6-21)
|
## 2.5.3 (2018-6-21)
|
||||||
|
|
||||||
### New Features
|
### New Features
|
||||||
|
|
|
@ -19,6 +19,37 @@ it references. However, Docker EE also includes back-ported fixes
|
||||||
defect fixes that you can use in environments where new features cannot be
|
defect fixes that you can use in environments where new features cannot be
|
||||||
adopted as quickly for consistency and compatibility reasons.
|
adopted as quickly for consistency and compatibility reasons.
|
||||||
|
|
||||||
|
## 18.03.1-ee-3 (2018-08-30)
|
||||||
|
|
||||||
|
> Important notes about this release
|
||||||
|
>
|
||||||
|
> If you're deploying UCP or DTR, use Docker EE Engine 17.06.
|
||||||
|
{: .important}
|
||||||
|
|
||||||
|
### Builder
|
||||||
|
|
||||||
|
- Fix: no error if build args are missing during docker build. [docker/engine#25](https://github.com/docker/engine/pull/25)
|
||||||
|
* Ensure `RUN` instruction to run without healthcheck. [moby/moby#37413](https://github.com/moby/moby/pull/37413)
|
||||||
|
|
||||||
|
### Client
|
||||||
|
|
||||||
|
- Fix manifest list to always use correct size. [docker/cli#1156](https://github.com/docker/cli/pull/1156)
|
||||||
|
+ Various shell completion script updates. [docker/cli#1159](https://github.com/docker/cli/pull/1159) [docker/cli#1227](https://github.com/docker/cli/pull/1227)
|
||||||
|
* Improve version output alignment. [docker/cli#1204](https://github.com/docker/cli/pull/1204)
|
||||||
|
|
||||||
|
### Runtime
|
||||||
|
|
||||||
|
* Disable CRI plugin listening on port 10010 by default. [docker/engine#29](https://github.com/docker/engine/pull/29)
|
||||||
|
* Update containerd to v1.1.2. [docker/engine#33](https://github.com/docker/engine/pull/33)
|
||||||
|
- Windows: Pass back system errors on container exit. [moby/moby#35967](https://github.com/moby/moby/pull/35967)
|
||||||
|
- Windows: Fix named pipe support for hyper-v isolated containers. [docker/engine#2](https://github.com/docker/engine/pull/2) [docker/cli#1165](https://github.com/docker/cli/pull/1165)
|
||||||
|
* Register OCI media types. [docker/engine#4](https://github.com/docker/engine/pull/4)
|
||||||
|
|
||||||
|
### Swarm Mode
|
||||||
|
|
||||||
|
- Clean up tasks in dirty list for which the service has been deleted. [docker/swarmkit#2694](https://github.com/docker/swarmkit/pull/2694)
|
||||||
|
- Propagate the provided external CA certificate to the external CA object in swarm. [docker/cli#1178](https://github.com/docker/cli/pull/1178)
|
||||||
|
|
||||||
## 18.03.1-ee-2 (2018-07-10)
|
## 18.03.1-ee-2 (2018-07-10)
|
||||||
|
|
||||||
> Important notes about this release
|
> Important notes about this release
|
||||||
|
@ -48,8 +79,7 @@ adopted as quickly for consistency and compatibility reasons.
|
||||||
|
|
||||||
+ Update to docker-ce 18.03.1 engine.
|
+ Update to docker-ce 18.03.1 engine.
|
||||||
+ Add support for FIPS 140-2 on x86_64.
|
+ Add support for FIPS 140-2 on x86_64.
|
||||||
+ Add support for Microsoft Windows Server 1709.
|
+ Add support for Microsoft Windows Server 1709 and 1803 with support for [swarm ingress routing mesh](https://docs.docker.com/engine/swarm/ingress/), [VIP service discovery](https://docs.docker.com/v17.09/engine/swarm/networking/#configure-service-discovery), and [named pipe mounting](https://blog.docker.com/2017/09/docker-windows-server-1709/).
|
||||||
+ Add support for Microsoft Windows Server 1803.
|
|
||||||
+ Add support for Ubuntu 18.04.
|
+ Add support for Ubuntu 18.04.
|
||||||
+ Windows opt-out telemetry stream.
|
+ Windows opt-out telemetry stream.
|
||||||
+ Support for `--chown` with `COPY` and `ADD` in `Dockerfile`.
|
+ Support for `--chown` with `COPY` and `ADD` in `Dockerfile`.
|
||||||
|
@ -129,7 +159,7 @@ adopted as quickly for consistency and compatibility reasons.
|
||||||
### Runtime
|
### Runtime
|
||||||
|
|
||||||
* Use rslave propagation for mounts from daemon root. [moby/moby#36055](https://github.com/moby/moby/pull/36055)
|
* Use rslave propagation for mounts from daemon root. [moby/moby#36055](https://github.com/moby/moby/pull/36055)
|
||||||
* Use rslave instead of rprivate in choortarchive. [moby/moby#35217](https://github.com/moby/moby/pull/35217)
|
* Use rslave instead of rprivate in chrootarchive. [moby/moby#35217](https://github.com/moby/moby/pull/35217)
|
||||||
* Set daemon root to use shared propagation. [moby/moby#36096](https://github.com/moby/moby/pull/36096)
|
* Set daemon root to use shared propagation. [moby/moby#36096](https://github.com/moby/moby/pull/36096)
|
||||||
* Windows: Increase container default shutdown timeout. [moby/moby#35184](https://github.com/moby/moby/pull/35184)
|
* Windows: Increase container default shutdown timeout. [moby/moby#35184](https://github.com/moby/moby/pull/35184)
|
||||||
* Avoid using all system memory with authz plugins. [moby/moby#36595](https://github.com/moby/moby/pull/36595)
|
* Avoid using all system memory with authz plugins. [moby/moby#36595](https://github.com/moby/moby/pull/36595)
|
||||||
|
@ -614,6 +644,12 @@ not reachable until one of these 2 conditions happens:
|
||||||
As a workaround, send at least a packet out from each container like
|
As a workaround, send at least a packet out from each container like
|
||||||
(ping, GARP, etc).
|
(ping, GARP, etc).
|
||||||
|
|
||||||
|
## Docker EE 17.03.2-ee-9 (2018-08-30)
|
||||||
|
|
||||||
|
### Runtime
|
||||||
|
|
||||||
|
* Update go-connections to d217f8e [docker/engine#28](https://github.com/docker/engine/pull/28)
|
||||||
|
|
||||||
## Docker EE 17.03.2-ee-8 (2017-12-13)
|
## Docker EE 17.03.2-ee-8 (2017-12-13)
|
||||||
|
|
||||||
* Handle cleanup DNS for attachable container to prevent leak in name resolution [docker/libnetwork#1999](https://github.com/docker/libnetwork/pull/1999)
|
* Handle cleanup DNS for attachable container to prevent leak in name resolution [docker/libnetwork#1999](https://github.com/docker/libnetwork/pull/1999)
|
||||||
|
|
|
@ -14,7 +14,7 @@ infrastructure, both on-premises and in the cloud.
|
||||||
|
|
||||||
Docker Enterprise Edition is a secure, scalable, and supported container
|
Docker Enterprise Edition is a secure, scalable, and supported container
|
||||||
platform for building and orchestrating applications across multi-tenant Linux,
|
platform for building and orchestrating applications across multi-tenant Linux,
|
||||||
Windows Server 2016, and IBM z Systems environments.
|
Windows Server 2016, and IBM Z environments.
|
||||||
|
|
||||||
Docker EE enables deploying your workloads for high availability (HA) onto the
|
Docker EE enables deploying your workloads for high availability (HA) onto the
|
||||||
orchestrator of your choice. Docker EE automates many of the tasks that
|
orchestrator of your choice. Docker EE automates many of the tasks that
|
||||||
|
|
|
@ -141,6 +141,8 @@ Click **Yes** to enable integrating UCP users and teams with LDAP servers.
|
||||||
| No simple pagination | If your LDAP server doesn't support pagination. |
|
| No simple pagination | If your LDAP server doesn't support pagination. |
|
||||||
| Just-In-Time User Provisioning | Whether to create user accounts only when users log in for the first time. The default value of `true` is recommended. If you upgraded from UCP 2.0.x, the default is `false`. |
|
| Just-In-Time User Provisioning | Whether to create user accounts only when users log in for the first time. The default value of `true` is recommended. If you upgraded from UCP 2.0.x, the default is `false`. |
|
||||||
|
|
||||||
|
> **Note:** LDAP connections using certificates created with TLS v1.2 do not currently advertise support for sha512WithRSAEncryption in the TLS handshake which leads to issues establishing connections with some clients. Support for advertising sha512WithRSAEncryption will be added in UCP 3.1.0.
|
||||||
|
|
||||||
{: .with-border}
|
{: .with-border}
|
||||||
|
|
||||||
Click **Confirm** to add your LDAP domain.
|
Click **Confirm** to add your LDAP domain.
|
||||||
|
|
|
@ -126,7 +126,7 @@ Follow the steps below to configure multiple IP addresses per VM NIC.
|
||||||
--secret=azure_ucp_admin.toml \
|
--secret=azure_ucp_admin.toml \
|
||||||
--log-driver json-file \
|
--log-driver json-file \
|
||||||
--log-opt max-size=1m \
|
--log-opt max-size=1m \
|
||||||
--env IPCOUNT=128 \
|
--env IP_COUNT=128 \
|
||||||
--name ipallocator \
|
--name ipallocator \
|
||||||
--constraint "node.platform.os == linux" \
|
--constraint "node.platform.os == linux" \
|
||||||
docker4x/az-nic-ips
|
docker4x/az-nic-ips
|
||||||
|
|
|
@ -19,8 +19,8 @@ communicate using host mode networking.
|
||||||
using host mode networking.
|
using host mode networking.
|
||||||
* Use host mode networking for all of the components.
|
* Use host mode networking for all of the components.
|
||||||
|
|
||||||
In this example we'll start with a production-grade deployment of the layer
|
In this example we'll start with a production-grade deployment of the layer 7
|
||||||
7 routing solution and update it so that use host mode networking instead of
|
routing solution and update it so that it uses host mode networking instead of
|
||||||
overlay networking.
|
overlay networking.
|
||||||
|
|
||||||
When using host mode networking you won't be able to use DNS service discovery,
|
When using host mode networking you won't be able to use DNS service discovery,
|
||||||
|
@ -48,7 +48,7 @@ PublishMode = "host"
|
||||||
```
|
```
|
||||||
|
|
||||||
When updating the `ucp-interlock` service to use the new Docker configuration,
|
When updating the `ucp-interlock` service to use the new Docker configuration,
|
||||||
make sure to update it so that it starts publishes its port on the host:
|
make sure to update it so that it starts publishing its port on the host:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker service update \
|
docker service update \
|
||||||
|
|
|
@ -20,6 +20,22 @@ upgrade your installation to the latest release.
|
||||||
|
|
||||||
# Version 3.0
|
# Version 3.0
|
||||||
|
|
||||||
|
## 3.0.5 (2018-08-30)
|
||||||
|
|
||||||
|
**Bug fixes**
|
||||||
|
|
||||||
|
* Security
|
||||||
|
* Fixed a critical security issue to prevent UCP from accepting certificates from
|
||||||
|
the system pool when adding client CAs to the server that requires mutual authentication.
|
||||||
|
|
||||||
|
**Known Issue**
|
||||||
|
|
||||||
|
* When you are upgrading from UCP 3.0.3 or 3.0.4, you must manually pull
|
||||||
|
`docker/ucp-agent:3.0.5` in the images section of the web UI before upgrading.
|
||||||
|
Alternately, you can just `docker pull docker/ucp-agent:3.0.5` on every manager node.
|
||||||
|
This issue is fixed in 3.0.5. Any upgrade from 3.0.5 or above should work without
|
||||||
|
manually pulling the images.
|
||||||
|
|
||||||
## 3.0.4 (2018-08-09)
|
## 3.0.4 (2018-08-09)
|
||||||
|
|
||||||
**Bug fixes**
|
**Bug fixes**
|
||||||
|
@ -275,6 +291,14 @@ deprecated. Deploy your applications as Swarm services or Kubernetes workloads.
|
||||||
|
|
||||||
# Version 2.2
|
# Version 2.2
|
||||||
|
|
||||||
|
## Version 2.2.13 (2018-08-30)
|
||||||
|
|
||||||
|
**Bug fixes**
|
||||||
|
|
||||||
|
* Security
|
||||||
|
* Fixed a critical security issue to prevent UCP from accepting certificates from
|
||||||
|
the system pool when adding client CAs to the server that requires mutual authentication.
|
||||||
|
|
||||||
## Version 2.2.12 (2018-08-09)
|
## Version 2.2.12 (2018-08-09)
|
||||||
|
|
||||||
**Bug fixes**
|
**Bug fixes**
|
||||||
|
|
|
@ -11,9 +11,9 @@ This example demonstrates how to dockerize an ASP.NET Core application.
|
||||||
## Why build ASP.NET Core?
|
## Why build ASP.NET Core?
|
||||||
|
|
||||||
- [Open-source](https://github.com/aspnet/home)
|
- [Open-source](https://github.com/aspnet/home)
|
||||||
- Develop and run your ASP.NET Core apps cross-platform on Windows, MacOS and
|
- Develop and run your ASP.NET Core apps cross-platform on Windows, MacOS, and
|
||||||
Linux
|
Linux
|
||||||
- Great for modern cloud-based apps, such as web apps, IoT apps and mobile
|
- Great for modern cloud-based apps, such as web apps, IoT apps, and mobile
|
||||||
backends
|
backends
|
||||||
- ASP.NET Core apps can run on [.NET
|
- ASP.NET Core apps can run on [.NET
|
||||||
Core](https://www.microsoft.com/net/core/platform) or on the full [.NET
|
Core](https://www.microsoft.com/net/core/platform) or on the full [.NET
|
||||||
|
@ -90,7 +90,7 @@ $ docker run -d -p 8080:80 --name myapp aspnetapp
|
||||||
directly. You can get the IP address of your container with the following
|
directly. You can get the IP address of your container with the following
|
||||||
steps:
|
steps:
|
||||||
1. Run `docker inspect -f "{% raw %}{{ .NetworkSettings.Networks.nat.IPAddress }}{% endraw %}" myapp`
|
1. Run `docker inspect -f "{% raw %}{{ .NetworkSettings.Networks.nat.IPAddress }}{% endraw %}" myapp`
|
||||||
2. Copy the container ip address and paste into your browser.
|
2. Copy the container IP address and paste into your browser.
|
||||||
(For example, `172.16.240.197`)
|
(For example, `172.16.240.197`)
|
||||||
|
|
||||||
## Further reading
|
## Further reading
|
||||||
|
|
|
@ -69,7 +69,7 @@ FROM python:2.7-slim
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
# Copy the current directory contents into the container at /app
|
# Copy the current directory contents into the container at /app
|
||||||
ADD . /app
|
COPY . /app
|
||||||
|
|
||||||
# Install any needed packages specified in requirements.txt
|
# Install any needed packages specified in requirements.txt
|
||||||
RUN pip install --trusted-host pypi.python.org -r requirements.txt
|
RUN pip install --trusted-host pypi.python.org -r requirements.txt
|
||||||
|
@ -92,7 +92,7 @@ This `Dockerfile` refers to a couple of files we haven't created yet, namely
|
||||||
Create two more files, `requirements.txt` and `app.py`, and put them in the same
|
Create two more files, `requirements.txt` and `app.py`, and put them in the same
|
||||||
folder with the `Dockerfile`. This completes our app, which as you can see is
|
folder with the `Dockerfile`. This completes our app, which as you can see is
|
||||||
quite simple. When the above `Dockerfile` is built into an image, `app.py` and
|
quite simple. When the above `Dockerfile` is built into an image, `app.py` and
|
||||||
`requirements.txt` is present because of that `Dockerfile`'s `ADD` command,
|
`requirements.txt` is present because of that `Dockerfile`'s `COPY` command,
|
||||||
and the output from `app.py` is accessible over HTTP thanks to the `EXPOSE`
|
and the output from `app.py` is accessible over HTTP thanks to the `EXPOSE`
|
||||||
command.
|
command.
|
||||||
|
|
||||||
|
|
|
@ -12,19 +12,20 @@ better with Docker.
|
||||||
|
|
||||||
## Manage Docker as a non-root user
|
## Manage Docker as a non-root user
|
||||||
|
|
||||||
The `docker` daemon binds to a Unix socket instead of a TCP port. By default
|
The Docker daemon binds to a Unix socket instead of a TCP port. By default
|
||||||
that Unix socket is owned by the user `root` and other users can only access it
|
that Unix socket is owned by the user `root` and other users can only access it
|
||||||
using `sudo`. The `docker` daemon always runs as the `root` user.
|
using `sudo`. The Docker daemon always runs as the `root` user.
|
||||||
|
|
||||||
If you don't want to use `sudo` when you use the `docker` command, create a Unix
|
If you don't want to preface the `docker` command with `sudo`, create a Unix
|
||||||
group called `docker` and add users to it. When the `docker` daemon starts, it
|
group called `docker` and add users to it. When the Docker daemon starts, it
|
||||||
makes the ownership of the Unix socket read/writable by the `docker` group.
|
creates a Unix socket accessible by members of the `docker` group.
|
||||||
|
|
||||||
> **Warning**:
|
> Warning
|
||||||
|
>
|
||||||
> The `docker` group grants privileges equivalent to the `root`
|
> The `docker` group grants privileges equivalent to the `root`
|
||||||
> user. For details on how this impacts security in your system, see
|
> user. For details on how this impacts security in your system, see
|
||||||
> [*Docker Daemon Attack Surface*](/engine/security/security.md#docker-daemon-attack-surface).
|
> [*Docker Daemon Attack Surface*](/engine/security/security.md#docker-daemon-attack-surface).
|
||||||
{:.warning}
|
{: .warning}
|
||||||
|
|
||||||
To create the `docker` group and add your user:
|
To create the `docker` group and add your user:
|
||||||
|
|
||||||
|
@ -141,9 +142,9 @@ By default, the Docker daemon listens for connections on a UNIX socket to accept
|
||||||
|
|
||||||
Configuring Docker to accept remote connections can be done with the `docker.service` systemd unit file for Linux distributions using systemd, such as recent versions of RedHat, CentOS, Ubuntu and SLES, or with the `daemon.json` file which is recommended for Linux distributions that do not use systemd.
|
Configuring Docker to accept remote connections can be done with the `docker.service` systemd unit file for Linux distributions using systemd, such as recent versions of RedHat, CentOS, Ubuntu and SLES, or with the `daemon.json` file which is recommended for Linux distributions that do not use systemd.
|
||||||
|
|
||||||
> systemd vs `daemon.json`
|
> systemd vs daemon.json
|
||||||
>
|
>
|
||||||
> Configuring docker to listen for connections using both the systemd unit file and the daemon.json
|
> Configuring Docker to listen for connections using both the `systemd` unit file and the `daemon.json`
|
||||||
> file causes a conflict that prevents Docker from starting.
|
> file causes a conflict that prevents Docker from starting.
|
||||||
|
|
||||||
### Configuring remote access with `systemd` unit file
|
### Configuring remote access with `systemd` unit file
|
||||||
|
|
|
@ -17,7 +17,7 @@ install Docker EE.
|
||||||
|
|
||||||
> Release notes
|
> Release notes
|
||||||
>
|
>
|
||||||
> You can [get release notes for all versions here](/release-notes/)
|
> [Release notes for all versions](/release-notes/)
|
||||||
|
|
||||||
## Install Docker EE
|
## Install Docker EE
|
||||||
|
|
||||||
|
@ -46,7 +46,7 @@ full list of prerequisites.
|
||||||
3. Test your Docker EE installation by running the `hello-world` container.
|
3. Test your Docker EE installation by running the `hello-world` container.
|
||||||
|
|
||||||
```PowerShell
|
```PowerShell
|
||||||
docker container run hello-world:nanoserver
|
docker run hello-world:nanoserver
|
||||||
|
|
||||||
Unable to find image 'hello-world:nanoserver' locally
|
Unable to find image 'hello-world:nanoserver' locally
|
||||||
nanoserver: Pulling from library/hello-world
|
nanoserver: Pulling from library/hello-world
|
||||||
|
@ -129,26 +129,41 @@ installs, or install on air-gapped systems.
|
||||||
|
|
||||||
## Install a specific version
|
## Install a specific version
|
||||||
|
|
||||||
To install a specific Docker version, you can use the
|
There are currently two channels available for Docker EE for Windows Server:
|
||||||
`MaximumVersion`,`MinimumVersion` or `RequiredVersion` flags. For example:
|
|
||||||
|
* `17.06` - Use this version if you're using Docker Enterprise Edition (Docker Engine, UCP, DTR). `17.06` is the default.
|
||||||
|
* `18.03` - Use this version if you're running Docker EE Engine alone.
|
||||||
|
|
||||||
|
To install a specific version, use the `RequiredVersion` flag:
|
||||||
|
|
||||||
```PowerShell
|
```PowerShell
|
||||||
Install-Package -Name docker -ProviderName DockerMsftProvider -Force -RequiredVersion 17.06.2-ee-5
|
Install-Package -Name docker -ProviderName DockerMsftProvider -Force -RequiredVersion 18.03
|
||||||
...
|
...
|
||||||
Name Version Source Summary
|
Name Version Source Summary
|
||||||
---- ------- ------ -------
|
---- ------- ------ -------
|
||||||
Docker 17.06.2-ee-5 Docker Contains Docker EE for use with Windows Server 2016...
|
Docker 18.03.1-ee-2 Docker Contains Docker EE for use with Windows Server...
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Updating the DockerMsftProvider
|
||||||
|
Installing specific Docker EE versions may require an update to previously installed DockerMsftProvider modules. To update:
|
||||||
|
|
||||||
|
```PowerShell
|
||||||
|
Update-Module DockerMsftProvider
|
||||||
|
```
|
||||||
|
|
||||||
|
Then open a new Powershell session for the update to take effect.
|
||||||
|
|
||||||
## Update Docker EE
|
## Update Docker EE
|
||||||
|
|
||||||
To update Docker EE on Windows Server 2016:
|
To update Docker EE Engine to the most recent release, specify the `-RequiredVersion` and `-Update` flags:
|
||||||
|
|
||||||
```PowerShell
|
```PowerShell
|
||||||
Install-Package -Name docker -ProviderName DockerMsftProvider -Update -Force
|
Install-Package -Name docker -ProviderName DockerMsftProvider -RequiredVersion 18.03 -Update -Force
|
||||||
```
|
```
|
||||||
|
|
||||||
If Docker Universal Control Plane (UCP) is installed, run the
|
## Preparing a Docker EE Engine for use with UCP
|
||||||
|
|
||||||
|
Run the
|
||||||
[UCP installation script for Windows](/datacenter/ucp/2.2/guides/admin/configure/join-windows-worker-nodes/#run-the-windows-node-setup-script).
|
[UCP installation script for Windows](/datacenter/ucp/2.2/guides/admin/configure/join-windows-worker-nodes/#run-the-windows-node-setup-script).
|
||||||
|
|
||||||
Start the Docker service:
|
Start the Docker service:
|
||||||
|
|
|
@ -9,7 +9,7 @@ Create a backup of a UCP manager node
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker container run --log-driver none --rm -i \
|
docker container run --log-driver none --rm \
|
||||||
--name ucp \
|
--name ucp \
|
||||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||||
docker/ucp \
|
docker/ucp \
|
||||||
|
|
|
@ -7,11 +7,14 @@ keywords: ucp, cli, id
|
||||||
Print the ID of UCP running on this node
|
Print the ID of UCP running on this node
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
|
Run the UCP id command using the correct image version tag for UCP (i.e. docker/ucp:$version)
|
||||||
|
|
||||||
```
|
```
|
||||||
docker container run --rm \
|
docker container run --rm \
|
||||||
--name ucp \
|
--name ucp \
|
||||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||||
docker/ucp \
|
docker/ucp:$version \
|
||||||
id
|
id
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -18,18 +18,13 @@ Upgrade the UCP cluster
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|
||||||
This command upgrades the UCP running on this node.
|
This command upgrades the UCP running on this cluster.
|
||||||
To upgrade UCP:
|
|
||||||
|
|
||||||
* Upgrade the Docker Engine in all nodes (optional)
|
|
||||||
* Run the upgrade command in all manager nodes
|
|
||||||
* Run the upgrade command in all worker nodes
|
|
||||||
|
|
||||||
Before performing an upgrade, you should perform a backup by using the
|
Before performing an upgrade, you should perform a backup by using the
|
||||||
[backup](backup.md) command.
|
[backup](backup.md) command.
|
||||||
|
|
||||||
After upgrading UCP in a node, go to the UCP web UI and confirm the node is
|
After upgrading UCP, go to the UCP web UI and confirm each node is
|
||||||
healthy, before upgrading other nodes.
|
healthy and that all nodes have been upgraded successfully.
|
||||||
|
|
||||||
|
|
||||||
## Options
|
## Options
|
||||||
|
|
|
@ -458,8 +458,8 @@ secrets.
|
||||||
You may want to leverage more advanced basic auth implementations by using a
|
You may want to leverage more advanced basic auth implementations by using a
|
||||||
proxy in front of the registry. See the [recipes list](recipes/index.md).
|
proxy in front of the registry. See the [recipes list](recipes/index.md).
|
||||||
|
|
||||||
The registry also supports delegated authentiation, which redirects users to a
|
The registry also supports delegated authentication which redirects users to a
|
||||||
specific, trusted token server. This approach is more complicated to set up, and
|
specific trusted token server. This approach is more complicated to set up, and
|
||||||
only makes sense if you need to fully configure ACLs and need more control over
|
only makes sense if you need to fully configure ACLs and need more control over
|
||||||
the registry's integration into your global authorization and authentication
|
the registry's integration into your global authorization and authentication
|
||||||
systems. Refer to the following [background information](spec/auth/token.md) and
|
systems. Refer to the following [background information](spec/auth/token.md) and
|
||||||
|
|
|
@ -597,6 +597,12 @@ Release notes for stable versions are listed first. You can
|
||||||
|
|
||||||
* Disable legacy registry (v1) by default [#33629](https://github.com/moby/moby/pull/33629)
|
* Disable legacy registry (v1) by default [#33629](https://github.com/moby/moby/pull/33629)
|
||||||
|
|
||||||
|
## 17.03.3-ce (2018-08-30)
|
||||||
|
|
||||||
|
### Runtime
|
||||||
|
|
||||||
|
* Update go-connections to d217f8e [#28](https://github.com/docker/engine/pull/28)
|
||||||
|
|
||||||
## 17.03.2-ce (2017-05-29)
|
## 17.03.2-ce (2017-05-29)
|
||||||
|
|
||||||
### Networking
|
### Networking
|
||||||
|
|
|
@ -45,7 +45,7 @@ Run popular software using Docker.
|
||||||
| [ASP.NET Core + SQL Server on Linux](/compose/aspnet-mssql-compose) | Run a Dockerized ASP.NET Core + SQL Server environment. |
|
| [ASP.NET Core + SQL Server on Linux](/compose/aspnet-mssql-compose) | Run a Dockerized ASP.NET Core + SQL Server environment. |
|
||||||
| [CouchDB](/engine/examples/couchdb_data_volumes) | Run a Dockerized CouchDB instance. |
|
| [CouchDB](/engine/examples/couchdb_data_volumes) | Run a Dockerized CouchDB instance. |
|
||||||
| [Django + PostgreSQL](/compose/django/) | Run a Dockerized Django + PostgreSQL environment. |
|
| [Django + PostgreSQL](/compose/django/) | Run a Dockerized Django + PostgreSQL environment. |
|
||||||
| [PostgreSQL](/engine/examples/postgresql_service) | Run a Dockerized PosgreSQL instance. |
|
| [PostgreSQL](/engine/examples/postgresql_service) | Run a Dockerized PostgreSQL instance. |
|
||||||
| [Rails + PostgreSQL](/compose/rails/) | Run a Dockerized Rails + PostgreSQL environment. |
|
| [Rails + PostgreSQL](/compose/rails/) | Run a Dockerized Rails + PostgreSQL environment. |
|
||||||
| [Riak](/engine/examples/running_riak_service) | Run a Dockerized Riak instance. |
|
| [Riak](/engine/examples/running_riak_service) | Run a Dockerized Riak instance. |
|
||||||
| [SSHd](/engine/examples/running_ssh_service) | Run a Dockerized SSHd instance. |
|
| [SSHd](/engine/examples/running_ssh_service) | Run a Dockerized SSHd instance. |
|
||||||
|
|
|
@ -90,7 +90,7 @@ you, but generates an error.
|
||||||
## Start a container with a bind mount
|
## Start a container with a bind mount
|
||||||
|
|
||||||
Consider a case where you have a directory `source` and that when you build the
|
Consider a case where you have a directory `source` and that when you build the
|
||||||
source code, the artifacts are saved into another directory `source/target/`.
|
source code, the artifacts are saved into another directory, `source/target/`.
|
||||||
You want the artifacts to be available to the container at `/app/`, and you
|
You want the artifacts to be available to the container at `/app/`, and you
|
||||||
want the container to get access to a new build each time you build the source
|
want the container to get access to a new build each time you build the source
|
||||||
on your development host. Use the following command to bind-mount the `target/`
|
on your development host. Use the following command to bind-mount the `target/`
|
||||||
|
|
|
@ -32,7 +32,6 @@ potential performance advantages over the `aufs` storage driver.
|
||||||
`ecryptfs`. This means that the filesystem which contains
|
`ecryptfs`. This means that the filesystem which contains
|
||||||
`/var/lib/docker/aufs` cannot be one of these filesystem types.
|
`/var/lib/docker/aufs` cannot be one of these filesystem types.
|
||||||
|
|
||||||
|
|
||||||
## Configure Docker with the `aufs` storage driver
|
## Configure Docker with the `aufs` storage driver
|
||||||
|
|
||||||
If the AUFS driver is loaded into the kernel when you start Docker, and no other
|
If the AUFS driver is loaded into the kernel when you start Docker, and no other
|
||||||
|
@ -66,13 +65,12 @@ storage driver is configured, Docker uses it by default.
|
||||||
`/etc/docker/daemon.json` or the output of `ps auxw | grep dockerd` to see
|
`/etc/docker/daemon.json` or the output of `ps auxw | grep dockerd` to see
|
||||||
if Docker has been started with the `--storage-driver` flag.
|
if Docker has been started with the `--storage-driver` flag.
|
||||||
|
|
||||||
|
|
||||||
## How the `aufs` storage driver works
|
## How the `aufs` storage driver works
|
||||||
|
|
||||||
AUFS is a *union filesystem*, which means that it layers multiple directories on
|
AUFS is a *union filesystem*, which means that it layers multiple directories on
|
||||||
a single Linux host and presents them as a single directory. These directories
|
a single Linux host and presents them as a single directory. These directories
|
||||||
are called _branches_ in AUFS terminology, and _layers_ in Docker terminology.
|
are called _branches_ in AUFS terminology, and _layers_ in Docker terminology.
|
||||||
The unification process is referred to a a _union mount_.
|
The unification process is referred to as a _union mount_.
|
||||||
|
|
||||||
The diagram below shows a Docker container based on the `ubuntu:latest` image.
|
The diagram below shows a Docker container based on the `ubuntu:latest` image.
|
||||||
|
|
||||||
|
@ -228,7 +226,6 @@ The following generic performance best practices also apply to AUFS.
|
||||||
|
|
||||||
## Related information
|
## Related information
|
||||||
|
|
||||||
* [Volumes](/storage/volumes.md)
|
- [Volumes](/storage/volumes.md)
|
||||||
* [Understand images, containers, and storage drivers](imagesandcontainers.md)
|
- [Understand images, containers, and storage drivers](imagesandcontainers.md)
|
||||||
* [Select a storage driver](selectadriver.md)
|
- [Select a storage driver](selectadriver.md)
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@ Docker.
|
||||||
The `devicemapper` driver uses block devices dedicated to Docker and operates at
|
The `devicemapper` driver uses block devices dedicated to Docker and operates at
|
||||||
the block level, rather than the file level. These devices can be extended by
|
the block level, rather than the file level. These devices can be extended by
|
||||||
adding physical storage to your Docker host, and they perform better than using
|
adding physical storage to your Docker host, and they perform better than using
|
||||||
a filesystem at the level of the operating system.
|
a filesystem at the operating system (OS) level.
|
||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
|
@ -32,8 +32,8 @@ a filesystem at the level of the operating system.
|
||||||
|
|
||||||
- Changing the storage driver makes any containers you have already
|
- Changing the storage driver makes any containers you have already
|
||||||
created inaccessible on the local system. Use `docker save` to save containers,
|
created inaccessible on the local system. Use `docker save` to save containers,
|
||||||
and push existing images to Docker Hub or a private repository, so that you
|
and push existing images to Docker Hub or a private repository, so you do
|
||||||
not need to re-create them later.
|
not need to recreate them later.
|
||||||
|
|
||||||
## Configure Docker with the `devicemapper` storage driver
|
## Configure Docker with the `devicemapper` storage driver
|
||||||
|
|
||||||
|
@ -136,14 +136,14 @@ below to configure Docker to use the `devicemapper` storage driver in
|
||||||
|
|
||||||
> **Warning**: Changing the storage driver makes any containers you have already
|
> **Warning**: Changing the storage driver makes any containers you have already
|
||||||
created inaccessible on the local system. Use `docker save` to save containers,
|
created inaccessible on the local system. Use `docker save` to save containers,
|
||||||
and push existing images to Docker Hub or a private repository, so that you
|
and push existing images to Docker Hub or a private repository, so you do not
|
||||||
don't need to recreate them later.
|
need to recreate them later.
|
||||||
|
|
||||||
#### Allow Docker to configure direct-lvm mode
|
#### Allow Docker to configure direct-lvm mode
|
||||||
|
|
||||||
In Docker 17.06 and higher, Docker can manage the block device for you,
|
With Docker `17.06` and higher, Docker can manage the block device for you,
|
||||||
simplifying configuration of `direct-lvm` mode. **This is appropriate for fresh
|
simplifying configuration of `direct-lvm` mode. **This is appropriate for fresh
|
||||||
Docker set-ups only.** You can only use a single block device. If you need to
|
Docker setups only.** You can only use a single block device. If you need to
|
||||||
use multiple block devices, [configure direct-lvm mode
|
use multiple block devices, [configure direct-lvm mode
|
||||||
manually](#configure-direct-lvm-mode-manually) instead. The following new
|
manually](#configure-direct-lvm-mode-manually) instead. The following new
|
||||||
configuration options have been added:
|
configuration options have been added:
|
||||||
|
@ -158,7 +158,7 @@ configuration options have been added:
|
||||||
| `dm.directlvm_device_force` | Whether to format the block device even if a filesystem already exists on it. If set to `false` and a filesystem is present, an error is logged and the filesystem is left intact. | No | false | `dm.directlvm_device_force=true` |
|
| `dm.directlvm_device_force` | Whether to format the block device even if a filesystem already exists on it. If set to `false` and a filesystem is present, an error is logged and the filesystem is left intact. | No | false | `dm.directlvm_device_force=true` |
|
||||||
|
|
||||||
Edit the `daemon.json` file and set the appropriate options, then restart Docker
|
Edit the `daemon.json` file and set the appropriate options, then restart Docker
|
||||||
for the changes to take effect. The following `daemon.json` sets all of the
|
for the changes to take effect. The following `daemon.json` configuration sets all of the
|
||||||
options in the table above.
|
options in the table above.
|
||||||
|
|
||||||
```json
|
```json
|
||||||
|
|
|
@ -10,7 +10,7 @@ redirect_from:
|
||||||
---
|
---
|
||||||
|
|
||||||
To use storage drivers effectively, it's important to know how Docker builds and
|
To use storage drivers effectively, it's important to know how Docker builds and
|
||||||
stores images, how these images are used by containers. You can use this
|
stores images, and how these images are used by containers. You can use this
|
||||||
information to make informed choices about the best way to persist data from
|
information to make informed choices about the best way to persist data from
|
||||||
your applications and avoid performance problems along the way.
|
your applications and avoid performance problems along the way.
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ RUN make /app
|
||||||
CMD python /app/app.py
|
CMD python /app/app.py
|
||||||
```
|
```
|
||||||
|
|
||||||
This Dockerfile contains four commands, each of which creates a layer. The
|
This Dockerfile contains four commands, each of which creates a layer. The
|
||||||
`FROM` statement starts out by creating a layer from the `ubuntu:15.04` image.
|
`FROM` statement starts out by creating a layer from the `ubuntu:15.04` image.
|
||||||
The `COPY` command adds some files from your Docker client's current directory.
|
The `COPY` command adds some files from your Docker client's current directory.
|
||||||
The `RUN` command builds your application using the `make` command. Finally,
|
The `RUN` command builds your application using the `make` command. Finally,
|
||||||
|
@ -82,7 +82,7 @@ To view the approximate size of a running container, you can use the `docker ps
|
||||||
command. Two different columns relate to size.
|
command. Two different columns relate to size.
|
||||||
|
|
||||||
- `size`: the amount of data (on disk) that is used for the writable layer of
|
- `size`: the amount of data (on disk) that is used for the writable layer of
|
||||||
each container
|
each container.
|
||||||
|
|
||||||
- `virtual size`: the amount of data used for the read-only image data
|
- `virtual size`: the amount of data used for the read-only image data
|
||||||
used by the container plus the container's writable layer `size`.
|
used by the container plus the container's writable layer `size`.
|
||||||
|
|
|
@ -269,7 +269,7 @@ for `overlay2`.
|
||||||
|
|
||||||
OverlayFS layers two directories on a single Linux host and presents them as
|
OverlayFS layers two directories on a single Linux host and presents them as
|
||||||
a single directory. These directories are called _layers_ and the unification
|
a single directory. These directories are called _layers_ and the unification
|
||||||
process is referred to a a _union mount_. OverlayFS refers to the lower directory
|
process is referred to as a _union mount_. OverlayFS refers to the lower directory
|
||||||
as `lowerdir` and the upper directory a `upperdir`. The unified view is exposed
|
as `lowerdir` and the upper directory a `upperdir`. The unified view is exposed
|
||||||
through its own directory called `merged`.
|
through its own directory called `merged`.
|
||||||
|
|
||||||
|
|
|
@ -38,7 +38,7 @@ the `--mount` flag was used for swarm services. However, starting with Docker
|
||||||
`--tmpfs` flag does not support any configurable options.
|
`--tmpfs` flag does not support any configurable options.
|
||||||
|
|
||||||
- **`--tmpfs`**: Mounts a `tmpfs` mount without allowing you to specify any
|
- **`--tmpfs`**: Mounts a `tmpfs` mount without allowing you to specify any
|
||||||
configurable options, and can only be used with standalone containers.
|
configurable options, and can only be used with standalone containers.
|
||||||
|
|
||||||
- **`--mount`**: Consists of multiple key-value pairs, separated by commas and each
|
- **`--mount`**: Consists of multiple key-value pairs, separated by commas and each
|
||||||
consisting of a `<key>=<value>` tuple. The `--mount` syntax is more verbose
|
consisting of a `<key>=<value>` tuple. The `--mount` syntax is more verbose
|
||||||
|
|
|
@ -354,7 +354,7 @@ $ docker run -d \
|
||||||
</div><!--volume-->
|
</div><!--volume-->
|
||||||
</div><!--tab-content-->
|
</div><!--tab-content-->
|
||||||
|
|
||||||
Use `docker inspect nginxtest` to verify that the bind mount was created
|
Use `docker inspect nginxtest` to verify that the readonly mount was created
|
||||||
correctly. Look for the `Mounts` section:
|
correctly. Look for the `Mounts` section:
|
||||||
|
|
||||||
```json
|
```json
|
||||||
|
|
2
test.md
2
test.md
|
@ -646,12 +646,14 @@ It renders like this with a colored sidebar and icon:
|
||||||
|
|
||||||
Use the `warning` class to let people know this is dangerous or they should pay close attention to this part of the road before moving on:
|
Use the `warning` class to let people know this is dangerous or they should pay close attention to this part of the road before moving on:
|
||||||
|
|
||||||
|
```
|
||||||
> Ouch, don't do that!
|
> Ouch, don't do that!
|
||||||
>
|
>
|
||||||
> Sticking your finger in an electrical outlet can result in an electric shock.
|
> Sticking your finger in an electrical outlet can result in an electric shock.
|
||||||
>
|
>
|
||||||
> You can also add more paragraphs here if your explanation is super complex.
|
> You can also add more paragraphs here if your explanation is super complex.
|
||||||
{: .warning}
|
{: .warning}
|
||||||
|
```
|
||||||
|
|
||||||
It will render like this with a colored sidebar and icon:
|
It will render like this with a colored sidebar and icon:
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue