Docker捆绑包和docker-compose有什么不同?

时间:2016-06-20 18:31:05

标签: docker docker-compose

Docker 1.12引入了捆绑包的新概念。用于描述一组服务的新文件格式。

我的应用程序已使用 docker-compose 进行部署。我的每个环境都有docker-compose.yml,我可以使用docker-compose up快速部署我的应用。

根据我对this post的理解, Docker捆绑只是一种新的内置Docker方式,可以像docker-compose一样做外部软件。

是吗?我对 Docker-compose 所赢得的 Docker捆绑有什么期望?

3 个答案:

答案 0 :(得分:10)

  

可以将Dockerfile构建到映像中,并可以创建容器   从那个图像。

     

同样,docker-compose.yml可以构建到分布式中   应用程序包(DAB),可以从该包创建堆栈。

     

从这个意义上说,捆绑包是一个多服务可分发的图像   格式。

来源:https://docs.docker.com/v18.03/compose/bundles/

答案 1 :(得分:2)

主要不同的是,docker bundle面向使用这个新的服务器端编排功能,它使用docker service内部流程。

docker compose具有所有逻辑客户端,因为它是在服务器(守护进程)执行不同请求的客户端(撰写)。

对于docker bundle,所有流程都由引擎管理。

答案 2 :(得分:0)

目前DAB中没有一些功能与docker-compose相似,比如链接,音量安装。映射到compose文件中映射的容器端口的主机端口没有任何相关性,因为Swarm会随机为服务分配端口。您可以通过

进行验证
  

docker service inspect nginx

当然,您可以随时更新服务端口,例如

  

docker service update --publish-add 8080:80 nginx