如何查看docker图像的树视图?

我知道docker已经弃用 – –tree docker images命令–tree标志。 但是我找不到任何方便的命令来获得像docker images –tree一样的输出。 我find了dockviz 。 但它似乎是另一个容器运行。 有没有内置cli命令来查看图像的树视图,而不使用dockviz

为什么在Ubuntu上安装docker应该是`sudo apt-get install docker.io`?

我觉得这样比较好: sudo apt-get install docker 但为什么没有select一个明确的名字?

docker员postgres pgadmin本地连接

我用nginx,php和postgres创build了一个ubuntu镜像。 我想连接我当前图像中的postgres数据库与位于本地机器上的pgadmin 。 我已经尝试使用docker督察尝试使用图像IP来与我的本地pgadmin连接,但没有太多的成功。 我也尝试过在本地configuration一些端口来连接工作。

当使用docker时,virtualenv是否有用(在生产中)?

对于开发,我们使用virtualenv在依赖性方面有一个孤立的发展。 从这个问题看来,build议在virtualenv中部署Python应用程序。 现在我们开始使用docker进行部署。 这提供了一个更孤立的环境,所以我质疑docker容器内的virtualenv的使用。 在单一应用程序的情况下,我不认为virtualenv有一个目的,因为docker工人已经提供隔离。 在多个应用程序部署在一个Docker容器的情况下,我认为virtualenv有一个目的,因为应用程序可能有冲突的依赖关系。 如果在Docker容器中部署单个应用程序,是否应该使用virtualenv? docker应该包含多个应用程序或每个容器只有一个应用程序? 如果是这样,在部署多个应用程序的容器时是否应该使用virtualenv?

docker – 如何禁用自动重启容器?

我可以使用–restart=always启用自动重新启动,但在停止容器后,如何closures该属性? 我通常运行一个networking服务器,通常映射端口80: docker run -d –restart=always -p 80:80 -i -t myuser/myproj /bin/bash 但有时候我想运行一个更新版本的图像,但是我想保留旧的容器。 问题是,如果有多个具有–restart=always容器,则只有其中一个(random?)启动,因为它们都在主机上竞争端口80。

如何安装docker专用版本

如何安装特定版本的Docker(如1.3.2 )? 我无法在docker官方文档中find任何文档。 引用这个链接的Ubuntu 。 以下说明安装docker版本1.0.1 : $ sudo apt-get update $ sudo apt-get install docker.io 另外,下面的说明安装最新版本的docker 1.4.1 : $ sudo sh -c "echo deb https://get.docker.com/ubuntu docker main > /etc/apt/sources.list.d/docker.list" $ sudo apt-get update $ sudo apt-get install lxc-docker如何安装特定版本如1.3.2 ?

如何在Mac OS X上添加Docker的bash命令完成?

我正在运行docker,我希望docker命令和参数bash命令完成。

Docker撰写到CoreOS

我目前正在学习Docker,并做了一个很好的和简单的Docker Compose设置。 3个容器,都有自己的Dockerfile设置。 我怎么能转换这个在CoreOS上工作,所以我可以稍后安装一个集群? web: build: ./app ports: – "3030:3000" links: – "redis" newrelic: build: ./newrelic links: – "redis" redis: build: ./redis ports: – "6379:6379" volumes: – /data/redis:/data

从Docker容器获取环境variables

从Docker容器中获取未在Dockerfile中声明的环境variables的最简单方法是什么 ? 例如,通过一些docker exec container /bin/bash会话设置的环境variables? 我可以做docker exec container env | grep ENV_VAR docker exec container env | grep ENV_VAR ,但我更喜欢的东西,只是返回值。 我已经尝试使用docker exec container echo "$ENV_VAR" ,但替代似乎发生在容器外,所以我没有从容器中获得env var,而是从我自己的计算机中获得env var。 谢谢。

如何使用docker在微服务架构中发布日志?

Heroku将其十二因子应用程序清单中的日志描述为简单的事件stream: 日志是从所有正在运行的进程和后台服务的输出stream中收集的聚合的,按时间sorting的事件stream。 login他们的原始forms通常是一个文本格式,每行一个事件(尽pipe从例外的回溯可能跨越多行)。 日志没有固定的开始或结束,但只要应用程序正在运行,就会持续stream动。 此外,应用程序应该简单地将日志写入stdout ,将任务留在“环境”中。 一个十二分之一的应用程序从不关心其输出stream的路由或存储。 它不应该尝试写入或pipe理日志文件。 相反,每个正在运行的进程都将其未缓冲的事件stream写入stdout。 在本地开发期间,开发人员将在terminal的前台查看此stream,观察应用程序的行为。 在部署或生产部署中,每个进程的stream将被执行环境捕获,与来自应用程序的所有其他stream进行整理,并发送到一个或多个最终目的地进行查看和长期归档。 这些归档目标对应用程序不可见或不可configuration,而是由执行环境完全pipe理。 开源日志路由器(如Logplex和Fluent)可用于此目的。 那么在docker环境中,在可靠性,效率和易用性方面达到这个目标的最好方法是什么? 我想下面的问题是想到的: 依靠Docker自己的日志工具( docker logs )是否安全? 运行docker undetached并将其输出视为日志stream安全吗? stdout可以直接redirect到一个文件(磁盘空间)? 如果使用文件,它应该在泊坞窗图像或一个绑定的卷内( docker run –volume=[] )? 是否需要login? 将stdout直接redirect到一个logshipper(以及哪个logshipper)是安全的吗? 命名pipe道(aka FIFO)是一个选项吗? (更多问题?)