Many people have never had any contact with docker, or just heard, this article attempts to understand the origin of the basic concepts of the whole picture docker, analysis docker, and let us begin docker trip ~ ~ ~
Opening: What is the docker
docker is a container platform.
This is my most straightforward definition of improvisation between typing I checked the wiki, cited by more than a single sentence
Docker is a set of platform as a service (PaaS) products that use OS-level virtualization to deliver software in packages called containers. Containers are isolated from one another and bundle their own software, libraries and configuration files; they can communicate with each other through well-defined channels. All containers are run by a single operating-system kernel and are thus more lightweight than virtual machines.
Goals: Why docker
docker may be provided that the use of a specific OS environment, and to simplify or dependence related OS deployment cycle
This is my opinion, almost 99.9% of Internet workers are based App or Service as a guide, while the actual use docker not only for rapid deployment, disaster recovery hot backup, not just words docker and related applications
docker for all to environment-oriented joint deployment (TASK-oriented)
Examples: a simple network app and the app dependent type complex network settings
Examples: A simple and a complex user mode service customized LINUX OS, such as OPENWRT
Example: A simple source folder and a complex cross-architecture toolchains
Concept: the logical structure of the docker
docker is vm packaging, docker-machine docker is the place to start, there is here and has been neglected a crucial bridging adaptation: driver
The characteristics of machine start / stop and driver model determines the other end, there exists a virtualization support, summary docker that is not virtualized all but just a noun, docker is inseparable from virtualization
The reason is very simple and clear: docker-machine and dock-cli to engine consisting of more than 88% of the compiled source language Go .
Experience: From WINDOWS 10 WINDOWS 7 to different docker products, constitute the basis of the same
- Follow docker for windows along the way, docker in a very uniform manner in constant evolution, everything is to be expected
Docker Desktop for Windows is accompanied by the Commonwealth of Hyper-V (win 7 missed the essence), the birth of a moby here, as the core of the specificity of the product
Docker Desktop for Mac is accompanied linuxkit + qemu Commonwealth, where they and the birth of a moby, as the core of the specificity of the product
Docker Toolbox is accompanied by the development of abandoned Docker Desktop (huge bones of infants), this article, we (me and my Tell me who) will abandon an era of failed products Oracle VM VirtualBox, unraveling boot2docker, ushered connotation Vmware Benpian
Deepen: unconventional use Vmware Workstation and docker on Window 7
If you guessed just beginning to see my blah-blah-blah code a few hundred words should guess, hehe The following is a condensed version of the essence, because sleepy, going to bed
Long story short, short words minified, Win 7 on a workstation using too generally, a little there are some virtualization experience knows that Microsoft has Virtual PC. And it's across from the Vmware.
Apparently pick Virtual PC does not move docker This beam so unique to Hyper-V (no breakdown products)
Docker vmware driver ready to get started, I use the less common of all driver, there is no start instructions
My docker and vmware are not installed in the default path, then have to use their brains, soft / hard link may solve the problem
My ultra-high-grade T HGST helium disc is not in the default path, so we are ready to put on the VM must provide storepath warehousing environment variables, I confirmed cli context go file, or system level provides support
My docker several hundred G, from leisurely export container to the updated image: latest, tar into a file, 4.14kernel certain inevitable errors, easy to see broader applicability 4.19 also popular support is also higher than 4.14 kernel
XFS provides a good parallel IO performance
The key statement is modified to perform start.sh $ {DOCKER_MACHINE} "create -d vmware --vmware-boot2docker-url =" file: // \ ???????? .iso ", there should be applause here, because I experienced several failures discovered after a failed path is docker installation disk, so you can avoid failure delete boot2docker-url cache in coverage after some time, or simply omit the letter shown above, the latter path is valid and I do not know start.bat no problem
Of course, you can look at the debug output when creating, generally do not see is a very peace of mind of things that should all goes well
env environment variable can be output, cmd / ps can see SET version, bash see export version
Then sleepy, I posted the best paper, the two pictures at the end, as always, all the connotations are in the picture, all the connotations are in the picture, all the connotations are in the picture
Advance To be continued.
(Sleep supplement also get up, forget the content is very important, not embedded in the top of the recent Docker Desktop for Windows provides support WSL, follow the best practices I do not have time to shut down, turn off background)