Docker 1.12 introduced the new concept of bundles. A new file format to describe a set of services.
My application is already deployed with docker-compose. I have a docker-compose.yml
for each of my environments and I can quickly deploy my app just with a docker-compose up
.
From what I understand of this post, Docker bundles is just a new way built-in Docker to do the same thing as docker-compose does as an external software.
Is that it ? What can I expect from Docker bundles that I won't have with docker-compose ?
The key difference between docker run versus docker-compose is that docker run is entirely command line based, while docker-compose reads configuration data from a YAML file. The second major difference is that docker run can only start one container at a time, while docker-compose will configure and run multiple.
Container Format The definition of a bundle is only concerned with how a container, and its configuration data, are stored on a local filesystem so that it can be consumed by a compliant runtime. A Standard Container bundle contains all the information needed to load and run a container.
Docker Compose is a tool that was developed to help define and share multi-container applications. With Compose, we can create a YAML file to define the services and with a single command, can spin everything up or tear it all down.
Docker follows Client-Server architecture, which includes the three main components that are Docker Client, Docker Host, and Docker Registry.
A Dockerfile can be built into an image, and containers can be created from that image.
Similarly, a docker-compose.yml can be built into a distributed application bundle(DAB), and stacks can be created from that bundle.
In that sense, the bundle is a multi-services distributable image format.
Source: https://docs.docker.com/v18.03/compose/bundles/
The main different is that docker bundle is oriented to be used this the new server side orchestration features it use the docker service internal flow.
docker compose has all logics client side because it the client (compose) that do different requests at the server (daemon).
For docker bundle all flow is managed by the engine.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With