Ubuntu Snappy Core OS 上的幽灵博客

Ghost Blog on Ubuntu Snappy Core OS

我使用以下命令在 Snappy VM 中安装了 Ghost 博客 运行: vagrant init ubuntu/ubuntu-15.04-snappy-core-stable vagrant up && vagrant ssh

docker拉鬼 docker 运行 -d -p 80:2368 -v /home/ubuntu/blog --name hello-world ghost

现在博客已经运行ning了,我如何从外部世界查看它?

Martin- "outside world" 是什么意思?

您似乎使用 vagrant 在您的开发机器上启动了一个虚拟机,然后在该虚拟机上启动了一个 docker 容器。

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

您需要做的是找到您的 vagrant virtualbox 的 IP 地址。使用 SSH vagrant ssh。然后运行 ifconfig 得到你盒子的IP地址。 (你需要在这里了解一点——我的 vagrant box 实际上在 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),你可以用

修改你的 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

如果您的意思是您希望您的博客在 public 互联网上可见,那么如果您不具备大量知识(或否则你就不需要问了:)).

我编辑了 Vagrantfile 并启用了转发端口映射:config.vm.network "forwarded_port", guest: 80, host: 8080 ,然后是 vagrant reload 和 vagrant ssh,现在我登录到 Snappy VM ,然后再次启动ghost, docker 运行 -d -p 80:2368 -v /home/ubuntu/blog --name test ghost ,然后做端口映射:输入:docker 端口 be2f474bb8c9 ,显示 2368/tcp -> 0.0.0.0:80 此时,我希望浏览到 localhost:8080 并查看我的幽灵博客。 谢谢你们!