Tag: pipe理员

用Ansible而不是DockerfileconfigurationDocker容器有什么好处?

我目前正在研究提供Docker容器的两种备选方法。 容器目前由Ansiblepipe理 。 方法1:写一个Dockerfile 通常我会为我的需要编写一个Dockerfile ,构build一个图像,然后使用该图像旋转一个容器。 方法2:使用Ansible 编写一个设置SSH访问的最小的Dockerfile 从控制机器提供Ansible的容器,应用相关angular色 构buildDocker镜像 快速比较 采用第二种方法,无论Docker如何,我都可以在其他上下文中重用angular色。 例如,我可以将它们应用于EC2实例或内部托pipe的裸机服务器。 一个巨大的损失似乎是Docker“层次化”,有利于(可以说是)更强大的(Ansible模块,幂等性,通常不bash脚本)configuration经验。 我相信还有更多的我没有考虑。 在方法2的情况下,我从(更传统的)方法1中错过了什么? 有没有其他更好的方法来解决涉及Ansible和Docker的问题? PS:与问题不严格相关,但也许值得一提:我想用Vagrant来pipe理涉及这些Docker容器的开发环境。 更新#1 方法3:Packer + Ansible 使用Packer与Docker构build器和Ansible provisioner(请参阅@polarisuser答案) 在我看来,这可以被看作是对方法2的一种改进。

docker工websphere不能得到pipe理控制台

