Docker命令在构build期间失败,但在运行容器内执行时成功

命令 : docker build -t nginx-ubuntu . 以下是Dockerfile: 从Ubuntu的:12.10 运行apt-get更新 运行apt-get -y install libpcre3 libssl-dev 运行apt-get -y install libpcre3-dev 运行apt-get -y install wget zip gcc 运行wget http://nginx.org/download/nginx-1.4.1.tar.gz 运行gunzip nginx-1.4.1.tar.gz 运行tar -xf nginx-1.4.1.tar 运行wget – 无检查证书https://github.com/max-l/nginx_accept_language_module/archive/master.zip RUN解压主 运行cd nginx-1.4.1 RUN ./configure –add-module = .. / nginx_accept_language_module-master –with-http_ssl_module –with-pcre = / lib / x86_64-linux-gnu –with-openssl = / […]

我如何清理我的docker主机

当我创build/debugging一个docker镜像/容器docker似乎在我的系统上留下各种各样的工件。 (有一次有48张图片限制)但是最后一次我看了20-25张图片; docker images 。 所以总的问题是: 如何正确清理? 因为我手动删除图像更多开始到达。 是吧? 我应该真正分配给主机多less磁盘空间? 运行后台程序真的重新启动后,下一次重新启动? 和元问题…有什么问题没有问我需要?

如何重新启动kubernetes Pods?

我是kubernetes新手。 我在豆荚里有一个问题。 当我运行命令 kubectl get pods 结果: NAME READY STATUS RESTARTS AGE mysql-apim-db-1viwg 1/1 Running 1 20h mysql-govdb-qioee 1/1 Running 1 20h mysql-userdb-l8q8c 1/1 Running 0 20h wso2am-default-813fy 0/1 ImagePullBackOff 0 20h 由于“wso2am-default-813fy”节点的问题,我需要重新启动它。 任何build议?

由于长时间运行的进程日志,Docker守护进程内存泄漏

我有以下设置: 在容器中运行Perl服务,并将注销写出到STDERR logspout将这些日志发送到远程服务器进行归档 在一个600 MB的RAM机器。 我也定期截断日志: /var/lib/docker/containers/CID/CID-json.log 正如这里所build议的,以避免100%的磁盘情况。 问题 Docker守护进程开始时内存使用率低,最初为1%,运行容器2天后缓慢增加到40%。 参考 在这个问题和这个问题上已经讨论了Docker守护进程的内存泄漏。 但是他们两人现在都被closures了,并表示合并在一个提交中。 我运行的是Docker的最新版本 (Docker版本1.4.0,版本4595d4f),但仍然面临单调增加的内存使用问题。 编辑:我做了这个实验:只要在容器中运行一个bash过程,打印出很多行给STDERR,docker守护进程的内存使用量加速非常快 docker是否做了一些日志缓冲 ,即使清除了底层日志文件(/var/lib/docker/containers/CID/CID-json.log),也不释放内存? 显然没有办法清除日志。 这将提交解决长期运行的任务这个问题? 我不知道为什么docker守护进程的内存使用量不断增加。 我如何debugging这个问题?

我怎样才能debugging我的docker容器与phpStorm

在下面的IP下,我的容器在我的Web浏览器中运行成功 http://192.168.99.100:32775 我也创build了一个卷来共享我的容器和我的文件系统之间的文件 docker run –name lampf -d -p 32775:80 -v /Users/sja/Sites/lamkepf2:/var/www/html –link=lampf_db:db codinglimo/apache_php540_gs_imgmck_pdflib9 现在我安装xDebug成功在我的容器与以下xdebug.ini zend_extension="/usr/local/lib/php/extensions/no-debug-non-zts-20100525/xdebug.so" xdebug.remote_enable=on xdebug.remote_host=127.0.0.1 xdebug.remote_port=9000 xdebug.remote_handler=dbgp xdebug.profiler_enable=0 xdebug.profiler_output_dir="/temp/profiledir" PHPStorm也被configuration http://img.gdocker.com/php/xdebug.png 但我的断点在我的index.php被忽略? 我的错误是什么? 问题是在Sergey的帮助下解决的 我新的xdebug.ini zend_extension="/usr/local/lib/php/extensions/no-debug-non-zts-20100525/xdebug.so" xdebug.remote_enable=on #xdebug.remote_host=127.0.0.1 xdebug.remote_port=9000 xdebug.remote_connect_back=On xdebug.remote_handler=dbgp xdebug.profiler_enable=0 xdebug.profiler_output_dir="/temp/profiledir"

