Tag: pipe理员

我如何在云或数据中心上使用Docker?

现在我没有足够的勇气开始使用docker工人,我感觉自己是从上个世纪来的。 在开始之前,我想清除我对docker工人的疑惑。 我的问题主要是在云或托pipe环境中部署/运行Docker镜像。 我可以用任何types的服务器(例如wildfly,payara)和/或数据库服务器(例如mysql,oracle)build立一个docker镜像,并且可以在启用docker的云/数据中心上运行吗? 如果是的话,持久数据如数据库文件和静态存储(如图像,上传的文档,日志)如何存储在docker图像或其他地方? 当我更新应用程序并重新部署新映像时,这些文件会发生什么? 我阅读关于什么是docker的post,但我没有find具体的答案。 原谅我没有做足够的Googlesearch。

docker memory-swap = -1 OOM

我使用Ubuntu14.04和docker1.10.3。 当我使用–memory-swap -1执行–memory-swap -1 docker run时,发现主机使用的内存超出了该容器可以使用的最大内存,并且主机上没有其他进程消耗大量内存。 下图是我在电脑上进行的testing: 第一部分是主机上的内存使用情况。 第二部分是在容器中运行的testing,以模拟使用应力的容器中的900M内存。 第三部分是使用docker stats来查看容器的当前统计信息。 我发现,虽然docker stats显示容器使用不超过104.9M的内存,在主机上使用的内存远远超过104.9M。 看来,– –memory-swap -1允许容器使用尽可能多的内存。 这是真的吗?

在docker cadvisor中的内存和CPU使用率定义

你如何定义docker中google cadvisor提供的内存使用量度量? 它是dynamic堆栈大小,堆要求,caching未命中,代码大小,交换内存或RAM内存? 以及cpu累计使用情况,在哪个度量单位计算? 你怎么定义它? 有没有关于这方面的文件? 注意:我记得cadvisor容器导出资源使用数据到influxDB。 在他正在出口的指标有:memory_usage,cpu_cumulative_usage,等等… 谢谢

如何重新启动docker重启容器(–restart = true不起作用)?

我正在使用docker版本1.1.0,由systemd使用命令行/usr/bin/docker -d ,并试图: 运行一个容器 停止docker服务 重新启动–restart=true服务(使用systemd或手动,在命令行上指定–restart=true ) 看看我的容器是否仍在运行 据我了解的文件,我的容器应该重新启动。 但事实并非如此。 公众端口不响应, docker ps不显示。 docker ps -a显示我的容器空状态: CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES cb0d05b4e0d9 mildred/p2pweb:latest node server-cli.js – 7 minutes ago 0.0.0.0:8888->8888/tcp jovial_ritchie … 而当我尝试docker restart cb0d05b4e0d9 ,我得到一个错误: Error response from daemon: Cannot restart container cb0d05b4e0d9: Unit docker-cb0d05b4e0d9be2aadd4276497e80f4ae56d96f8e2ab98ccdb26ef510e21d2cc.scope already exists. 2014/07/16 13:18:35 Error: failed […]

从命令行和从python apidocker执行程序中的pipe道

我试图实现的是在容器中调用mysqldump并将数据库转储到容器自己的目录中。 起初我尝试下面的命令: $ docker exec container-name mysqldump [options] database | xz > database.sql.xz 这不起作用,所以我尝试另一个是: $ docker exec container-name bash -c 'mysqldump [options] database | xz > database.sql.xz' 这一次它工作。 但这真的很蹩脚。 然后我尝试使用docker-py这个时间的cmd选项,看起来像这样: cmd=['bash', '-c', 'mysqldump [options] database | xz > database.sql.xz'] logging仪事件如下: level="info" msg="-job log(exec_start: bash -c mysqldump [options] database | xz > database.sql.xz, fe58e681fec194cde23b9b31e698446b2f9d946fe0c0f2e39c66d6fe68185442, mysql:latest) = […]

Docker和Ansible如何配合实现Continuos Delivery / Continuous Deployment

