github.com/guilhermebr/docker@v1.4.2-0.20150428121140-67da055cebca/docs/sources/reference/glossary.md (about) 1 page_title: Docker Glossary 2 page_description: Glossary of terms used around Docker 3 page_keywords: glossary, docker, terms, definitions 4 5 # Glossary 6 7 A list of terms used around the Docker project. 8 9 ## aufs 10 11 aufs (advanced multi layered unification filesystem) is a Linux [filesystem](#filesystem) that 12 Docker supports as a storage backend. It implements the 13 [union mount](http://en.wikipedia.org/wiki/Union_mount) for Linux file systems. 14 15 ## boot2docker 16 17 [boot2docker](http://boot2docker.io/) is a lightweight Linux distribution made 18 specifically to run Docker containers. It is a common choice for a [VM](#virtual-machine) 19 to run Docker on Windows and Mac OS X. 20 21 boot2docker can also refer to the boot2docker management tool on Windows and 22 Mac OS X which manages the boot2docker VM. 23 24 ## btrfs 25 26 btrfs (B-tree file system) is a Linux [filesystem](#filesystem) that Docker 27 supports as a storage backend. It is a [copy-on-write](http://en.wikipedia.org/wiki/Copy-on-write) 28 filesystem. 29 30 ## build 31 32 build is the process of building Docker images using a [Dockerfile](#dockerfile). 33 The build uses a Dockerfile and a "context". The context is the set of files in the 34 directory in which the image is built. 35 36 ## cgroups 37 38 cgroups is a Linux kernel feature that limits, accounts for, and isolates 39 the resource usage (CPU, memory, disk I/O, network, etc.) of a collection 40 of processes. Docker relies on cgroups to control and isolate resource limits. 41 42 *Also known as : control groups* 43 44 ## Compose 45 46 [Compose](https://github.com/docker/compose) is a tool for defining and 47 running complex applications with Docker. With compose, you define a 48 multi-container application in a single file, then spin your 49 application up in a single command which does everything that needs to 50 be done to get it running. 51 52 *Also known as : docker-compose, fig* 53 54 ## container 55 56 A container is a runtime instance of a [docker image](#image). 57 58 A Docker container consists of 59 60 - A Docker image 61 - Execution environment 62 - A standard set of instructions 63 64 The concept is borrowed from Shipping Containers, which define a standard to ship 65 goods globally. Docker defines a standard to ship software. 66 67 ## data volume 68 69 A data volume is a specially-designated directory within one or more containers 70 that bypasses the Union File System. Data volumes are designed to persist data, 71 independent of the container's life cycle. Docker therefore never automatically 72 delete volumes when you remove a container, nor will it "garbage collect" 73 volumes that are no longer referenced by a container. 74 75 76 ## Docker 77 78 The term Docker can refer to 79 80 - The Docker project as a whole, which is a platform for developers and sysadmins to 81 develop, ship, and run applications 82 - The docker daemon process running on the host which manages images and containers 83 84 85 ## Docker Hub 86 87 The [Docker Hub](https://hub.docker.com/) is a centralized resource for working with 88 Docker and its components. It provides the following services: 89 90 - Docker image hosting 91 - User authentication 92 - Automated image builds and work-flow tools such as build triggers and web hooks 93 - Integration with GitHub and BitBucket 94 95 96 ## Dockerfile 97 98 A Dockerfile is a text document that contains all the commands you would 99 normally execute manually in order to build a Docker image. Docker can 100 build images automatically by reading the instructions from a Dockerfile. 101 102 ## filesystem 103 104 A file system is the method an operating system uses to name files 105 and assign them locations for efficient storage and retrieval. 106 107 Examples : 108 109 - Linux : ext4, aufs, btrfs, zfs 110 - Windows : NTFS 111 - OS X : HFS+ 112 113 ## image 114 115 Docker images are the basis of [containers](#container). An Image is an 116 ordered collection of root filesystem changes and the corresponding 117 execution parameters for use within a container runtime. An image typically 118 contains a union of layered filesystems stacked on top of each other. An image 119 does not have state and it never changes. 120 121 ## libcontainer 122 123 libcontainer provides a native Go implementation for creating containers with 124 namespaces, cgroups, capabilities, and filesystem access controls. It allows 125 you to manage the lifecycle of the container performing additional operations 126 after the container is created. 127 128 ## link 129 130 links provide an interface to connect Docker containers running on the same host 131 to each other without exposing the hosts' network ports. When you set up a link, 132 you create a conduit between a source container and a recipient container. 133 The recipient can then access select data about the source. To create a link, 134 you can use the `--link` flag. 135 136 ## Machine 137 138 [Machine](https://github.com/docker/machine) is a Docker tool which 139 makes it really easy to create Docker hosts on your computer, on 140 cloud providers and inside your own data center. It creates servers, 141 installs Docker on them, then configures the Docker client to talk to them. 142 143 *Also known as : docker-machine* 144 145 ## overlay 146 147 OverlayFS is a [filesystem](#filesystem) service for Linux which implements a 148 [union mount](http://en.wikipedia.org/wiki/Union_mount) for other file systems. 149 It is supported by the Docker daemon as a storage driver. 150 151 ## registry 152 153 A Registry is a hosted service containing [repositories](#repository) of [images](#image) 154 which responds to the Registry API. 155 156 The default registry can be accessed using a browser at [Docker Hub](#docker-hub) 157 or using the `docker search` command. 158 159 ## repository 160 161 A repository is a set of Docker images. A repository can be shared by pushing it 162 to a [registry](#registry) server. The different images in the repository can be 163 labeled using [tags](#tag). 164 165 Here is an example of the shared [nginx repository](https://registry.hub.docker.com/_/nginx/) 166 and its [tags](https://registry.hub.docker.com/_/nginx/tags/manage/) 167 168 ## Swarm 169 170 [Swarm](https://github.com/docker/swarm) is a native clustering tool for Docker. 171 Swarm pools together several Docker hosts and exposes them as a single virtual 172 Docker host. It serves the standard Docker API, so any tool that already works 173 with Docker can now transparently scale up to multiple hosts. 174 175 *Also known as : docker-swarm* 176 177 ## tag 178 179 A tag is a label applied to a Docker image in a [repository](#repository). 180 tags are how various images in a repository are distinguished from each other. 181 182 *Note : This label is not related to the key=value labels set for docker daemon* 183 184 ## Union file system 185 186 Union file systems, or UnionFS, are file systems that operate by creating layers, making them 187 very lightweight and fast. Docker uses union file systems to provide the building 188 blocks for containers. 189 190 191 ## Virtual Machine 192 193 A Virtual Machine is a program that emulates a complete computer and imitates dedicated hardware. 194 It shares physical hardware resources with other users but isolates the operating system. The 195 end user has the same experience on a Virtual Machine as they would have on dedicated hardware. 196 197 Compared to to containers, a Virtual Machine is heavier to run, provides more isolation, 198 gets its own set of resources and does minimal sharing. 199 200 *Also known as : VM* 201