mirror of
				https://github.com/moby/moby.git
				synced 2022-11-09 12:21:53 -05:00 
			
		
		
		
	followup to incorporate review comments per previous reviews on PR#29561
incorporated review comments Signed-off-by: Victoria Bialas <victoria.bialas@docker.com>
This commit is contained in:
		
							parent
							
								
									a8bcef6fdd
								
							
						
					
					
						commit
						15a21ef1bd
					
				
					 1 changed files with 48 additions and 12 deletions
				
			
		| 
						 | 
				
			
			@ -62,6 +62,28 @@ be done to get it running.
 | 
			
		|||
 | 
			
		||||
*Also known as : docker-compose, fig*
 | 
			
		||||
 | 
			
		||||
## copy-on-write
 | 
			
		||||
 | 
			
		||||
Docker uses a
 | 
			
		||||
[copy-on-write](https://docs.docker.com/engine/userguide/storagedriver/imagesandcontainers/#/the-copy-on-write-strategy)
 | 
			
		||||
technique and a [union file system](#union-file-system) for both images and
 | 
			
		||||
containers to optimize resources and speed performance. Multiple copies of an
 | 
			
		||||
entity share the same instance and each one makes only specific changes to its
 | 
			
		||||
unique layer.
 | 
			
		||||
 | 
			
		||||
Multiple containers can share access to the same image, and make
 | 
			
		||||
container-specific changes on a writable layer which is deleted when
 | 
			
		||||
the container is removed. This speeds up container start times and performance.
 | 
			
		||||
 | 
			
		||||
Images are essentially layers of filesystems typically predicated on a base
 | 
			
		||||
image under a writable layer, and built up with layers of differences from the
 | 
			
		||||
base image. This minimizes the footprint of the image and enables shared
 | 
			
		||||
development.
 | 
			
		||||
 | 
			
		||||
For more about copy-on-write in the context of Docker, see [Understand images,
 | 
			
		||||
containers, and storage
 | 
			
		||||
drivers](https://docs.docker.com/engine/userguide/storagedriver/imagesandcontainers/).
 | 
			
		||||
 | 
			
		||||
## container
 | 
			
		||||
 | 
			
		||||
A container is a runtime instance of a [docker image](#image).
 | 
			
		||||
| 
						 | 
				
			
			@ -100,19 +122,21 @@ lightweight Docker development environment designed specifically for the Mac. A
 | 
			
		|||
native Mac application, Docker for Mac uses the macOS Hypervisor framework,
 | 
			
		||||
networking, and filesystem. It's the best solution if you want to build, debug,
 | 
			
		||||
test, package, and ship Dockerized applications on a Mac. Docker for Mac
 | 
			
		||||
supersedes [Docker Toolbox](#toolbox) as state-of-the-art Docker for macOS.
 | 
			
		||||
supersedes [Docker Toolbox](#toolbox) as state-of-the-art Docker on macOS.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Docker for Windows
 | 
			
		||||
 | 
			
		||||
[Docker for Windows](https://docs.docker.com/docker-for-windows/) is an
 | 
			
		||||
easy-to-install, lightweight Docker development environment designed
 | 
			
		||||
specifically for Windows systems. Docker for Windows uses Microsoft Hyper-V, and
 | 
			
		||||
runs as a native Windows app. It works with Windows Server 2016, and gives you
 | 
			
		||||
the ability to set up and run Windows containers as well as the standard Linux
 | 
			
		||||
containers (with an option to switch between the two). Docker for Windows is the
 | 
			
		||||
best solution if you want to build, debug, test, package, and ship Dockerized
 | 
			
		||||
applications on Windows machines. It supersedes [Docker Toolbox](#toolbox) as
 | 
			
		||||
state-of-the-art Docker on Windows.
 | 
			
		||||
specifically for Windows 10 systems that support Microsoft Hyper-V
 | 
			
		||||
(Professional, Enterprise and Education). Docker for Windows uses Hyper-V for
 | 
			
		||||
virtualization, and runs as a native Windows app. It works with Windows Server
 | 
			
		||||
2016, and gives you the ability to set up and run Windows containers as well as
 | 
			
		||||
the standard Linux containers, with an option to switch between the two. Docker
 | 
			
		||||
for Windows is the best solution if you want to build, debug, test, package, and
 | 
			
		||||
ship Dockerized applications from Windows machines. Docker for Windows
 | 
			
		||||
supersedes [Docker Toolbox](#toolbox) as state-of-the-art Docker on Windows.
 | 
			
		||||
 | 
			
		||||
## Docker Hub
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -296,13 +320,25 @@ For Windows 10 systems that support Microsoft Hyper-V (Professional, Enterprise
 | 
			
		|||
and Education), [Docker for
 | 
			
		||||
Windows](https://docs.docker.com/docker-for-windows/) is the better solution.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Union file system
 | 
			
		||||
 | 
			
		||||
Union file systems, or UnionFS, are file systems that operate by creating
 | 
			
		||||
layers, making them very lightweight and fast. Docker uses union file systems to
 | 
			
		||||
provide the building blocks for containers.
 | 
			
		||||
Union file systems implement a [union
 | 
			
		||||
mount](https://en.wikipedia.org/wiki/Union_mount) and operate by creating
 | 
			
		||||
layers. Docker uses union file systems in conjunction with
 | 
			
		||||
[copy-on-write](#copy-on-write) techniques to provide the building blocks for
 | 
			
		||||
containers, making them very lightweight and fast.
 | 
			
		||||
 | 
			
		||||
For more on Docker and union file systems, see [Docker and AUFS in
 | 
			
		||||
practice](https://docs.docker.com/engine/userguide/storagedriver/aufs-driver/),
 | 
			
		||||
[Docker and Btrfs in
 | 
			
		||||
practice](https://docs.docker.com/engine/userguide/storagedriver/btrfs-driver/),
 | 
			
		||||
and [Docker and OverlayFS in
 | 
			
		||||
practice](https://docs.docker.com/engine/userguide/storagedriver/overlayfs-driver/)
 | 
			
		||||
 | 
			
		||||
Example implementations of union file systems are
 | 
			
		||||
[UnionFS](https://en.wikipedia.org/wiki/UnionFS),
 | 
			
		||||
[AUFS](https://en.wikipedia.org/wiki/Aufs), and
 | 
			
		||||
[Btrfs](https://btrfs.wiki.kernel.org/index.php/Main_Page).
 | 
			
		||||
 | 
			
		||||
## virtual machine
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue