Tag: boot2docker

使用docker-compose构build容器,但稍后使用-it选项运行/ etc / bash?

我正在使用docker-compose进行开发 。 在这个过程中,我经常需要build造5个容器(1个用于web服务器,4个用于postgres,redis,mongo等)。 Web服务器容器configuration为包含其他容器的链接,它具有自己的ENVvariables,来自开发主机的已安装卷。 问题是我不需要Web容器来运行服务器本身。 为此,我需要执行/etc/bash与所有依赖的容器创build后,在Web容器内的选项。 那就是为什么,我的web容器的dockerfile结束于: CMD /bin/true 很明显,这样的容器不会运行,所以我不能使用水手 docker exec -it <CONTAINER ID> /bin/bash 以“input”它并运行node app.js或一些其他任务。 任何方式来构build容器作为docker-compose.yml文件的一部分,但后来用-it选项运行/ etc / bash? 顺便说一句,当然,我可以手动启动一个单独的Web容器 docker run \ –link postgres –link … -e "NODE_ENV=development" \ -e … \ … … .. 但是在这种情况下,我需要在每次打算开发应用程序时将所有链接,env vars,卷等附加为附件。

boot2docker将IP地址从默认的192.168.59.103更改为192.168.59.104(Mac)

boot2docker一直在192.168.59上运行。 103 。 突然,命令boot2docker ip给192.168.59。 104 。 问题是,现在我不得不改变我所有的/etc/hosts条目。 我怎样才能使boot2docker的IP地址是静态的? 侧面的问题:我应该完全避免boot2docker,并运行Vagrant机器内的一切? 我在Mac OS X v10.10 (优胜美地)上运行。

Rake任务似乎不在Docker容器中写入文件

我试图在本地运行我的Rails应用程序作为平台迁移的一部分。 我在Docker Compose中使用Docker。 我遇到了rake assets:precompile问题rake assets:precompile 。 它看起来好像docker工人在构build过程中删除生成的文件。 这是我的Dockerfile FROM ruby:2.2.2 RUN apt-get update -qq && apt-get install -y build-essential nodejs npm nodejs-legacy mysql-client vim RUN mkdir /lunchiatto ENV RAILS_ENV production ENV RACK_ENV production WORKDIR /tmp COPY Gemfile Gemfile COPY Gemfile.lock Gemfile.lock RUN bundle install –without production test ADD . /myapp WORKDIR /myapp RUN bundle […]

Dockerlogin命令不起作用

我已经在我的Windows机器上安装了boot2docker,并在docker hub上创build了一个仓库。 我正尝试在linux shell中使用以下命令login: docker login –username=myusername –password=mypassword –email=myemail@gmail.com 但是我在shell中得到这个: 出现密码字段要求我input密码,但是当我这样做,然后按回车,什么也没有发生。 想法?

Yum安装将无法在boot2docker主机上工作?

我对Docker比较陌生。 我使用docker-machine create -d启动了boot2docker主机。 pipe理连接到它,并运行几个命令。 都好。 但是,当试图创build一个基本的http服务器映像,基于centos ..“yum安装”只是失败。 不pipe包装是什么。 这是我的Docker文件: FROM centos MAINTAINER Amir #Install Apache RUN yum install httpd 运行时:docker build。 它开始build立的形象,一切看起来不错,但随后失败: 您的交易已保存,重新运行它:yum load-transaction /tmp/yum_save_tx.2015-09-18.15-10.q5ss8m.yumtx安全警告:您正在从Windows构build一个Docker镜像对非Windows Docker主机。 添加到构build上下文的所有文件和目录将具有“-rwxr-xr-x”权限。 build议仔细检查并重置敏感文件和目录的权限。 命令'/ bin / sh -c yum install httpd'返回了一个非零的代码:1 任何想法我做错了什么? 提前致谢。

Docker编写循环的容器链接