我在Docker上运行WebSphere。 当我公开端口9080时,我可以得到“Welcome to Liberty”页面( http:// localhost:9080 )。 docker run -d -e LICENSE=accept -p 9080:9080 docker.io/websphere-liberty 容器编号:1d1eb3db6b03 IMAGE:docker.io/websphere-liberty 命令: “/select/ IBM / WLP /斌/ SER” 创build:17秒前 状态:最多15秒 端口:9443 / tcp,0.0.0.0:9080-> 9080/tcp 名字:naughty_ritchie 这是问题。 当我公开端口9060.我无法获得pipe理控制台页面( http:// localhost:9060 / admin )。 有什么build议么? docker run -d -e LICENSE=accept -p 9060:9060 docker.io/websphere-liberty 容器编号:8d9cc97d2656 IMAGE:docker.io/websphere-liberty 命令: “/select/ IBM / WLP /斌/ […]

docker运行–cpuset没有任何作用

我通过将cpuset指定为1核心来启动一个docker容器: docker run –cpuset-cpus="0"… 第二个方法是将cpuset指定为4个核心: docker run –cpuset-cpus="0-3"… 我在每个容器中启动了一个加载进程,并监视了两个容器的CPU消耗。 加载过程如下所示: ffmpeg input > output 我发现在两个容器之间的执行时间没有提高(没有加速)。 你有什么想法为什么没有改善? 4个容器的容器应该比1个容器的容器运行得快吗? NB:使用顶部1core容器 CPU0%=100% CPU1%=0 CPU2%=0 CPU3%=0 使用顶级的4核容器,docker工随机select4核心之一启动过程。 有时它影响每个核心30% CPU0%=0 CPU0%=30% CPU0%=0 CPU1%=100% or CPU0%=30% or CPU0%=0 CPU2%=0 CPU0%=30% CPU0%=0 CPU3%=0 CPU0%=30% CPU0%=100%

牧场服务器前缀

我想把一个Rancher服务器安装放在Apache代理服务器的后面,这样我的Rancher服务器仪表板将可以在http://myserver.com/my-awesome-rancher 我能够成功地将stream量路由到Rancher服务器容器。 这个问题是因为我的Rancher服务器容器在URL前缀后面被代理,Rancher HTML页面不知道从URL前缀“/ my-awesome-rancher”请求链接和脚本。 我在configuration我的Rancher服务器时遇到问题。 它没有意识到它是一个前缀,并且修改所有HTML链接和脚本href标签的前缀“/ my-awesome-rancher /”,我真的不知道该怎么做。 我一直在阅读过去3个小时的官方Rancher文档,但一无所获。 我发现很难相信没有人想把Rancher放在URL前缀的后面。 这一定是一件普通的事情! 我build立了Jenkins,并且在/ etc / defaults / jenkins文件中,它是“JENKINS_ARGS”,其中添加了–prefix = / my-awesome-jenkins让Jenkins知道它在一个前缀后面。 什么是牧场主等同?

Docker进程pipe理

我有一个在Docker容器中运行的已部署的应用程序,实际上是一个永远运行的websocket客户端。 每个部署我重build容器,并使用Dockerfile设置的命令启动与docker run 。 现在,我已经注意到有几次这个过程偶尔会死掉而不重新启动。 在运行docker ps ,我可以看到容器已经启动,并且已经运行了两个星期,但是运行在其中的进程已经死亡,主机没有任何智慧 我是否需要尽可能在docker集装箱内部有一个stream程pipe理器来pipe理集装箱化的stream程? 编辑: Dockerfile: https : //github.com/DVG/catpen-edi/blob/master/Dockerfile

docker工人 – 普罗米修斯集装箱马上死亡

我有一个使用端口映射4000:8080的pipe理程序,我必须将它与一个带有prometheus的容器链接起来。 我的prometheus.yml是: scrape_configs: # Scrape Prometheus itself every 2 seconds. – job_name: 'prometheus' scrape_interval: 2s target_groups: – targets: ['localhost:9090', 'cadvisor:8080'] 这个文件有path/home/test/prometheus.yml。 用普罗米修斯来运行容器,我这样做: docker run -d -p 42047:9090 –name=prometheus -v /home/test/prometheus.yml:/etc/prometheus/prometheus.yml –link cadvisor:cadvisor prom/prometheus -config.file=/etc/prometheus/prometheus.yml -storage.local.path=/prometheus -storage.local.memory-chunks=10000 容器被创build,但它立即死亡。 你能告诉我问题在哪里吗? 消息形成docker events& : 2016-11-21T11:43:04.922819454+01:00 container start 69d03c68525c5955cc40757dc973073403b13fdd41c7533f43b7238191088a25 (image=prom/prometheus, name=prometheus) 2016-11-21T11:43:05.152141981+01:00 container die 69d03c68525c5955cc40757dc973073403b13fdd41c7533f43b7238191088a25 (exitCode=1, image=prom/prometheus, name=prometheus)

如何在Docker中运行cronjob,以及如何查看结果?

目前,我尝试在容器Docker中运行cronjob,但是我看不到任何结果。 我的Dockerfile看起来像这样: # Pull base image. FROM ubuntu # Upgrade system RUN apt-get update && apt-get dist-upgrade -y –no-install-recommends # INSTALL GIT RUN apt-get install -y git-core # INSTALL mysql-client RUN apt-get install -y mysql-client #INSTALL CRON RUN apt-get install cron # INSTALL NANO RUN apt-get install -y nano # INSTALL SUPERVISOR RUN apt-get install […]

Bluemix Dev Ops:使用私有git子模块构build项目

我想知道如何使用IBM Bluemix Dev Ops Services构build一个包含私有git子模块的项目。 在我的pipe道中,我有一个types为'Shell Script'的'Build'作业: #!/bin/bash git submodule init git submodule update –recursive 但是我的子模块包含一些私人存储库,我得到: Host key verification failed. fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 在我的本地机器上,我能够运行这些命令,因为我有权访问和使用我的密钥。 我能做些什么来使它在这里工作? 我不希望将我的私钥提交到git中。 我正在部署的应用程序的回购托pipe在GitHub上。 私人子模块托pipe在BitBucket上。 更新 我试图在构build控制台中使用我的私钥,但它不起作用: echo "… my private key …" >> ~/.ssh/throwaway_key […]

Docker和php-cli

我已经安装了PHP 7 (php-fpm和php-cli),并且我的应用程序对于新的PHP工作正常,但是testing( phpunit )不会因为某些扩展未更新。 所以我想使用/创build一个docker容器与PHP 5.6 ,将取代我的系统(主机)的PHP CLI 。 例如,如果我从Dockerfile构build名为php56容器,如下所示: FROM ubuntu:15.10 RUN apt-get -y update && apt-get install -y php5-cli ENTRYPOINT ["php"] 并运行: sudo docker run -it php56 -v 我从Docker容器获取版本信息,所以docker的php-cli 5.6正在工作。 所以我不想把docker run命令 /usr/bin/php 让主机使用docker容器中的php-cli 。 (然后php -v会给我PHP 5.6信息不PHP 7.0版本信息) 这不是最好的例子,但我希望你们能明白我想要做什么。 如果不能这样解决,请推荐我其他解决scheme。

是否有可能从TFS创build一个docker容器,并部署发布版本?

我们正在运行本地TFS 2017.我想为我们的QA团队创build一个版本定义,它将创build一个运行Windows 7的Docker容器,并自动部署我们的发布版本。 部署完成后,QA团队应该能够login容器来testing应用程序。 没有手动运行MSI安装程序或Setup.exe。 理想情况下,每个排队的版本都将创build自己的容器,并拥有自己的发布版本的副本。 这可能吗? 还是推荐? 我们所有的服务器和主机都是内部的,我们不会使用Azure。 预先感谢您的任何build议。