标签: boot2docker

如何从Vagrant VM中访问Docker容器

我有一个Vagrant设置,提供两个Docker容器.Docker容器启动没有问题.在Vagrant VM中,我可以运行docker ps并看到两个容器都连接到正确的端口.如果我运行,docker logs XXX我会看到我的Redis和Mongo守护进程都在运行.但是从Vagrant盒子本身我无法telnet或访问任何正在运行的服务.我总是拒绝连接.如何让Vagrant VM看到Docker中运行的正在运行的服务?

Vagrantfile看起来像:

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.host_name = "trusty"

  config.vm.box_url = "https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box"
  config.vm.box = "trusty64"

  config.vm.network :private_network, ip: "192.168.10.12"
  config.vm.network :forwarded_port, guest: 6379, host: 6379
  config.vm.network :forwarded_port, guest: 27017, host: 27017

  config.vm.provision "docker" do |d|
    d.pull_images 'dockerfile/redis'
    d.pull_images 'dockerfile/mongodb'

    d.run 'dockerfile/redis', ports: ['6379:6379'], name: 'redis', expose: [6379]
    d.run 'dockerfile/mongodb', ports: ['27017:27017'], name: 'mongodb'
  end
end 
Run Code Online (Sandbox Code Playgroud)

vagrant docker vagrantfile boot2docker

2
推荐指数
1
解决办法
2908
查看次数

debian中的Tomcat7:wheezy Docker实例无法启动

我正在尝试使用谷歌的debian图像(google/debian:wheezy)首次构建一个docker镜像,在其上设置OpenJDK7并尝试设置Tomcat7.

docker pull google/debian:wheezy
docker run -i -t google/debian:wheezy bash
Run Code Online (Sandbox Code Playgroud)

一旦我在bash,我安装openjdk

apt-get update
apt-get install openjdk-7-jre
Run Code Online (Sandbox Code Playgroud)

过了一会儿,我收到一个错误,我必须跑

 apt-get update --fix-missing
 apt-get install openjdk-7-jre
 apt-get install tomcat7
Run Code Online (Sandbox Code Playgroud)

安装Tomcat7后,我尝试启动它

/etc/init.d/tomcat7 start
Run Code Online (Sandbox Code Playgroud)

这给了我以下错误:

[FAIL] Starting Tomcat servlet engine: tomcat7 failed!
Run Code Online (Sandbox Code Playgroud)

我显然做错了什么,我在我的Debian Docker安装和我的OSX Docker安装上都得到了完全相同的行为(至少它是一致的,这有点令人印象深刻!)

查看/var/log/catalina.out不会显示任何错误,localhost也不会记录.

我使用普通的debian跟踪了相同的过程:wheezy图像并且没有任何错误地获得完全相同的故障.知道我搞砸了吗?

debian tomcat7 docker boot2docker

2
推荐指数
1
解决办法
5435
查看次数

在.bashrc中导出DOCKER_HOST会对终端中的同一命令产生不同的结果

在我可以使用我的docker容器之前(在OSX上使用Boot2Docker)我总是要记得输入

export DOCKER_HOST=tcp://$(boot2docker ip 2>/dev/null):2375
Run Code Online (Sandbox Code Playgroud)

在我的终端,自然我经常忘记这一点.

所以我想我只是将该行添加到我的~/.bashrc文件中,但是当我完成此操作并检查DOCKER_HOST它的值tcp://192.168.42.43:4243而不是tcp://192.168.42.43:2375.

