Signed-off-by: Mary Anthony <mary@docker.com>
| ... | ... |
@@ -1,6 +1,6 @@ |
| 1 | 1 |
<!-- [metadata]> |
| 2 | 2 |
+++ |
| 3 |
-title = "Using the command line" |
|
| 3 |
+title = "Docker Engine Commands" |
|
| 4 | 4 |
description = "Docker's CLI command description and usage" |
| 5 | 5 |
keywords = ["Docker, Docker documentation, CLI, command line"] |
| 6 | 6 |
[menu.main] |
| ... | ... |
@@ -12,7 +12,7 @@ parent = "mn_reference" |
| 12 | 12 |
|
| 13 | 13 |
# The Docker commands |
| 14 | 14 |
|
| 15 |
-This section contains reference information on using Docker's command line client. Each command has a reference page along with samples. If you are unfamiliar with the command line, you should start by reading about how to ["Use the Docker command line"](cli.md). |
|
| 15 |
+This section contains reference information on using Docker's command line client. Each command has a reference page along with samples. If you are unfamiliar with the command line, you should start by reading about how to [Use the Docker command line](cli.md). |
|
| 16 | 16 |
|
| 17 | 17 |
You start the Docker daemon with the command line. How you start the daemon affects your Docker containers. For that reason you should also make sure to read the [`daemon`](daemon.md) reference page. |
| 18 | 18 |
|
| ... | ... |
@@ -210,18 +210,20 @@ The procedure below will create a 90GB data volume and 4GB metadata volume to us |
| 210 | 210 |
|
| 211 | 211 |
5. Start the Docker daemon with the `devicemapper` storage driver and the `--storage-opt` flags. |
| 212 | 212 |
|
| 213 |
- The `data` and `metadata` devices that you pass to the `--storage-opt` options were created in the previous steps. |
|
| 214 |
- |
|
| 215 |
- $ sudo docker daemon --storage-driver=devicemapper --storage-opt dm.datadev=/dev/vg-docker/data --storage-opt dm.metadatadev=/dev/vg-docker/metadata & |
|
| 216 |
- [1] 2163 |
|
| 217 |
- [root@ip-10-0-0-75 centos]# INFO[0000] Listening for HTTP on unix (/var/run/docker.sock) |
|
| 218 |
- INFO[0027] Option DefaultDriver: bridge |
|
| 219 |
- INFO[0027] Option DefaultNetwork: bridge |
|
| 220 |
- <output truncated> |
|
| 221 |
- INFO[0027] Daemon has completed initialization |
|
| 222 |
- INFO[0027] Docker daemon commit=0a8c2e3 execdriver=native-0.2 graphdriver=devicemapper version=1.8.2 |
|
| 223 |
- |
|
| 224 |
- It is also possible to set the `--storage-driver` and `--storage-opt` flags in the Docker config file and start the daemon normally using the `service` or `systemd` commands. |
|
| 213 |
+ The `data` and `metadata` devices that you pass to the `--storage-opt` options were created in the previous steps. |
|
| 214 |
+ |
|
| 215 |
+ $ sudo docker daemon --storage-driver=devicemapper --storage-opt dm.datadev=/dev/vg-docker/data --storage-opt dm.metadatadev=/dev/vg-docker/metadata & |
|
| 216 |
+ [1] 2163 |
|
| 217 |
+ [root@ip-10-0-0-75 centos]# INFO[0000] Listening for HTTP on unix (/var/run/docker.sock) |
|
| 218 |
+ INFO[0027] Option DefaultDriver: bridge |
|
| 219 |
+ INFO[0027] Option DefaultNetwork: bridge |
|
| 220 |
+ <output truncated> |
|
| 221 |
+ INFO[0027] Daemon has completed initialization |
|
| 222 |
+ INFO[0027] Docker daemon commit=0a8c2e3 execdriver=native-0.2 graphdriver=devicemapper version=1.8.2 |
|
| 223 |
+ |
|
| 224 |
+ It is also possible to set the `--storage-driver` and `--storage-opt` flags in |
|
| 225 |
+ the Docker config file and start the daemon normally using the `service` or |
|
| 226 |
+ `systemd` commands. |
|
| 225 | 227 |
|
| 226 | 228 |
6. Use the `docker info` command to verify that the daemon is using `data` and `metadata` devices you created. |
| 227 | 229 |
|
| ... | ... |
@@ -137,7 +137,7 @@ Once ZFS is installed and loaded, you're ready to configure ZFS for Docker. |
| 137 | 137 |
|
| 138 | 138 |
$ sudo zpool create -f zpool-docker /dev/xvdb |
| 139 | 139 |
|
| 140 |
- The command creates the `zpool` and gives it the name "zpool-docker". The name is arbitrary. |
|
| 140 |
+ The command creates the `zpool` and gives it the name "zpool-docker". The name is arbitrary. |
|
| 141 | 141 |
|
| 142 | 142 |
2. Check that the `zpool` exists. |
| 143 | 143 |
|
| ... | ... |
@@ -156,7 +156,7 @@ Once ZFS is installed and loaded, you're ready to configure ZFS for Docker. |
| 156 | 156 |
zpool-docker 93.5K 3.84G 19K /zpool-docker |
| 157 | 157 |
zpool-docker/docker 19K 3.84G 19K /var/lib/docker |
| 158 | 158 |
|
| 159 |
- Now that you have a ZFS filesystem mounted to `/var/lib/docker`, the daemon should automatically load with the `zfs` storage driver. |
|
| 159 |
+ Now that you have a ZFS filesystem mounted to `/var/lib/docker`, the daemon should automatically load with the `zfs` storage driver. |
|
| 160 | 160 |
|
| 161 | 161 |
5. Start the Docker daemon. |
| 162 | 162 |
|
| ... | ... |
@@ -185,9 +185,9 @@ Once ZFS is installed and loaded, you're ready to configure ZFS for Docker. |
| 185 | 185 |
Execution Driver: native-0.2 |
| 186 | 186 |
[...] |
| 187 | 187 |
|
| 188 |
- The output of the command above shows that the Docker daemon is using the |
|
| 189 |
- `zfs` storage driver and that the parent dataset is the `zpool-docker/docker` |
|
| 190 |
- filesystem created earlier. |
|
| 188 |
+ The output of the command above shows that the Docker daemon is using the |
|
| 189 |
+ `zfs` storage driver and that the parent dataset is the `zpool-docker/docker` |
|
| 190 |
+ filesystem created earlier. |
|
| 191 | 191 |
|
| 192 | 192 |
Your Docker host is now using ZFS to store to manage its images and containers. |
| 193 | 193 |
|
| ... | ... |
@@ -207,7 +207,7 @@ using them with ZFS. |
| 207 | 207 |
|
| 208 | 208 |
* **ZFS Caching**. ZFS caches disk blocks in a memory structure called the adaptive replacement cache (ARC). The *Single Copy ARC* feature of ZFS allows a single cached copy of a block to be shared by multiple clones of a filesystem. This means that multiple running containers can share a single copy of cached block. This means that ZFS is a good option for PaaS and other high density use cases. |
| 209 | 209 |
|
| 210 |
-- **Fragmentation**. Fragmentation is a natural byproduct of copy-on-write filesystems like ZFS. However, ZFS writes in 128K blocks and allocates *slabs* (multiple 128K blocks) to CoW operations in an attempt to reduce fragmentation. The ZFS intent log (ZIL) and the coalescing of writes (delayed writes) also help to reduce fragmentation. |
|
| 210 |
+- **Fragmentation**. Fragmentation is a natural byproduct of copy-on-write filesystems like ZFS. However, ZFS writes in 128K blocks and allocates *slabs* (multiple 128K blocks) to CoW operations in an attempt to reduce fragmentation. The ZFS intent log (ZIL) and the coalescing of writes (delayed writes) also help to reduce fragmentation. |
|
| 211 | 211 |
|
| 212 | 212 |
- **Use the native ZFS driver for Linux**. Although the Docker `zfs` storage driver supports the ZFS FUSE implementation, it is not recommended when high performance is required. The native ZFS on Linux driver tends to perform better than the FUSE implementation. |
| 213 | 213 |
|