如何使用vagrant docker provider查看Nginx默认页面?

时间:2015-05-03 07:39:22

标签: nginx docker vagrant vagrantfile

我尝试使用vagrant docker provider运行我的Nginx服务器,如:

vagrant up

Vagrantfile说明是:

# Specify Vagrant version and Vagrant API version
Vagrant.require_version ">= 1.6.0"
VAGRANTFILE_API_VERSION = "2"
ENV['VAGRANT_DEFAULT_PROVIDER'] = 'docker'

# Create and configure the Docker container(s)
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.network "private_network", ip: "192.168.66.66"

  config.vm.provider "docker" do |docker|
    docker.name = 'nginx-container'
    docker.image = "nginx:latest"
    docker.ports = ['80:80', '443:443']
  end
end

如果我用vagrant status检查流浪者的状态,我会:

Current machine states:

default                   running (docker)

The container is created and running. You can stop it using
`vagrant halt`, see logs with `vagrant docker-logs`, and
kill/destroy it with `vagrant destroy`.

当我尝试获取http://192.168.66.66/页面时,我得到ERR_CONNECTION_TIMED_OUT并且页面未加载。为什么我没有看到Nginx默认网页?

控制台中vagrant up期间的日志是:

==> default: Docker host is required. One will be created if necessary...
    default: Docker host VM is already ready.
==> default: Syncing folders to the host VM...
    default: Installing rsync to the VM...
    default: Rsyncing folder: /Users/victor/www/symfony/ => /var/lib/docker/docker_1430638235_29519
==> default: Warning: When using a remote Docker host, forwarded ports will NOT be
==> default: immediately available on your machine. They will still be forwarded on
==> default: the remote machine, however, so if you have a way to access the remote
==> default: machine, then you should be able to access those ports there. This is
==> default: not an error, it is only an informational message.
==> default: Creating the container...
    default:   Name: nginx-container
    default:  Image: nginx:latest
    default: Volume: /var/lib/docker/docker_1430638235_29519:/vagrant
    default:   Port: 80:80
    default:   Port: 443:443
    default:
    default: Container created: b798ea3309612fb2
==> default: Starting container...
==> default: Provisioners will not be run since container doesn't support SSH.

1 个答案:

答案 0 :(得分:2)

这已经有好几个月了,但是为了其他可能会落在这里的人,我还是会回答:

使用docker ps查看您的图片标识符,应该是' b798ea3309612fb2'

然后执行:

docker inspect b798ea3309612fb2 | grep IPAddress

因此,您确认IP地址。

由于你暴露了这些端口,你应该在你的REAL(你用于Vagrant的任何容器)IP中看到它们。 确保没有防火墙阻止它们。