当前位置:网站首页>Love and hate in the Jianghu

Love and hate in the Jianghu

2022-06-12 10:24:00 ThoughtWorks China

In the past two years Docker It is full of controversy , For example, at the end of last year K8s Declare no intention of supporting Docker, The news , Everyone scrambled to discuss Docker Alternatives to ,Colima As Docker Desktop Popular open alternatives ,Podman As Docker alternatives , Received the attention of many developers and enterprises , Included in Thoughtworks Of The latest technical radar in . In this year Docker The company announced again Docker Desktop Prepare to charge users of medium and large enterprises ,“ bye Docker” The voice of rose again . From all sides , Whether from technical leadership , Or profitability ,Docker Companies have started to fall behind , Can't help asking , What happened to the container boss who used to be the most popular ?

Container rise

Push back a few years , Everyone mentioned Docker, Will equate it with container technology ,Docker Glorious years leading the transformation of container technology , Still exciting . stay 2013 year ,Cloud Foundry It is the absolute focus of cloud services , With Cloud Foundry Core PaaS The transformation of platform service capability has swept the whole cloud service field , At the same time, a number of excellent PaaS platform , Include Salesforce Heroku、IBM Red Hat etc. . One of them is called dotCloud The company , It's also this PaaS Part of the upsurge . But at that time Cloud Foundry In the project , The container is the bottom layer 、 The part that nobody pays attention to the most , therefore dotCloud Our products have been neglected . To change this passive status quo ,dotCloud The company decided to open source its own container project Docker. In just a few months ,Docker The project is rising rapidly , It soon overturned Cloud Foundry Defined PaaS How to play the platform . Compared with Cloud Foundry,Docker What decisive advantages exist ?

This is from Cloud Foundry Application hosting ,Cloud Foundry The core component is a set of application packaging and distribution mechanism . The user only needs to execute one command , You can publish apps to the cloud with one click . To support such features ,Cloud Foundry In fact, different packers will be published for different languages or frameworks (BuildPack), Then package the local executable application , And upload them to Cloud Foundry,Cloud Foundry Will schedule the right agent To download the app , And complete the deployment . To protect agent Services on are isolated from each other ,Cloud Foundry Will pass Cgroup and Namespace Provide isolation for applications “ The sandbox ” Running environment .

Cloud Foundry Our chief product manager is comparing Cloud Foundry and Docker after , Also said Docker There's no black technology , and Cloud Foundry equally , Is also dependent on Cgroup and Namespace Created “ The sandbox ” Just running environment .

What the hell is that Docker Than Cloud Foundry Where is strong ? The answer lies in the special application packaging method of image .

 Insert picture description here

A typical application running environment includes code 、 Dependencies and operating systems ,Cloud Foundry It can ensure the consistency of code and dependency , But it can't guarantee the system environment , So sometimes the local operation is normal , Not in the cloud , Something went wrong. , It is also difficult to locate the differences in the system environment . but Docker Just solved this pain point , adopt Image build Rootfs, Perfectly guarantee the consistency of local and cloud operating environment . On this basis ,Docker It also provides friendly Docker CLI To create Image, It also provides Docker Hub To quickly distribute Image Making friends with people of the same sex . stay Docker After a quick success ,dotCloud The company also changed its name to Docker,Docker The company seems to have become the spokesman of container technology .

The battle of container cloud

Simply solving application packaging is of no value , What enterprises really need to solve is the problem of application deployment .Docker Realize that the key to the success of the company is the ability of container . stay 2014 year Docker The company soon released Swarm project , Still keep Docker Friendly command style , Multi machine cluster deployment can be completed with a few commands . On this basis , Keep recruiting , For example, the acquisition of Fig project ( Later renamed Compose), And those who are specifically responsible for the container grid SocketPlane etc. , Enrich their platform ability . here Docker The company holds the absolute voice of the container , and Docker Platform strategy of the company , It also challenges the vital interests of other cloud service platforms , Among them is Google and RedHat Companies such as . To change Docker The situation of one family's dominance , from Docker、Google、RedHat And so on OCI(Open Container Initiative), Designed to define mirroring and container runtime standards , Change the standard from Docker Separate from the project implementation . obviously ,Docker Companies don't spend energy on projects that weaken their influence , therefore OCI The specification has been slow .

 Insert picture description here

but Google and RedHat Not waiting to die , Then a big killer was sacrificed — Kubernetes, Let's get together , Jointly established CNCF The foundation , With Kubernetes Project based , Establish a platform dominated by vendors in the field of open source infrastructure 、 A platform level community operating as an independent foundation , To fight against Docker The container business ecosystem with the company as the core .Kubernetes With powerful design and RedHat Excellent community operation , It soon gave birth to a different ecological environment of container arrangement and management , It gave birth Prometheus、Istio And a number of excellent open source products . In response Kubernetes The challenge ,Docker The company focuses on Docker Native The strategy of , Give up what you have Swarm project , All container orchestration and cluster management functions are built into Docker In the project , This also lays a hidden danger for the future — leadership rendered ineffectual by recalcitrant subordinates . Even so ,Docker Nor can it compete with the growing Kubernates Against the community , It ended in failure ,Docker The company will run the container runc The project is donated to CNCF Community , take Docker The project was renamed Moby, Leave it to the community to maintain , and Docker The company will occupy Docker This registered trademark , take Docker Transfer your customers to your own hands , Completely started its own commercial operation .

Docker The dilemma of

The battle of container cloud , With a final Docker The failure of the company ended , After losing the cloud platform highland , Leave to Docker The company's profit point is not too much :

  • Software is paid
  • private Hub
  • Container cloud platform
  • Professional technical support and training

The low share of container cloud platform limits the revenue ,Docker In order to ensure profitability , Announced Docker Hub、Docker Desktop The business decision of charging , I feel like drinking poison to quench thirst . In terms of Technology ,Kubernates Has become the de facto standard for container choreography , and Container In the whole territory , It only belongs to the bottom part .OCI The norms of have taken shape , When similar containers are running containerd Has replaced Docker, Become the majority of hosting Kubernetes The container runtime used by the service . We can talk Docker Hub, Basically, mature cloud platforms have their own Container Registry, for example Amazon Elastic Container Registry (ECR) etc. , private Hub The charging method is still fragile .

Due to different design concepts ,Docker Many components have been added to ensure a friendly user experience , This is a Kubernates You don't need , In addition, it does not support Kubernates Of CRI standard , You can see it in the picture below , The community needs to maintain a Docker Shim Project to bridge Kubernates Node and Docker. In limine Kubernetes To access Docker ecology , Naturally willing to maintain this set of projects , But as the OCI、CRI Specification and product maturity , The community loses the motivation to continue to maintain the project .

 Insert picture description here
 Insert picture description here

( picture source :Kubernetes is Removing Docker Support, Kubernetes is Not Removing Docker Support)

Lost the container , The voice of container standards is gradually weakened , Coupled with the charging business model of drinking poison to quench thirst , Only with excellent user experience ,Docker Can you really keep everyone ? I can't help asking , Lian Po too old , Whether can food ?

Reference link


writing /Thoughtworks Lu Aifei

Link to the original text :https://insights.thoughtworks.cn/docker-colima-podman-container/

原网站

版权声明
本文为[ThoughtWorks China]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/163/202206121017302788.html