我使用以下命令在Snappy VM中运行Ghost Blog: vagrant init ubuntu / ubuntu-15.04-snappy-core-stable 流浪汉&&流浪汉ssh
docker pull ghost docker run -d -p 80:2368 -v / home / ubuntu / blog --name hello-world ghost
现在博客正在运行,如何从外部世界查看它?
答案 0 :(得分:1)
看起来您使用vagrant在开发计算机上启动了虚拟机,然后在该虚拟机上启动了一个docker容器。
你的docker命令发布端口ghost侦听(2368)到docker正在侦听的机器的端口80。这不是你的开发机器 - 它是流浪汉虚拟机!这意味着您无法在主机上运行localhost
来查看您的博客。 (尽管如此,您可以使用该地址从虚拟机内部ping它...)
您需要做的是找到您的流浪汉虚拟框的IP地址。 SSH使用vagrant ssh
。然后运行ifconfig
并获取您的包装箱的IP地址。 (你需要在这里知道一点 - 我的流浪盒实际上在eth1而不是eth0上显示了这一点)
您可以通过几种方式使这更容易。你可以将ip地址硬编码到vagrantfile中......
ip_address = "192.168.33.17"
Vagrant.configure("2") do |config|
config.vm.network :private_network, ip: ip_address
此外,您可以使用vagrant插件'hostmanager'在您的计算机上指定/ etc / hosts条目,该条目允许您将浏览器指向硬编码地址,并且vagrant将始终将其指向正确的计算机。如果已安装(vagrant plugin install vagrant-hostmanager
),则可以使用
config.hostmanager.enabled = true
config.hostmanager.manage_host = true
config.vm.define project_name do |node|
node.vm.hostname = "myghostblog.com"
node.vm.network :private_network, ip: ip_address
node.hostmanager.aliases = [ "www.myghostblog.com" ]
end
如果你的意思是想要从公共互联网上看到你的博客,那么你不想在没有大量知识的情况下在你的私人电脑上做这些事情(否则你就不需要了)问:))。
答案 1 :(得分:0)
我编辑了Vagrantfile并启用了转发端口映射:config.vm.network" forwarded_port",guest:80,host:8080,然后vagrant reload和vagrant ssh,现在我登录了Snappy VM,再次启动ghost,docker run -d -p 80:2368 -v / home / ubuntu / blog --name test ghost,然后做端口映射:输入:docker port be2f474bb8c9,显示2368 / tcp - > 0.0.0.0:80此时,我希望浏览localhost:8080并查看我的幽灵博客。 谢谢你们两个!