Tag: docker

我应该关心多余的,不运行的Docker容器吗?

每个docker run命令或Dockerfile中的每个RUN命令都会创build一个容器。 如果容器不再运行,仍然可以看到docker ps -a 。 我应该关心的是有一大堆没有运行的容器吗? 我应该在非运行容器上发行docker rm吗? 我不确定这些不运行的容器会产生什么性能或内存/存储处罚。

正确的方式从容器中分离而不停止

在Docker 1.1.2(最新版本)中,什么正确的方法从容器中分离而不停止呢? 例如,如果我尝试: docker run -i -t foo /bin/bash或者 docker attach foo (为已经运行的容器) 两者都让我到达集装箱docker,我怎样才能不停止集装箱docker? exit和CTR+C都会停止容器。

docker运行 – >名称已被容器使用

用下面的命令运行dockerregistry总是会抛出一个错误: dev:tmp me$ docker run \ -d –name registry-v1 \ -e SETTINGS_FLAVOR=local \ -e STORAGE_PATH=/registry \ -e SEARCH_BACKEND=sqlalchemy \ -e LOGLEVEL=DEBUG \ -p 5000:5000 \ registry:0.9.1 Error response from daemon: Conflict. The name "registry-v1" is already in use by container f9e5798a82e0. You have to delete (or rename) that container to be able to reuse that […]

什么将是一个很好的dockerwebdev工作stream程?

我有一个预感, docker可以大大提高我的webdev工作stream程 – 但我没有完全包办我的头围绕如何处理一个项目添加docker到堆栈。 基本的软件堆栈看起来像这样: 软件 提供自定义LAMP堆栈的Docker镜像 Apache与几个模块 MYSQL PHP 一些CMS,例如银条 GIT 工作stream程 我可以想象的工作stream程看起来有点像下面这样: 发展 编写一个Dockerfile来定义符合上述要求的LAMP容器 REQ:机器启动后应该立即启动apache / mysql build立docker形象 将运行CMS所需的文件复制到~/dev/cmsdir 把~/dev/cmsdir/放在版本控制下 运行~/dev/cmsdir容器,并以某种方式将~/dev/cmsdir到容器上的/var/www/ 填充数据库 在/dev/cmsdir/ 提交并closuresdocker集装箱 部署 设置远程主机(例如,使用安全的) 将容器映像推送到远程主机 通过git获取cmsdir 运行cmsdir容器,拉入数据库并将cmsdir挂载到/var/www 现在,纸上看起来相当不错,但是我不太确定这是否是正确的做法。 问题: 在本地开发的过程中,如何让数据库在容器实例的重新引导之间持续存在? 或者我需要每次运行SQL转储之前旋转容器? 我应该有数据库和Apache服务器单独的容器实例吗? 或者只有一个容器用于上述用例就足够了? 如果为数据库和服务器使用单独的容器,我怎么能同时自动旋转它们? 我怎么实际上挂载/dev/cmsdir/到容器/var/www/ -directory? 我应该利用这个数据量吗? 我有没有错过任何陷阱? 任何可以简化的东西?

如果更新了基础图像,如何自动更新您的Docker容器

说我有一个微不足道的容器基于ubuntu:latest 。 现在有一个安全更新和ubuntu:latest更新在docker回购。 1)我怎么知道我的本地图像,它的容器在后面运行? 2)是否有一些最佳做法是自动更新本地映像和容器以遵循docker repo更新,这在实践中会使您在常规ubuntu-machine上运行无人值守升级

使用ADD命令将目录复制到Docker中的其他目录

我已经阅读http://docs.docker.com/engine/reference/builder/#add但是我遇到了一个问题。 我想复制本地目录go docker /user/local/ 我试过了: ADD go /usr/local/ 和: ADD /go/ /usr/local/ 也: RUN chmod 0755 /usr/local/go/src/make.bash 但是,我看到以下错误消息/usr/local/go/src/make.bash: No such file or directory但本地go目录确实包含make.bash 。

在Dockerfile中使用'source'运行指令不起作用

我有一个Dockerfile,我正在安装一个香草python环境(我将安装一个应用程序,但在以后的date)。 FROM ubuntu:12.04 # required to build certain python libraries RUN apt-get install python-dev -y # install pip – canonical installation instructions from pip-installer.org # http://www.pip-installer.org/en/latest/installing.html ADD https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py /tmp/ez_setup.py ADD https://raw.github.com/pypa/pip/master/contrib/get-pip.py /tmp/get-pip.py RUN python /tmp/ez_setup.py RUN python /tmp/get-pip.py RUN pip install –upgrade pip # install and configure virtualenv RUN pip install virtualenv RUN pip install […]

如何在Docker中创build命名和最新的标签?

假设我有一个图像,我想标记为0.10.24 (在我的情况下,它是一个包含Node.js 0.10.24的图像)。 我使用Dockerfile构build了该映像,并执行了docker docker build并使用-t参数提供了一个标记。 我希望有一天我会有更多版本的图像,所以我会重新运行这个过程,只是使用另一个标签名称。 到现在为止还挺好。 这工作很好,一切都很好。 但是,这是问题开始的地方,我也想永远有最新的图像标记广告latest另外。 所以我想我需要把两个名字给相同的图像。 我该怎么做呢? 我是否真的需要重新运行docker build完全相同的版本,但这次使用另一个标记,是否有更好的select?

如何在构build期间将主机卷装入Dockerfile的Docker容器中

原始问题:如何在Dockerfile中使用VOLUME指令? 修改:从下面的答案更新,所以我想要解决的实际问题是 – 如何在生成期间将主机卷装入Dockerfile中的Docker容器中,即在docker生成过程中让docker docker run -v /export:/exportfunction。 最新更新:现在有一个解决scheme。 虽然它不是严格的Docker,但是“ 它解决了Dockerfile的所有弱点 ”,所以我认为它是完美的答案。 检查我的最新答案的细节。 更新:所以答案是“不可能的”。 我可以接受它作为答案,因为我知道这个问题已经在https://github.com/docker/docker/issues/3156广泛讨论。 我可以理解,对于docker开发人员来说,可移植性是一个至关重要的问题。 但作为docker用户,我不得不说我对这个缺失的function感到非常失望。 让我用前面提到的讨论引用我的观点:“ 我想使用Gentoo作为基础映像,但是一旦映像build立完成后,绝对不希望Portage树数据在任何层中。如果不是在安装过程中出现在镜像中的巨大的portage树,可能会有一些不错的容器。 “是的,我可以使用wget或curl来下载我需要的任何东西,但是仅仅是一个可移植性的考虑现在迫使我下载> 1GB的Portage树,每次构buildGentoo基础映像既不高效,也不便于用户使用。 此外,软件包仓库将总是在/ usr / portage下,因此在Gentoo下永远都是可移植的。 再一次,我尊重这个决定,但同时也请允许我expression我的失望。 谢谢。 原始问题的细节: 从 通过卷共享目录 http://docker.readthedocs.org/en/v0.7.3/use/working_with_volumes/ 它说数据卷function“从Docker Remote API的第一版开始就可用”。 我的docker是版本1.2.0,但我发现上面的文章中给出的例子不工作: # BUILD-USING: docker build -t data . # RUN-USING: docker run -name DATA data FROM busybox VOLUME ["/var/volume1", "/var/volume2"] CMD […]

使用Docker-Compose,如何执行多个命令

我想要做这样的事情,我可以按顺序运行多个命令。 db: image: postgres web: build: . command: python manage.py migrate command: python manage.py runserver 0.0.0.0:8000 volumes: – .:/code ports: – "8000:8000" links: – db