github.com/dpiddy/docker@v1.12.2-rc1/docs/reference/glossary.md (about) 1 <!--[metadata]> 2 +++ 3 title = "Docker Glossary" 4 description = "Glossary of terms used around Docker" 5 keywords = ["glossary, docker, terms, definitions"] 6 [menu.main] 7 parent = "mn_about" 8 weight = "50" 9 +++ 10 <![end-metadata]--> 11 12 # Glossary 13 14 A list of terms used around the Docker project. 15 16 ## aufs 17 18 aufs (advanced multi layered unification filesystem) is a Linux [filesystem](#filesystem) that 19 Docker supports as a storage backend. It implements the 20 [union mount](http://en.wikipedia.org/wiki/Union_mount) for Linux file systems. 21 22 ## base image 23 24 An image that has no parent is a **base image**. 25 26 ## boot2docker 27 28 [boot2docker](http://boot2docker.io/) is a lightweight Linux distribution made 29 specifically to run Docker containers. The boot2docker management tool for Mac and Windows was deprecated and replaced by [`docker-machine`](#machine) which you can install with the Docker Toolbox. 30 31 ## btrfs 32 33 btrfs (B-tree file system) is a Linux [filesystem](#filesystem) that Docker 34 supports as a storage backend. It is a [copy-on-write](http://en.wikipedia.org/wiki/Copy-on-write) 35 filesystem. 36 37 ## build 38 39 build is the process of building Docker images using a [Dockerfile](#dockerfile). 40 The build uses a Dockerfile and a "context". The context is the set of files in the 41 directory in which the image is built. 42 43 ## cgroups 44 45 cgroups is a Linux kernel feature that limits, accounts for, and isolates 46 the resource usage (CPU, memory, disk I/O, network, etc.) of a collection 47 of processes. Docker relies on cgroups to control and isolate resource limits. 48 49 *Also known as : control groups* 50 51 ## Compose 52 53 [Compose](https://github.com/docker/compose) is a tool for defining and 54 running complex applications with Docker. With compose, you define a 55 multi-container application in a single file, then spin your 56 application up in a single command which does everything that needs to 57 be done to get it running. 58 59 *Also known as : docker-compose, fig* 60 61 ## container 62 63 A container is a runtime instance of a [docker image](#image). 64 65 A Docker container consists of 66 67 - A Docker image 68 - Execution environment 69 - A standard set of instructions 70 71 The concept is borrowed from Shipping Containers, which define a standard to ship 72 goods globally. Docker defines a standard to ship software. 73 74 ## data volume 75 76 A data volume is a specially-designated directory within one or more containers 77 that bypasses the Union File System. Data volumes are designed to persist data, 78 independent of the container's life cycle. Docker therefore never automatically 79 delete volumes when you remove a container, nor will it "garbage collect" 80 volumes that are no longer referenced by a container. 81 82 83 ## Docker 84 85 The term Docker can refer to 86 87 - The Docker project as a whole, which is a platform for developers and sysadmins to 88 develop, ship, and run applications 89 - The docker daemon process running on the host which manages images and containers 90 91 92 ## Docker Hub 93 94 The [Docker Hub](https://hub.docker.com/) is a centralized resource for working with 95 Docker and its components. It provides the following services: 96 97 - Docker image hosting 98 - User authentication 99 - Automated image builds and work-flow tools such as build triggers and web hooks 100 - Integration with GitHub and Bitbucket 101 102 103 ## Dockerfile 104 105 A Dockerfile is a text document that contains all the commands you would 106 normally execute manually in order to build a Docker image. Docker can 107 build images automatically by reading the instructions from a Dockerfile. 108 109 ## filesystem 110 111 A file system is the method an operating system uses to name files 112 and assign them locations for efficient storage and retrieval. 113 114 Examples : 115 116 - Linux : ext4, aufs, btrfs, zfs 117 - Windows : NTFS 118 - OS X : HFS+ 119 120 ## image 121 122 Docker images are the basis of [containers](#container). An Image is an 123 ordered collection of root filesystem changes and the corresponding 124 execution parameters for use within a container runtime. An image typically 125 contains a union of layered filesystems stacked on top of each other. An image 126 does not have state and it never changes. 127 128 ## libcontainer 129 130 libcontainer provides a native Go implementation for creating containers with 131 namespaces, cgroups, capabilities, and filesystem access controls. It allows 132 you to manage the lifecycle of the container performing additional operations 133 after the container is created. 134 135 ## libnetwork 136 137 libnetwork provides a native Go implementation for creating and managing container 138 network namespaces and other network resources. It manage the networking lifecycle 139 of the container performing additional operations after the container is created. 140 141 ## link 142 143 links provide a legacy interface to connect Docker containers running on the 144 same host to each other without exposing the hosts' network ports. Use the 145 Docker networks feature instead. 146 147 ## Machine 148 149 [Machine](https://github.com/docker/machine) is a Docker tool which 150 makes it really easy to create Docker hosts on your computer, on 151 cloud providers and inside your own data center. It creates servers, 152 installs Docker on them, then configures the Docker client to talk to them. 153 154 *Also known as : docker-machine* 155 156 ## node 157 158 A [node](../swarm/how-swarm-mode-works/nodes.md) is a physical or virtual 159 machine running an instance of the Docker Engine in swarm mode. 160 161 **Manager nodes** perform swarm management and orchestration duties. By default 162 manager nodes are also worker nodes. 163 164 **Worker nodes** execute tasks. 165 166 ## overlay network driver 167 168 Overlay network driver provides out of the box multi-host network connectivity 169 for docker containers in a cluster. 170 171 ## overlay storage driver 172 173 OverlayFS is a [filesystem](#filesystem) service for Linux which implements a 174 [union mount](http://en.wikipedia.org/wiki/Union_mount) for other file systems. 175 It is supported by the Docker daemon as a storage driver. 176 177 ## registry 178 179 A Registry is a hosted service containing [repositories](#repository) of [images](#image) 180 which responds to the Registry API. 181 182 The default registry can be accessed using a browser at [Docker Hub](#docker-hub) 183 or using the `docker search` command. 184 185 ## repository 186 187 A repository is a set of Docker images. A repository can be shared by pushing it 188 to a [registry](#registry) server. The different images in the repository can be 189 labeled using [tags](#tag). 190 191 Here is an example of the shared [nginx repository](https://hub.docker.com/_/nginx/) 192 and its [tags](https://hub.docker.com/r/library/nginx/tags/) 193 194 195 ## service 196 197 A [service](../swarm/how-swarm-mode-works/services.md) is the definition of how 198 you want to run your application containers in a swarm. At the most basic level 199 a service defines which container image to run in the swarm and which commands 200 to run in the container. For orchestration purposes, the service defines the 201 "desired state", meaning how many containers to run as tasks and constraints for 202 deploying the containers. 203 204 Frequently a service is a microservice within the context of some larger 205 application. Examples of services might include an HTTP server, a database, or 206 any other type of executable program that you wish to run in a distributed 207 environment. 208 209 ## service discovery 210 211 Swarm mode [service discovery](../swarm/networking.md) is a DNS component 212 internal to the swarm that automatically assigns each service on an overlay 213 network in the swarm a VIP and DNS entry. Containers on the network share DNS 214 mappings for the service via gossip so any container on the network can access 215 the service via its service name. 216 217 You don’t need to expose service-specific ports to make the service available to 218 other services on the same overlay network. The swarm’s internal load balancer 219 automatically distributes requests to the service VIP among the active tasks. 220 221 ## swarm 222 223 A [swarm](../swarm/index.md) is a cluster of one or more Docker Engines running in [swarm mode](#swarm-mode). 224 225 ## Swarm 226 227 Do not confuse [Docker Swarm](https://github.com/docker/swarm) with the [swarm mode](#swarm-mode) features in Docker Engine. 228 229 Docker Swarm is the name of a standalone native clustering tool for Docker. 230 Docker Swarm pools together several Docker hosts and exposes them as a single 231 virtual Docker host. It serves the standard Docker API, so any tool that already 232 works with Docker can now transparently scale up to multiple hosts. 233 234 *Also known as : docker-swarm* 235 236 ## swarm mode 237 238 [Swarm mode](../swarm/index.md) refers to cluster management and orchestration 239 features embedded in Docker Engine. When you initialize a new swarm (cluster) or 240 join nodes to a swarm, the Docker Engine runs in swarm mode. 241 242 ## tag 243 244 A tag is a label applied to a Docker image in a [repository](#repository). 245 tags are how various images in a repository are distinguished from each other. 246 247 *Note : This label is not related to the key=value labels set for docker daemon* 248 249 ## task 250 251 A [task](../swarm/how-swarm-mode-works/services.md#tasks-and-scheduling) is the 252 atomic unit of scheduling within a swarm. A task carries a Docker container and 253 the commands to run inside the container. Manager nodes assign tasks to worker 254 nodes according to the number of replicas set in the service scale. 255 256 The diagram below illustrates the relationship of services to tasks and 257 containers. 258 259  260 261 ## Toolbox 262 263 Docker Toolbox is the installer for Mac and Windows users. 264 265 266 ## Union file system 267 268 Union file systems, or UnionFS, are file systems that operate by creating layers, making them 269 very lightweight and fast. Docker uses union file systems to provide the building 270 blocks for containers. 271 272 273 ## virtual machine 274 275 A virtual machine is a program that emulates a complete computer and imitates dedicated hardware. 276 It shares physical hardware resources with other users but isolates the operating system. The 277 end user has the same experience on a Virtual Machine as they would have on dedicated hardware. 278 279 Compared to to containers, a virtual machine is heavier to run, provides more isolation, 280 gets its own set of resources and does minimal sharing. 281 282 *Also known as : VM*