Docker container and storage system series (1) [Featured journals. 1]

[Editor's Note] This article based on cloud-network blog finishing release.
Author Jiang Song, with more than 16 years of domestic and international enterprise software infrastructure R & D experience, enterprise-class storage, cloud computing has a deep technical knowledge and industry understanding.

Preface <br /> I am an old programmer, and today to share with you "Docker container and storage system series" thing. What to say before sharing is that today's sharing is from a technical man's point of view.

Do the product and for personal use or do the project service is not the same. Product is the delivery of the user, the occurrence of all the possible situations are basically more clear judgments, and as a technical staff, will encounter problems and the point of view of the problem are uncertain and not the same.

Docker technology since the birth has brought a cloud computing revolution. Its progress is fast, accept the high degree of amazing people. China has a lot of articles introduced Docker technology, its ecological, network, management, construction, application has all aspects of information. However, to deploy Docker in a production environment, developers must also ask themselves several questions about data storage.

1. What is Docker's data storage organization?
2. Docker's current storage ecosystem What are the technical characteristics of each company?
3. What are the technological changes that Docker's requirements will bring to future storage back-end requirements?

Docker storage on the introduction of the current domestic relatively small, as a storage and cloud computing in the field of years of IT people, I hope to personally study these topics, initiate discussion. The idea is not necessarily correct, but hope to cause more people to think and resonate.

Docker's overall way of storing data

First of all, today is the first section of this series, that is, the way Docker's overall data is stored. To illustrate this problem, we can first look at the difference between the container and VM to see what they are different requirements for storage.

Containers and VMs, almost everyone will say that the container is a better than the VM better virtualization technology. In fact, my understanding is not the same, I think the biggest difference between containers and VM is that the container is not a VM. This is not nonsense. A careful analysis, the focus of the container is not in virtualization technology, it is called Container, and no Virtual word. Its focus on the core has been from the cold machine, rose to how to better carry the application. This is a fundamental difference. VM is concerned about how to make Machine more efficient, VM development and then powerful, it is also a more advanced Machine. It looks at the back-end storage is actually a physical machine and the back-end storage is consistent. The container, it wants the back-end storage for it is transparent, do not care about it, it is more concerned about the application of data organization.

The following table is a comparison of what I do:


VM-related storage technology has been a lot of introduction. Here we continue to discuss the storage-related knowledge of the container.

The container's Root Image storage is to implement hierarchical file organization and write-time replication of CoW, such as AUFS, Device Mapper, ZFS. These technologies meet the core values ​​of the container, which is extremely fast to create speed, minimal storage resource consumption and container migration convenience. They are divided into three categories,
AUFS, Overlay: Joint file system.
DeviceMapper: CoW block storage.
ZFS, btrfs: CoW file system.

Docker does not recommend using Root Image storage to store application data. Because the application of data on security, availability, sharing, performance and other requirements and Root Image requirements are completely different. We will also introduce later. Docker uses Volume as a separate data access interface, the application through the Volume to access the relevant data, Volume implementation and CoW hierarchical file system completely independent. Volume through Rancher Convoy or Flocker such storage drivers to manage and access specific storage devices.


In the following sections, I will focus on the Volume interface to introduce, so stay tuned!

This article from the cloud Shu network [Selected periodicals] column original production, commercial use, please contact us, non-commercial reprint please specify the author and the source.
Original link: … v1.1 /

————————————————– ————————————————– ———


Yushu network together Rancher Labs launched [Rancher | combat group], online to share your Docker technology dry goods, more time to review the selected journals waiting for you to take!

This group brings together Rancher technical elite and industry technology to send high, the purpose is to have a more professional platform to exchange Rancher combat technology, real-time and Rancher founding team face to face! At the same time welcome you to share their experience, difficult questions, we will regularly invite guests to share the various topics to share and review, common practice study Docker container ecosystem.

Plus group method:

1. Concerned about [cloud comfortable network] public number
2 Identify the lower two-dimensional code associative group assistant

QQ group number: 216521218


    Heads up! This alert needs your attention, but it's not super important.