打破它:

  • boot2docker ip >"VM的主机唯一接口IP地址是:192.168.59.103"
  • boot2docker ip 2 >"VM的主机唯一接口IP地址是:192.168.59.103"
  • boot2docker ip 2>/dev/null=>"192.168.59.103"(好吧我有点理解,但我不知道它是如何工作的,我不知道:4243它来自哪里."

实际上这里发生了什么,为什么端口不同?

bash .bash-profile docker boot2docker

2
推荐指数
1
解决办法
3615
查看次数

Docker无法启动容器没有这样的文件或目录

我无法在构建后启动我的容器,我得到了:

Error response from daemon: Cannot start container ogc-mysql: no such file or directory
Error: failed to start one or more containers
Run Code Online (Sandbox Code Playgroud)

这是我的Docker文件:

FROM ubuntu:latest

MAINTAINER Davin Kevin

# Install latest updates
RUN apt-get update
RUN apt-get upgrade -y

# Install mysql client and server
RUN apt-get -y install mysql-client mysql-server curl

# Enable remote access (default is localhost only, we change this
# otherwise our database would not be reachable from outside the container)
RUN sed -i -e"s/^bind-address\s*=\s*127.0.0.1/bind-address = …
Run Code Online (Sandbox Code Playgroud)

mysql linux ubuntu boot2docker

2
推荐指数
1
解决办法
9088
查看次数

在docker中运行apache

好吧,我已经筋疲力尽了所有的线程和文章,但仍然无法让我的apache webserver在Centos Docker Container上以独立模式运行.

这是我简化的Dockerfile

# install apache
RUN yum -y install httpd

# start the webserver
ADD startservice /startservice
RUN chmod 775 /startservice

EXPOSE 80

CMD ["/startservice"]
Run Code Online (Sandbox Code Playgroud)

我的星际服务脚本就是这样

#!/usr/bin/sh
service httpd start
Run Code Online (Sandbox Code Playgroud)

我可以构建好,但是,似乎无法在守护进程/独立模式下运行容器.我怎么做?

我使用它来以独立模式运行容器

docker run -p 80:80 -d -t webserver
Run Code Online (Sandbox Code Playgroud)

我必须登录容器并启动服务以运行Web服务器.

docker run -p 80:80 -i -t webserver bash
service httpd start
Run Code Online (Sandbox Code Playgroud)

docker boot2docker

2
推荐指数
1
解决办法
1269
查看次数

如何检查重启策略是否适用于Docker

从Docker 文档中,restart policy可以设置一个参数.

当容器退出时,如何验证容器确实重新启动.如何手动触发容器的退出,并观察容器是否重新启动?

我的环境是Mac和boot2docker.

谢谢

docker boot2docker

2
推荐指数
2
解决办法
3541
查看次数

如何运行已安装Nginx的docker容器?

我有docker图像Dockerfile,用docker build .命令成功构建.的Dockerfile内容是:

FROM ubuntu
RUN apt-get update && apt-get install -y nginx php5 php5-fpm
ADD . /code
Run Code Online (Sandbox Code Playgroud)

如何运行我的docker容器以查看它Nginx是否有效?

更新:当我尝试使用下一个Dockerfile时:

FROM ubuntu
RUN apt-get update && apt-get install -y nginx php5 php5-fpm
RUN sudo echo "daemon off;" >> /etc/nginx/nginx.conf
CMD service php5-fpm start && nginx
Run Code Online (Sandbox Code Playgroud)

它成功构建docker build -t my/nginx .,但当我输入docker run --rm -ti my/nginx命令时,我的终端没有响应:

在此输入图像描述

php nginx docker boot2docker dockerfile

2
推荐指数
1
解决办法
4572
查看次数

Docker推送失败,重定向太多

我在dockerhub上有一个回购.我成功地推了几次.现在,突然间我无法推动.我无法想象导致问题的小XML文件编辑,但我不知道它可能是什么.

命令和错误如下:

在{ https://cdn-registry-1.docker.io/v1/repositories/lulumialu/titandb/tags/latest } 上推动rev [6c4dcead2bef]的标签2015/06/22 13:17:10放入 https:// index.docker.io/v1/repositories/lulumialu/titandb/images:在[10.0.2.3]上拨打tcp:lookup index.docker.io:53:重定向太多

docker boot2docker

2
推荐指数
1
解决办法
764
查看次数

重新安装Boot2Docker因VirtualBox运行明显失败 - 如何关闭它们?

我正在尝试重新安装boot2docker

https://github.com/boot2docker/osx-installer/releases/tag/v1.7.0

安装失败,并报告以下错误:

安装程序检测到VirtualBox仍在运行.请关闭所有正在运行的VirtualBox计算机并退出VirtualBox,然后重新启动安装.

我该如何退出VirtualBox?

macos virtualbox docker boot2docker

2
推荐指数
1
解决办法
494
查看次数

Yum install不能在boot2docker主机上运行?

我对Docker比较陌生.我使用docker-machine create -d启动了一个boot2docker主机.

管理连接到它,并运行一些命令.都好.

但是,在尝试创建一个基本的http服务器映像时,基于centos .."yum install"只是失败了.无论什么是包装.

这是我的Docker文件:

FROM centos
MAINTAINER Amir

#Install Apache
RUN yum install httpd
Run Code Online (Sandbox Code Playgroud)

运行时:docker build.

它开始构建图像,一切看起来都不错......但随后失败了:

您的事务已保存,请使用以下命令重新运行:yum load-transaction /tmp/yum_save_tx.2015-09-18.15-10.q5ss8m.yumtx安全警告:您正在从Windows构建针对非Windows Docker主机的Docker镜像.添加到构建上下文的所有文件和目录都具有"-rwxr-xr-x"权限.建议仔细检查并重置敏感文件和目录的权限.命令'/ bin/sh -c yum install httpd'返回非零代码:1

知道我做错了什么吗?

提前致谢.

docker boot2docker dockerfile docker-machine

2
推荐指数
1
解决办法
1929
查看次数