Tag: docker boot2docker

Mongodb,Boot2Docker和副本集连接

我有一个docker容器,充当副本集的单个成员。 我能够成功启动其中三个,并在其中运行一些shell脚本,以便将它们作为副本集连接在一起。 我发现我可以从我的主机单独连接到每个成员,但是当我尝试连接到副本集(在我的情况下,通过spring-data-mongodb)列出每个成员在boot2docker IP和相应的端口,我发现应用程序交换每个容器IP的boot2docker IP,并试图直接在该IP连接。 我假设发生这种情况是因为初始连接string只是一个种子列表,然后通过与成员自己的通信提供实际的configuration。 这当然是一个问题,因为这些IP在主机(应用程序运行的地方)上不存在,只存在于boot2docker虚拟机中。 我怎样才能让成员报告boot2docker IP而不是他们个人不可达的IP? 我碰到类似elasticsearch的东西,并能通过设置network.publish_hostvariables来修复它。 有没有类似MongoDB的设置? 我想也许bind_ip是正确的,但一直无法做到这一点,我用错了吗? 我一直把它设置为boot2docker IP,并在启动时收到绑定错误。 此外,我可以确认这只是一个与boot2docker扔进混合的问题,因为我的朋友运行的Ubuntu和本地docker能够连接就好了。 这是我看到的错误,当试图将我的bind_ip设置为boot2docker虚拟机: Starting mongod process using command: /usr/bin/mongod –storageEngine wiredTiger –auth –dbpath /data/db/ –replSet rs0 –bind_ip 127.0.0.1,192.168.59.103 –keyFile /mongodb-keyfile 2015-04-19T16:34:41.123+0000 E NETWORK [initandlisten] listen(): bind() failed errno:99 Cannot assign requested address for socket: 192.168.59.103:27017 这是我的连接string在我的springxml: <mongo:mongo id="mongo" replica-set="192.168.59.103:27017,192.168.59.103:27018,192.168.59.103:27019"/> 这里是我的应用程序看到的错误(如果我刚开始的东西,而不尝试改变bind_ip等) Client view […]

使用boot2docker将Docker容器应用程序端口暴露给Windows上的主机

到目前为止我有: 在WIN7上安装boot2docker 1.6.0 使用ubuntu:14.01基本映像创build一个容器 安装了一个应用程序,并承诺,现在我有一个新的形象“demotest_core” 我遇到的问题是,当我启动我的容器使用这个命令 docker run -it –name demotest –rm -p 127.0.0.1:15000:1500 -v /c/Users/b101/shared:/mnt/shared ubuntu/demotest_core bin/bash 容器启动后,我cd到我的应用程序的目录,并启动应用程序(它是一个Web应用程序运行在端口1500)应用程序启动成功的容器,我可以看到它在侦听模式,当我做netstat 。 我想访问我的主机WIN7系统上的这个应用程序,但是当我尝试http://127.0.0.1:15000我得到连接拒绝错误。 使用另一个terminal,我可以清楚地看到端口映射到位,但我无法在主机上访问它 C:\Users\b101>docker port demotest 1500/tcp -> 127.0.0.1:15000 我也试过这个命令,认为首先我需要公开端口,然后映射它,但它没有工作 docker run -it –name demotest –expose 1500 –rm -p 127.0.0.1:15000:1500 -v /c/Users/b101/shared:/mnt/shared ubuntu/demotest_core bin/bash

不能拉泊坞镜图像

我想拉的Ubuntu的形象,但有一些错误显示 wangyaos-MBP-3:test wangyao$ sudo docker pull dl.dockerpool.com:5000/ubuntu:12.04 发布http:///var/run/docker.sock/v1.19/images/create?fromImage = dl.dockerpool.com%3A5000%2Fubuntu%3A12.04 :dial unix /var/run/docker.sock:no这样的文件或目录。 您是否尝试连接到启用TLS的守护程序而不使用TLS? 但是我可以使用$docker run ubuntu:14.04 grep -v '^#' /etc/apt/sources.list ,它太慢了。 我怎么能做到这一点?

在Docker容器中保留数据文件

