如何将docker日志redirect到单个文件?

我想将我的docker容器的所有日志redirect到单个日志文件来分析它们。 我试过了 docker logs container > /tmp/stdout.log 2>/tmp/stderr.log 但是这给login在两个不同的文件。 我已经尝试过了 docker logs container > /tmp/stdout.log 但它没有工作。

用python 3.5安装cPickle

这可能是愚蠢的,但我无法安装python 3.5泊坞窗的cPickle图像 Dockerfile FROM python:3.5-onbuild requirements.txt cpickle 当我尝试build立图像 $ docker build -t sample . Sending build context to Docker daemon 3.072 kB Step 1 : FROM python:3.5-onbuild # Executing 3 build triggers… Step 1 : COPY requirements.txt /usr/src/app/ Step 1 : RUN pip install –no-cache-dir -r requirements.txt —> Running in 016c35a032ee Collecting cpickle (from -r […]

如何正确清除docker集装箱的日志?

我使用docker logs [container-name]来查看特定容器的日志。 有清除这些日志的优雅方法吗?

Selenium WebDriver为Click操作抛出一个错误,但Click实际上是成功的

使用Selenium和Google Chrome进行合成浏览器testing时,我们会在特定网站上间歇性地收到Selenium错误(请参阅下文)。 stream程是: 加载起始页面 input一个search词 截图 点击searchbutton 截取结果的截图 错误发生在点击操作(步骤4),但最终的屏幕截图(步骤5)与此相矛盾,并显示search已启动(只能通过点击 – 某种forms的自动search没有在网站上实现)和返回结果。 错误: Curl error thrown for http POST to /session/a4ec9662-1841-4809-9680-caf532b243b7/element/2/click Operation timed out after 30001 milliseconds with 0 bytes received 堆栈: selenium/铬docker集装箱: selenium/standalone-chrome:3.0.1-germanium Facebook的PHP WebDriver: 请参阅GitHub Docker PHP: 参见GitHub 我已经find了另外一个关于这个的post,build议将这个环境variables设置为DBUS_SESSION_BUS_ADDRESS=/dev/null容器: DBUS_SESSION_BUS_ADDRESS=/dev/null ,但是这不起作用。 我们如何从代码pipe理容器: $Docker = new Docker(); $Manager = $Docker->getContainerManager(); $Container = $Manager->find($container_name); if ($Container) […]

docker不能在Windows上启动

执行docker version将返回以下结果。 C:\Projects> docker version Client: Version: 1.13.0-dev API version: 1.25 Go version: go1.7.3 Git commit: d8d3314 Built: Tue Nov 1 03:05:34 2016 OS/Arch: windows/amd64 error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.25/version: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. […]

使用Ansible进行持续部署和AWS自动扩展(+ Docker?)

我的组织的网站是一个运行在AWS前端Web服务器+一些后台处理服务器上的Django应用程序。 我们目前正在使用Ansible: 系统configuration(从裸露的OS映像) 频繁的手动触发代码部署。 相同的Ansible操作手册能够从头开始configuration本地Vagrant dev VM或生产EC2实例。 我们现在要在EC2中实现自动缩放,这就需要一些“把服务器当作牛,而不是宠物”的理念。 第一个先决条件是从一个静态pipe理的Ansible库存移动到一个dynamic的,基于EC2 API的库。 接下来的一个大问题是如何在这个新的世界里,在一夜暴富的情况下来回摆动。 我能想到的选项是: 为每个部署创build一个新的完全部署的AMI ,创build一个新的AS启动configuration并用此更新AS组。 听起来非常非常繁琐,但也是非常可靠的,因为清洁的石板方法,并将确保任何系统更改代码所需的将在这里。 而且,在实例启动时不需要额外的步骤,所以启动和运行更快。 使用不经常更改的基本AMI ,在启动时自动从git获取最新的应用程序代码,启动web服务器。 一旦启动,只需按照需要手动部署,就像以前一样。 但是如果新代码依赖于系统configuration(新包,权限等)的更改呢? 看起来你必须开始考虑代码版本和系统/ AMI版本之间的依赖关系,而“只是做一个完全可靠的运行”的方法更集成,更可靠。 这不仅仅是在实践中潜在的头痛吗? 使用Docker? 我有一个强大的预感,它可以是有用的,但我不知道它是如何适合我们的图片。 我们是一个相对独立的Django前端应用程序,只有RabbitMQ + memcache作为服务,我们永远不会在同一个主机上运行。 那么使用包含系统包+最新代码的Ansible构buildDocker镜像有什么好处,而不是让Ansible直接在EC2实例上执行? 你怎么做呢 ? 任何见解/最佳实践? 谢谢 !

