Docker was released in 2013. The source code is hosted on Github. It is based on the go language and complies with the Apache2.0 protocol and is open source. It is an advanced container engine based on LXC open sourced by the PaaS provider dotCloud. It is an Tools to easily create, deploy, and run applications with containers.
The operating environment of this tutorial: linux7.3 system, docker-1.13.1 version, Dell G3 computer.
When did docker come out?
Docker is a software that runs on Linux and Windows and is used to create, manage, and orchestrate containers.
Docker is part of the Moby open source project developed on GitHub.
Docker Company, located in San Francisco, is the maintainer of the entire Moby open source project. The Docker Company also offers a commercial version of Docker that includes support services.
Docker Company
Docker Company is located in San Francisco and was founded by French-American developer and entrepreneur Solumon Hykes. Its logo is shown in the picture below.
Docker logo
Interestingly, Docker company was originally a Platform-as-a-Service (PaaS) called dotCloud provider.
In terms of underlying technology, the dotCloud platform utilizes Linux container technology. To make it easier to create and manage these containers, dotCloud developed a set of internal tools, later named "Docker." This is how Docker was born!
In 2013, dotCloud’s PaaS business was not doing well, and the company needed to seek new breakthroughs. So they hired Ben Golub as the new CEO, renamed the company "Docker", abandoned the dotCloud PaaS platform, and started a new journey with the mission of "promoting Docker and container technology to the world".
Today Docker is widely regarded as an innovative technology company, with a market value said to be approximately $1 billion. Docker has attracted a total of more than $240 million in investment from several Silicon Valley venture capital firms through multiple rounds of financing.
Almost all of the financing occurred after the company changed its name to "Docker".
Tip: The word "Docker" comes from the British colloquial word, which means dock worker (Dock Worker), that is, a person who loads and unloads goods from a ship.
Docker runtime and orchestration engine
When most technical people talk about Docker, they mainly refer to the Docker engine.
Docker Engine is the infrastructure tool for running and orchestrating containers. Readers with VMware management experience can compare this to ESXi.
ESXi is the core hypervisor that runs virtual machines, and Docker Engine is the core container runtime that runs containers.
Other Docker companies or third-party products are developed and integrated around the Docker engine.
As shown in the figure below, the Docker engine is at the center, and other products are integrated based on the core functions of the Docker engine.
Products developed and integrated around the Docker engine
The Docker engine can be downloaded from the Docker website or built based on the source code on GitHub. Both open source and commercial versions are available for Linux and Windows.
There are two main versions of Docker engine: Enterprise Edition (EE) and Community Edition (CE).
Every quarter, the Enterprise Edition and Community Edition will release a stable version. The community edition comes with 4 months of support, while the enterprise edition comes with 12 months of support.
Publish the monthly version via Edge.
Starting in the first quarter of 2017, Docker version numbers follow the YY.MM-xx format, similar to projects such as Ubuntu. For example, the first community version released in June 2018 was 18.06.0-ce.
Recommended learning: "docker video tutorial"
The above is the detailed content of When did docker come out?. For more information, please follow other related articles on the PHP Chinese website!

Docker and Kubernetes are key tools for modern software development and deployment. Docker simplifies application packaging and deployment through containerization, while Kubernetes is used for large-scale container orchestration and management. Using Docker and Kubernetes can significantly improve the scalability and management efficiency of your application.

Docker uses Linux kernel features to provide an efficient and isolated application running environment. Its working principle is as follows: 1. The mirror is used as a read-only template, which contains everything you need to run the application; 2. The Union File System (UnionFS) stacks multiple file systems, only storing the differences, saving space and speeding up; 3. The daemon manages the mirrors and containers, and the client uses them for interaction; 4. Namespaces and cgroups implement container isolation and resource limitations; 5. Multiple network modes support container interconnection. Only by understanding these core concepts can you better utilize Docker.

LXC is the foundation of Docker, and it realizes resource and environment isolation through cgroups and namespaces of the Linux kernel. 1) Resource isolation: cgroups limit CPU, memory and other resources. 2) Environment isolation: namespaces provides independent process, network, and file system views.

Best practices for using Docker on Linux include: 1. Create and run containers using dockerrun commands, 2. Use DockerCompose to manage multi-container applications, 3. Regularly clean unused images and containers, 4. Use multi-stage construction to optimize image size, 5. Limit container resource usage to improve security, and 6. Follow Dockerfile best practices to improve readability and maintenance. These practices can help users use Docker efficiently, avoid common problems and optimize containerized applications.

Using Docker on Linux can improve development and deployment efficiency. 1. Install Docker: Use scripts to install Docker on Ubuntu. 2. Verify the installation: Run sudodockerrunhello-world. 3. Basic usage: Create an Nginx container dockerrun-namemy-nginx-p8080:80-dnginx. 4. Advanced usage: Create a custom image, build and run using Dockerfile. 5. Optimization and Best Practices: Follow best practices for writing Dockerfiles using multi-stage builds and DockerCompose.

The core of Docker monitoring is to collect and analyze the operating data of containers, mainly including indicators such as CPU usage, memory usage, network traffic and disk I/O. By using tools such as Prometheus, Grafana and cAdvisor, comprehensive monitoring and performance optimization of containers can be achieved.

DockerSwarm can be used to build scalable and highly available container clusters. 1) Initialize the Swarm cluster using dockerswarminit. 2) Join the Swarm cluster to use dockerswarmjoin--token:. 3) Create a service using dockerservicecreate-namemy-nginx--replicas3nginx. 4) Deploy complex services using dockerstackdeploy-cdocker-compose.ymlmyapp.

How to use Docker and Kubernetes to perform container orchestration of enterprise applications? Implement it through the following steps: Create a Docker image and push it to DockerHub. Create Deployment and Service in Kubernetes to deploy applications. Use Ingress to manage external access. Apply performance optimization and best practices such as multi-stage construction and resource constraints.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SublimeText3 Chinese version
Chinese version, very easy to use

SublimeText3 Mac version
God-level code editing software (SublimeText3)

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

Dreamweaver Mac version
Visual web development tools

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool