Tag: configurationpipe理

木偶和docker

我正在通过Puppet并将其与Docker进行比较。 我开始知道Puppet是用于可扩展基础架构的configurationpipe理。 新的虚拟机的设置可以用相同的configuration轻松完成 似乎Docker也可以以不同的方式处理所有这些。 docker工人取代木偶,厨师等configurationpipe理工具吗? 请帮我理解。 提前致谢。

如何在运行的Docker容器上运行salt状态

有什么方法可以运行一个shell命令作为正在运行的docker容器内的Salt状态的一部分吗? 我发现Salt中的整个dockerng模块非常混乱,因为它只列出特别的命令。 从我能从文档中得到的信息,它应该像这样工作: mystate: dockerng.run: – name: 12345 – cmd: bash -l -c ifconfig 这似乎并非如此。 主人的命令: sudo salt-ssh -i box_with_docker_containers state.apply 错误: 在SLS中找不到状态“dockerng.run”

docker上的领事群集自动引导

我正在开发像etcd和consul这样的confpipe理工具。 据我所知etcd有发现机制。 我想知道领事是否有这样的事情? 我正在进行官方的领事docker形象,当我设置广告IP和joinIP的没有问题,但我不想这样做手动。 docker集装箱的IP可能会改变或一些节点可能会崩溃,你需要新的节点来取代它。 像这样的情况我怎么能pipe理? 我的意思是有没有可能join集群,而不知道集群中节点的Ip?

如何在本地应用Puppet类

所以我有一个我想用来configurationDocker映像的Puppetconfiguration,但我不知道如何在本地应用它们。 我的目标是希望做一些事情: RUN puppet apply -e "roles::database" 在我的Dockerfile中。 例如,我可能有一个我想要应用的包含如下内容的清单: class roles::database { include ::profiles::base } 但是当我去的时候: puppet apply -e "roles::database" 我得到: Could not parse for environment production: Syntax error at end of file at line 1 on node. 有人能指出我正确的方向吗?

Docker容器中的configurationpipe理

目前我有configuration文件存储在GitHub。 我有一个格式如下的单个json文件{ DEV: { key1 : val1, key2 : val2 } , PROD: { key1 : val1, key2 : val2 } } 。 我的构build系统克隆git仓库,构build项目并创build一个Docker镜像,并存储在私有Dockerregistry中。 我有jar文件和configuration文件复制到Docker图像。 每当我启动一个容器,我注入一个环境variables(ENV = DEV / PROD),我的代码用它来根据环境读取configuration。 我在这里有几个问题: 维护环境特定configuration的最佳方法是什么? configuration文件可能包含敏感数据,如api密钥和秘密如何在构buildDocker映像时encryption和存储和解密? 如果我想改变一些configuration,我需要触发构build,因为我的configuration文件放在Docker镜像中。 我可以将configuration文件放在Docker容器外作为一个卷,以便我可以replaceconfiguration文件并重新启动容器,以便代码读取更新的configuration? 如果我想放在Docker容器之外,我还可以使用任何集群pipe理工具进行容器编排/pipe理(Kubernetes / ECS)吗? 在Docker容器中运行应用程序的方法是通过重新启动容器而不是构build新的Docker镜像并部署新容器来读取更新后的configuration文件?

使用ChefconfigurationDocker镜像?

我有兴趣看看我是否可以使用Chef来configuration一个Docker容器( 这里是示例Dockerfile )。 在我的图像中说,我希望有一个env var集,所以我的Dockerfile可能包含一个条目,如下所示: ENV MY_DB_URL http://devdb01.example.com 但在我的QA /testing环境中,我可能希望它看起来像: ENV MY_DB_URL http://testdb01.example.com 在生产中,值可能是http://db01.example.com等。重点是存储在我的Dockerfile中的值需要不同,取决于环境(以及可能的其他条件)。 这似乎是一个厨师模板完美的工作。 问题是Dockerfile需要保存在我的应用程序的源代码在VCS中。 那么Chef如何被用来“注入”所有正确的值的Dockerfile呢?

基于GUI的环境的Docker?

问题 我有一组客户机,它们是企业Web应用程序的一部分。 每台机器运行相同的软件,这是一个基于PyQT的networking客户端连接到服务器。 这个客户端软件定期更新,我想有一些configuration/供应工具,允许在每台机器上具有相同的环境,因此可以方便地在每台客户机上部署和configuration软件。 问题是我试图使用厨师,但是要真正维持厨师的知识和技能(我们没有一个专门的操作人员)需要花费很大的精力,而且如果某个第三方存储库不再存在,厨师食谱可能会失败可用 (这是一个主要的塞子)。 我想尝试Docker来解决这个问题,但我仍然不知道是否可以设置允许一些基于GUI的软件运行的图像/容器。 题 是否有可能使用Docker为基于GUI的应用程序(PyQt / QT)开发/生产环境? 如果是的话,接下来要做的第一步是什么?

Ansible,只有在用户存在的情况下才能将用户添加到组中

我正在编写一个剧本来设置开发环境并为项目build立pipe道。 我希望尽可能保持playbook与实际基础设施的分离,并且只依赖组,所以我可以使用不同的组限制器,在相同的命令下在本地虚拟机和裸机上设置pipe道。 现在的问题是,用本地的stream浪者箱子,我需要添加用户stream浪者到docker组,在那里裸机服务器一些任意的用户。 在剧本中处理这种变化的最佳做法是什么,尽量保持抽象? 我应该使用行为参数,主机variables,组variables,条件或事实收集这种东西? 保持剧本是完全抽象的,甚至是可能的或合理的,没有任何硬编码的价值和对任何环境的适应性?

如何用Docker实现“一二进制”原则

一个二进制原则在这里解释: http : //programmer.97things.oreilly.com/wiki/index.php/One_Binary指出,应该… “构build一个可以在发布pipe道的所有阶段识别和升级的二进制文件,在环境中保存特定于环境的详细信息,例如,这可能意味着将它们保存在组件容器中,已知文件中或path。” 我看到许多开发人员工程师通过在每个环境中创build一个Docker镜像(即,my-app-qa,my-app-prod等)来违反这一原则。 我知道Docker支持不可变的基础架构,这意味着部署后不会更改映像,因此不会在部署后上传或下载configuration。 在不可改变的基础设施和一个二元原理之间是否存在一个权衡,还是它们可以相互补充? 当涉及到从代码分离configuration什么是在Docker世界的最佳做法? 应采取以下哪一种方法… 1)创build一个基本的二进制镜像,然后configuration一个Dockerfile,通过添加环境特定的configuration来扩充这个镜像。 (即我的应用程序 – >我的应用程序产品) 2)在部署时将一个仅二进制docker映像部署到容器中,并通过环境variables传递configuration等。 3)将Docker文件部署到容器后上传configuration 4)从configurationpipe理服务器中从容器内正在运行的泊坞窗镜像下载configuration。 5)保持主机环境中的configuration,并通过绑定挂载使其可用于正在运行的Docker实例。 有没有更好的方法没有提到上面? 如何使用不可变的基础架构来执行一个二进制原则? 它可以做到还是有一个权衡? 最佳做法是什么?