我不熟悉configurationpipe理和部署工具。 我必须实施一个持续交付/持续部署工具,用于我曾经投入的最有趣的项目之一。 首先,我个人对AWS感到满意,我知道Ansible是什么,它背后的逻辑和目的。 我对Docker没有同样的理解,但是我明白了。 我经历了很多互联网资源,但是我无法得到大局。 我一直在挣扎的是他们如何融合在一起。 使用Ansible ,我可以将我的基础架构作为代码来pipe理; 构buildEC2实例,安装软件包…我甚至可以通过拉取代码,修改configuration文件和启动Web服务器来部署完整的应用程序。 Docker本身就是一个打包应用程序的工具,并确保它可以在你部署的任何地方运行。 我的问题是: Docker(或Ansible和Docker)如何扩展持续集成过程! 假设我们有一个源代码库,团队成员完成了一个function的工作,他们推动他们的工作。 jenkins检测到这一点,运行所有的验收/单元/集成testing套件,如果他们都通过了,它宣称它是一个稳定的构build。 Docker如何适应这里? 我的意思是,当团队推动他们的工作时,Jenkins是否必须拉取应用程序中编码的Docker文件源,构build应用程序的图像,启动容器并运行所有testing,或者运行经典testing一切都很好,那么它会从Docker文件构buildDocker镜像并将其保存在一个私有的地方? jenkins应该使用xyz标记最终的图像! Docker容器configuration: 假设我们有Jenkins构build的映像存储在某个地方,如何处理将相同的映像部署到不同的环境中,甚至是不同的configuration参数(Vhostsconfiguration,数据库主机,队列URL,S3端点等等)什么是最灵活的方式来处理这个问题而不破坏Docker原则? 这些configuration是否在构build时或者基于它的容器开始时支持在映像中,如果是的话,它们是如何被注入的? Ansible和Docker : Ansible提供了一个Docker模块来pipe理Docker容器。 假设我解决了上面提到的问题,当我想部署我的应用程序的新版本xtz时,我告诉Ansible将它从存储的位置拉出来,启动应用程序容器,那么如何注入configuration设置? Ansible在运行之前是否需要loginDocker镜像(这听起来令人费解),并且使用Jinja2模板和经典主机一样! 如果没有,这是如何处理?! 对不起,如果这是一个很长的问题,或者我拼错了一些东西,但这是我的想法。 我在过去的两周被封锁了,我无法弄清楚正确的工作stream程。 我希望这是未来读者的参考。 请阅读您的经验和解决scheme非常有帮助,因为这看起来像一个常见的工作stream程。 先谢谢你。 任何帮助深表感谢。

Docker容器对CPU和内存的运行时限制

如何在运行时更改Docker容器的内存和CPU限制? 我的意思是,虽然容器正在运行,我想改变内存的限制,例如 提前致谢

Docker中的Dropbox

我想在Docker容器中运行Dropbox。 这样我可以通过将数据上传到Dropbox来同步数据。 并且还要维护数据备份,这在运行Docker镜像的新版本时非常有用。 创build了这个简单的Dockerfile FROM phusion/baseimage:0.9.15 #Install wget RUN apt-get update && \ apt-get -f install && \ apt-get install -y wget #Install Dropbox RUN mkdir /usr/local/dropbox && \ cd /usr/local/dropbox && \ wget -O – "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf – RUN mkdir /etc/service/dropbox ADD ./dropbox.sh /etc/service/dropbox/run # Clean up APT when done. RUN apt-get […]

Docker运行tomcat错误

当我试图运行这个命令时遇到了一些问题 docker run -d -t -p 203:22 -p 7003:8080 -v /home/test/webapps:/usr/local/tomcat8/webapps/ –name tomcat3 tomcat 这个命令可以正确执行,但是docker中的tomcat服务器将会像这样停止: 07-Mar-2017 10:10:24.341 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /usr/local/tomcat8/webapps/examples 07-Mar-2017 10:10:25.011 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /usr/local/tomcat8/webapps/examples has finished in 669 ms 07-Mar-2017 10:10:25.011 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /usr/local/tomcat8/webapps/host-manager 07-Mar-2017 10:10:25.069 INFO [localhost-startStop-1] […]

将文件放入docker运行

作为运行命令的一部分,我需要将一个文件或一些数据pipe道(注入)到docker中,并将其作为启动的一部分写入容器中的文件。 有最佳做法的方式来做到这一点? 我已经试过了 cat data.txt | docker run -a stdin -a stdout -i -t ubuntu /bin/bash -c 'cat >/data.txt' 但似乎无法得到它的工作。