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 并查看我的幽灵博客。
谢谢你们!
我使用以下命令在 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
),你可以用
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 并查看我的幽灵博客。 谢谢你们!