Docker撰写-堆栈

时间:2018-11-16 09:56:33

标签: docker docker-compose dockerfile portainer

我有一个docker-compose.yml文件,该文件调出了5个不同的容器。为了实际提出这些建议,我使用了docker-composer up -d

我喜欢使用某种GUI,因此我使用Portainer查看我的容器,而我注意到的是Portainer容器列表实际上还有一个我从未在docker ps中见过的字段。 ,即stack

现在,我已经了解了Docker documentation中的堆栈,但是仍然一无所获。我的Dockerfiledocker-compose.yml并没有对堆栈进行任何说明,但是,当我启动容器时,它们都被标记为堆栈,这是我的Docker配置所在的文件夹。

除了对那组容器属于同一堆栈进行分类之外,这还有什么用?可以操纵该财产,以便我为其分配我的个人命名吗?

1 个答案:

答案 0 :(得分:0)

编辑:

这是Portainer的命名约定。他们在docs中为 Docker Swarm Docker Compose 使用了stack一词。


原始帖子:

Docker Compose Docker Stack 都可以由docker-compose.yml

控制

来自Nick Janetakis的Docker Compose vs Docker Stack

  

Docker Compose是一个官方工具,可让您通过docker-compose.yml文件定义所有内容,从而帮助您管理Docker容器。

     

docker stack是嵌入在Docker CLI中的命令。它使您可以通过Docker Swarm管理Docker容器集群。


  

碰巧的是,Docker Compose和docker stack命令都支持相同的docker-compose.yml文件,并且功能稍有不同

     

在某些情况下,仅适用于docker stack的某些功能会被Docker Compose忽略,同样,docker stack命令也会忽略Docker Compose不受支持的功能。

     

例如,deploy属性被Docker Compose忽略,depends_ondocker stack忽略。也有其他差异。您可以通过检出official Compose file reference来找到它们。它将调用Compose或Stack特定的属性。

     

这使您可以定义一个同时适用于Docker Compose和docker-compose.yml的{​​{1}},如果您恰好在开发中使用Docker Compose而在生产中使用Docker Swarm,则可以提高生活质量。