我尝试使用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.
答案 0 :(得分:2)
这已经有好几个月了,但是为了其他可能会落在这里的人,我还是会回答:
使用docker ps
查看您的图片标识符,应该是' b798ea3309612fb2'
然后执行:
docker inspect b798ea3309612fb2 | grep IPAddress
因此,您确认IP地址。
由于你暴露了这些端口,你应该在你的REAL(你用于Vagrant的任何容器)IP中看到它们。 确保没有防火墙阻止它们。