Tag: pipe理员

从命令行和从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' 但似乎无法得到它的工作。

RabbitMQ不考虑Docker的内存限制

我已经运行了包含RabbitMQ实例的docker容器。 我使用了三个参数(其中包括)的docker run命令: -m 300m –kernel-memory="300m" –memory-swap="400m" docker stats显示: > CONTAINER CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O > 1f50929f8e4e 0.40% 126.8 MB / 349.2 MB 36.30% 908.2 kB / 1.406 MB 24.69 MB / 1.114 MB 我期望RabbitMQ将只能看到300MB的RAM内存,但在Rabbit UI上可见的高水印显示为5.3GB。 我的主机有8GB可用,所以,可能RabbitMQ从主机读取内存大小。

为什么Docker构build命令在Elastic Beanstalk中运行速度如此之慢?

EB抱怨我的构build超时,所以我进入一个实例,决定运行docker docker build自己,看看发生了什么。 每一步,甚至像一个mkdir一样简单,需要很长时间才能运行。 即使是一个WORKDIR在执行之前至less停顿一两分钟。 在我的本地机器上,这些是即时的。 到底是怎么回事?

我想要一个容器处理多个请求?

这个问题不涉及到networking或托pipe,而是关于如何构build我的应用程序:如果我设置一个docker容器作为一个PHP的networking节点,是适当的约定,我设置它,可以处理多个连接? 或者,最好是将它设置为一次处理一个请求,然后如果我想要同时处理更多的连接,则旋转同一图像的多个实例?

错误“docker-compose”当我用pipe道使用sh(echo“docker-compose …”| sh)

我有一个多容器的应用程序。 为了便于安装,我决定使用包装图像。 我的预期是如下 $ docker run my_application install | sh – >从registry中拉出所有相关的图像 $ docker run my_application up | sh – >做一些初步的工作和所有的容器 但我被困在下面的问题。 $ echo "docker-compose exec cassandra cqlsh -e 'desc keyspaces'" | sh Traceback (most recent call last): File "<string>", line 3, in <module> File "compose/cli/main.py", line 57, in main File "compose/cli/main.py", line 108, in […]