Tag: boot2docker

如何显示在Docker容器中运行的Python应用程序的输出?

所以,我在Docker容器中运行了一些Python代码。 我使用Google的gcloud脚本启动了我的本地环境。 我看到基本的访问方式日志和健康检查信息,但我不知道如何通过日志消息,我从我的Python应用程序写入到控制台。 有没有一个参数,我可以设置来完成这与我的gcloud脚本,或者有什么我可以在Dockerfile中设置,可以帮助?

使用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密码,但是当我这样做,然后按回车,什么也没有发生。 想法?

在.bashrc中导出DOCKER_HOST对terminal中的相同命令产生不同的结果

在我可以使用我的docker容器(在OSX上使用Boot2Docker)之前,我总是要记得进入 export DOCKER_HOST=tcp://$(boot2docker ip 2>/dev/null):2375 在我的terminal,自然我经常忘记这一点。 所以我想我只是将该行添加到我的~/.bashrc文件,但是当我这样做,并检查DOCKER_HOST的值是tcp://192.168.42.43:4243而不是tcp://192.168.42.43:2375 。 打破它: boot2docker ip =>“虚拟机的主机接口IP地址是:192.168.59.103” boot2docker ip 2 =>“虚拟机的主机接口IP地址是:192.168.59.103” boot2docker ip 2>/dev/null =>“192.168.59.103”(好吧,我得到的,但我不知道如何工作,我不知道:4243是从哪里来的。 这里究竟发生了什么,港口为什么不同呢?

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!