Ubuntu的Snappy核心操作系统上的Ghost博客

我有使用这些命令在一个Snappy虚拟机内运行的Ghost博客:vagrant init ubuntu / ubuntu-15.04-snappy-core-stable vagrant up && vagrant ssh

docker pull ghost docker run -d -p 80:2368 -v / home / ubuntu / blog –name hello-world ghost

现在博客正在运行,我怎么能从外面看呢?

马丁 – 你是什么意思的“外部世界”?

看起来你使用vagrant在你的开发机器上启动了一个虚拟机,然后在这个虚拟机上启动了一个Docker容器。

您的docker命令将端口ghost监听(2368)发布到docker正在侦听的机器的端口80。 这不是你的开发机器,它是stream浪的虚拟机! 这意味着在你的主机上你不能运行localhost来查看你的博客。 (但是,您可以使用该地址从virtualbox内部ping它)

你需要做的是find你的stream浪者virtualbox的IP地址。 在使用vagrant ssh 。 然后运行ifconfig并获取您的盒子的IP地址。 (你需要知道一点 – 我的stream浪者实际上是在eth1上显示的,而不是eth0)

您可以通过几种方法使这更容易。 你可以硬编码一个IP地址到你的vagrant文​​件中

 ip_address = "192.168.33.17" Vagrant.configure("2") do |config| config.vm.network :private_network, ip: ip_address 

此外,您可以使用vagrant插件“hostmanager”在您的计算机上指定/ etc / hosts条目,以便您可以将浏览器指向硬编码地址,stream浪汉将始终将其指向正确的机器。 如果你有安装( vagrant plugin install vagrant-hostmanager ),你可以修改你的vagrantfile

  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 

如果你真的想让你的博客在公共互联网上可见,那么你不想在你的私人计算机上做的事情没有你没有的知识(或者你不需要问: ))。

我编辑了Vagrantfile并启用了转发的端口映射:config.vm.network“forwarded_port”,guest:80,host:8080,然后vagrant重载和stream浪ssh,现在我login到Snappy VM,再次启动ghost,docker运行-d -p 80:2368 -v / home / ubuntu / blog –nametestingghost,然后做端口映射:input:docker port be2f474bb8c9,显示2368 / tcp – > 0.0.0.0:80此时,我希望浏览本地主机:8080,看到我的鬼博客。 谢谢你们俩!