Docker容器的本地主机名

初学者的Docker问题在这里, 所以我有一个运行模块化应用程序的开发环境,它使用Docker Compose来运行3个容器:服务器,客户端,数据库。 docker-compose.yml如下所示: ############################# # Server ############################# server: container_name: server domainname: server.dev hostname: server build: ./server working_dir: /app ports: – "3000:3000" volumes: – ./server:/app links: – database ############################# # Client ############################# client: container_name: client domainname: client.dev hostname: client image: php:5.6-apache ports: – "80:80" volumes: – ./client:/var/www/html ############################# # Database ############################# database: container_name: database domainname: […]

在Docker镜像中部署WAR文件的正确方法

docker容器中部署java项目的docker方式是什么? 我是否将战争复制到webapps中: FROM jetty:9.2.10 MAINTAINER Me "me@me.com" ADD ./target/*.war /var/lib/jetty/webapps/ROOT.war 或者我拿起爆炸的战争文件: FROM jetty:9.2.10 MAINTAINER Me "me@me.com" ADD ./target/app-0.1.0.BUILD-SNAPSHOT /var/lib/jetty/webapps/ROOT 通常情况下,如果它是一个普通的容器,但是使用docker,则会部署密封的war文件,这意味着每次进行小的更改时都会推送一个10-20MB的文件,而添加爆炸的war文件只会推动差别 – .class文件已经改变。 部署爆炸战争而不是战争文件有什么缺点吗?

docker机器超时 – 如何修复而不破坏机器?

我在Docker Machine上遇到一个反复出现的问题 – 每隔几天它就会决定超时,一旦发生这种情况,我无法恢复。 例 docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS default virtualbox Timeout 环境信息 uname -a Darwin ColeyMBPR 15.4.0 Darwin Kernel Version 15.4.0: Fri Feb 26 22:08:05 PST 2016; root:xnu-3248.40.184~3/RELEASE_X86_64 x86_64 docker version 1.11.0 docker-machine version 0.7.0 vboxmanage –version 5.0.20r106931 尝试解决scheme 我已经尝试了以下的东西没有特别的顺序: 重新启动docker机。 运行eval "$(docker-machine env default)" 重新生成证书docker-machine regenerate-certs default […]

如何在docker中运行google chrome headless?

我的问题是如何在Docker容器中运行谷歌浏览器进行e2etesting。 我从官方的Jenkins图像创buildDockerfile ,但是当试图运行谷歌浏览器时,它崩溃并显示错误: Failed to move to new namespace: PID namespaces supported, Network namespace supported, but failed: errno = Operation not permitted Trace/breakpoint trap (core dumped) Jenkinsdocker工人使用Debian jessie 。 我可以用–headless标志运行谷歌–headless ,而不需要X服务器。 这是我的docker文件: https://github.com/ripper2hl/jenkinswithchrome jenkins官方形象: https://github.com/jenkinsci/docker 回购一个人用Docker运行谷歌浏览器的GUI: https://github.com/jessfraz/dockerfiles/blob/master/chrome/stable/Dockerfile 我的第一个方法是使用xvbf ,但是使用 – 无–headless标志的过程更简单。 https://gist.github.com/addyosmani/5336747 我可以在Ubuntu服务器上运行chrome来安装相同的命令,但在docker中失败。 在其他意图之后,我使用了–no-sandbox标志,但是docker图像显示了下一个错误。 [0427/180929.595479:WARNING:audio_manager.cc(295)] Multiple instances of AudioManager detected [0427/180929.595537:WARNING:audio_manager.cc(254)] Multiple instances of AudioManager […]