这应该不难,但我不明白。 我有一个容器运行,并在docker run命令中使用-v /tester 。 然后我执行docker exec ti containername /bin/bash 。 然后用vi /tester/stayhere.txt创build一个名为/tester/stayhere.txt的文件。 然后我保存该文件并validation它在那里。 然后我做一个docker提交,并启动新的图像和stayhere.txt丢失。 我究竟做错了什么?

我自己的boot2docker自定义不反映到ISO映像

在制作自定义的boot2docker ISO部分之后 ,我编写了下面的Dockerfile来安装vim包: FROM boot2docker/boot2docker RUN apt-get update && apt-get install -y vim RUN /make_iso.sh CMD ["cat", "boot2docker.iso"] 然后成功执行这些命令: docker build -t my-boot2docker-img . && docker run –rm my-boot2docker-img > boot2docker.iso 我使用这个ISO映像创build了一个虚拟机并login到它。 我期望vim现在可以在我的shell中使用,但事实并非如此。 从构build进程控制台日志,我看到vim安装成功。 但显然不包含在iso中。 有人可以告诉我,我在这里错过了什么?

EOF错误:: docker命令执行时

我想在我的Windows 7系统上设置docker env,每当我运行docker命令,我得到EOF错误。 任何build议来解决这个问题? $ docker ps An error occurred trying to connect: Get https://22.222.201.93:2376/v1.21/containers/json: EOF jayanth@mycomputer MINGW64 ~ $ jayanth@mycomputer MINGW64 ~ $ docker version Client: Version: 1.9.1 API version: 1.21 Go version: go1.4.3 Git commit: a34a1d5 Built: Fri Nov 20 17:56:04 UTC 2015 OS/Arch: windows/amd64 An error occurred trying to connect: Get https://22.222.201.93:2376/v1.21/version: […]

在Windows上的Docker:安装卷中的数据不会更新

我用这个命令在Windows 10上运行docker: docker run -d -v /c/Users/tsh/docker:/usr/share/nginx/html -p 80:80 nginx Inside Users / tsh / docker文件夹我有简单的index.html文件: <h1>Hello!</h1> 它工作得很好,当我把我的浏览器在windows上指向virtualbox IP时,我可以看到带有“Hello!”的网页。 显示。 但是,当我将index.html的内容更改为如下所示: <h1>Hello from docker!</h1> 网页仍然显示我的旧“你好!” 文本。 是否有可能当我改变index.html网页上的数据也改变了? UPD: docker run -it -v //c/Users/tsh/docker:/usr/share/nginx/html -p 80:80 nginx bash root@ae5fc6b6126a:/# cd /usr/share/nginx/html root@ae5fc6b6126a:/usr/share/nginx/html# cat index.html <h1>Hello from docker!</h1> root@ae5fc6b6126a:/usr/share/nginx/html# 容器查看新数据<h1>Hello from docker!</h1>但页面仍显示旧的Hello!

是否有可能分配静态IP地址docker容器创build后?

是否有可能分配静态IP地址和主机名到docker集装箱创build后? 我所有的容器都在同一个networking(桥)。 由网桥分配给我的竞争者的docker IP 172.17.0.x在重新启动docker服务后发生了一些变化,我需要一个静态IP来保存容器之间的通信。

/ bin / sh:1:composer php:找不到

我正在尝试构build一个Dockerfile。 FROM php:7 RUN mkdir -p /home/winpc/test/laravelApp/app WORKDIR /home/winpc/test/laravelApp/app COPY composer.json /home/winpc/test/laravelApp/app RUN composer install COPY . /home/winpc/test/laravelApp/app CMD php artisan serve –host=0.0.0.0 –port=8181 EXPOSE 8181 但是,当我运行生成命令它说: docker build -t lar-app . /bin/sh: 1: composer: not found The command '/bin/sh -c composer install' returned a non-zero code: 127 但是,当我只键入作曲者它正在正确显示信息我想问题是与命令: RUN composer install 这里我使用的是Ubuntu 14.04

docker命令的自动化

我想做docker命令的自动化, 我可以validationdocker命令来validation完整性。 我只需要知道是否有任何插件可用于此目的,或者如果我必须从我可以写的语言从头开始? 如何最初启动它?