我正在试图用docker来集成我们的开发环境。 这包括Google Appengine项目的组合以及最终在集装箱化虚拟机中的Google Compute引擎中托pipe的服务。 我们当前的开发环境引导脚本在boot2docker中启动elasticsearch和nginx,其他应用程序在dev_appserver appengine沙箱中的localhost:{product port}上运行。 这个过程certificate难以pipe理和维护,因为它需要我们的应用程序沟通的很多洞察力。 docker-compose发现错误,它检测到容器之间的循环依赖。 在cs和vbc以及aa和sr之间循环导入。 由于此configuration仅适用于开发环境(mac osx),因此在将所有产品套件依赖关系链接在一起时,是否有人对采用不同方法提出build议或意见。 docker-compose.yml的一部分: elasticsearch: build: ./compute/containers/elasticsearch/elasticsearch ports: – "9200:9200" environment: – PROJECT_ID=localhost nginx: build: ./compute/containers/elasticsearch/nginx links: – elasticsearch:localhost ports: – "9201:9201" cs: build: ./CS command: dev_appserver.py /src/ –host=0.0.0.0 –admin_host=0.0.0.0 –port=8080 –admin_port=9080 –storage_path=/data/ ports: – "8080:8080" – "9080:9080" volumes: – /Users/source/CS/src:/src – /Users/source/CS/data:/data aa: build: ./AA […]

Docker,无法使用docker flag -p 3000:3000从localhost:3000进行“rails server”开发

我试图使用docker与铁路,build立一个容器内的整个堆栈。 我的目标是有一个nginx / memcached /独angular兽/ rails / postgres堆栈作为进程pipe理器的runit。 到目前为止,我已经安装了我的app,ruby和postgres。 在这一点上,我试图在移动到nginx / memcached / unicorn之前testing一切是否正常工作。 这是我的dockerfile: FROM ubuntu:trusty ADD . /app # Update repos RUN apt-get update # General RUN apt-get install -y git curl software-properties-common python-software-properties ssh # Install ruby (taken from https://gist.github.com/konklone/6662393) RUN \curl -Lk https://get.rvm.io | bash -s stable RUN /bin/bash -l -c […]

如何将Docker Machine连接到远程Docker VirtualBox

我正在尝试使用Docker Machine连接到不同主机上的Docker VirtualBox VM。 在我的本地主机上,安装程序是成功的,包括安装Busybox的示例,并从名为“dev”的虚拟机回显“hello world”,如下所示: $ docker $(docker-machine config dev)运行busybox echo hello world 我可以使用Docker Machine创build许多类似的本地Docker VirtualBox虚拟机,其结果是类似的成功。 现在我想用我的本地Docker Machine来做同样的事情,并且在我安装Docker Machine和Boot2Docker的不同物理主机上执行docker命令。 换句话说:我想使用我的本地Docker Machine CLI和远程命令来例如拉取一个映像,并在不同的主机上运行一个容器。 这是可能的,如果是这样,怎么样?

运行docker容器与SSH从cygwin显示不起作用

我正在运行在我的Windows 7计算机上安装的docker工具箱,我试图从外部访问docker(win桌面),这样我就可以获得一个GUI应用程序(假设我们将用Firefox进行testing)众所周知, docker剂量来与服务器X,所以我发现解决scheme是安装xcygwin执行X11任务…然后通过SSH运行容器,所以它可以显示在我的窗口…问题是我不能设置显示正确,我这样做: export DISPLAY=:0.0 并尝试了其他几个选项,如导出到主机的IP,导出到本地主机等。然后我通过运行SSH到我的docker docker-machine ssh default -X (如果我没有错,-X应该激活x11转发) 现在,我进入我的泊坞窗,所以我简单地尝试通过运行这样的东西来运行我的魔法firefox容器: Docker run –rm -e DISPLAY=$DISPLAY devurandom/firefox 我得到了预期的错误:无法打开显示:对! 我没有在我的docker设置显示! 所以我做了 : DOCKER=0.0 嗯总是一样的东西,无法打开显示:0.0! 我也试过这一个,我不能确定path来自哪里,但是.. docker run -ti -v / tmp / serverX:/ tmp / ServerX -e DISPLAY = $ DISPLAY … 没有运气,有人知道如何解决这个PLZ!

Docker:“未知指令:VIRTUALENV”

Dockerfile : FROM ubuntu:14.04.2 RUN apt-get -y update && apt-get upgrade -y RUN apt-get install python build-essential python-dev python-pip python-setuptools -y RUN apt-get install libxml2-dev libxslt1-dev python-dev -y RUN apt-get install libpq-dev postgresql-common postgresql-client -y RUN apt-get install openssl openssl-blacklist openssl-blacklist-extra -y RUN apt-get install nginx -y RUN pip install virtualenv uwsgi ADD canonicaliser_api ~ […]