在Docker中启动完整的容器?

根据这个github的问题 ,应该有可能用Docker 0.6或更高版本启动一个装满Upstart,cron等的容器,但是我该怎么做? 我期待着 docker run -t -i ubuntu /sbin/init 会像工作一样 lxc-start -n ubuntu /sbin/init 我会得到一个login屏幕,但是却没有任何显示。 我也尝试使用SSH访问它,但没有运气。 我使用Docker索引的默认ubuntu镜像。

docker中默认的WORKDIR是什么?

我们可以将WORKDIR设置为一个目录作为Dockerfile工作目录,但是如果我们没有设置,默认值是什么?

在Docker容器中使用audio运行应用程序

这个问题的启发可以在docker容器中运行GUI应用程序吗? 。 基本的想法是运行audio和用户界面(VLC,火狐,Skype,…) 我正在使用pulseaudiosearchdocker容器,但是我发现使用pulseaudio streaming over tcp的所有容器。 (应用程序的安全沙箱) https://gist.github.com/hybris42/ce429de428e5af3a344a https://github.com/jlund/docker-chrome-pulseaudio https://github.com/tomparys/docker-skype-pulseaudio 在我的情况下,我会prefere播放audio从容器内的应用程序直接到我的主机pulseaudio。 (没有SSH隧道和臃肿的docker图像) Pulseaudio,因为我的qt应用程序正在使用它;)

基于GUI的环境的Docker?

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

如何在基于Docker的微服务中pipe理每个环境的数据?

在微服务体系结构中,我很难掌握如何pipe理环境特定的configuration(例如数据库或消息代理的IP地址和凭证)。 假设您有三个微服务(“A”,“B”和“C”),每个微服务由不同的团队拥有和维护。 每个团队都需要一个团队集成环境…他们在哪里使用他们的微服务的最新快照,以及所有依赖微服务的稳定版本。 当然,你也需要QA /分期/生产环境。 大图的简化视图如下所示: “微服务A”团队环境 微服务A( SNAPSHOT ) 微服务B(STABLE) 微服务C(STABLE) “微服务B”团队环境 微服务A(STABLE) 微服务B( SNAPSHOT ) 微服务C(STABLE) “微服务C”团队环境 微服务A(STABLE) 微服务B(STABLE) 微服务C( SNAPSHOT ) 质量保证/分期/生产 微服务A(稳定,发布等) 微服务B(稳定,发布等) 微服务C(STABLE,RELEASE等) 这是很多的部署,但是这个问题可以通过持续集成服务器来解决,也许可以像Chef / Puppet /等等。 真正困难的部分是每个微服务都需要一些特定的环境数据给每个被部署的地方。 例如,在“A”团队环境中,“A”需要一个地址和一组证书来与“B”交互。 但是,在“B”团队环境中,“A”的部署需要不同的地址和凭证来与“B”的部署进行交互。 而且,当你接近生产时,像这样的环境configuration信息可能需要安全限制(即只有某些人可以修改甚至查看它)。 那么,在微服务体系结构中,如何维护特定于环境的configuration信息并将其提供给应用程序呢? 一些方法浮现在脑海中,尽pipe它们都有问题: 让构build服务器在构build时把它们烧到应用程序中 – 我想你可以创build一个每个环境属性文件或脚本的回购,并且为每个微服务的构build过程伸出并拉入适当的脚本(你也可以有一个单独的,限制访问回购生产的东西)。 不过,你需要大量的脚本。 对于微服务可以部署的每个地方的每一个微服务,基本上都是单独的。 将它们烘焙到每个环境的基础Docker镜像中 – 如果构build服务器将微服务应用程序放入Docker容器中作为构build过程的最后一步,则可以为每个环境创build自定义基础镜像。 基本映像将包含一个shell脚本,用于设置所有您需要的环境variables。 您的Dockerfile将被设置为在启动您的应用程序之前调用此脚本。 这与之前的要点也有类似的挑战,因为现在你正在pipe理大量的Docker镜像。 在运行时从某种registry中提取环境信息 – 最后,可以将你的每个环境configuration存储在Apache ZooKeeper(甚至只是一个普通的数据库)中,然后让你的应用程序代码在运行时将其拉入它启动。 每个微服务应用程序都需要知道它在哪个环境(例如启动参数),以便知道从registry中获取哪一组variables。 这种方法的优点是,现在您可以使用完全相同的构build工件(即应用程序或Docker容器)从团队环境一直到生产。 […]