将Google Cloud VM实例的静态IP映射到Docker容器IP。

时间:2018-09-25 06:08:49

标签: docker google-cloud-platform docker-compose drupal-8

我已使用静态IP A.B.C.D在Google云中创建了ubuntu vm。我想在docker中托管drupal网站(PHP CMS)。将Google云端虚拟机实例A.B.C.D的静态IP映射到Docker托管的站点。

我已遵循https://circleci.com/blog/continuous-drupal-p1-maintaining-with-docker-git-composer/在docker中设置drupal网站。

基本上使用docker-compose,我为mariadb和Drupal:latest创建了容器,并安装了站点。

我希望我的ubuntu虚拟机干净,我没有在主机中安装任何apache / nginx服务器。

我想将Google云虚拟机实例的静态IP映射到docker容器IP,以便在浏览器中如果我访问http://A.B.C.D,则应该加载我的网站。

我是否需要在主机,Google Cloud vm设置或Docker容器中修复此问题,这让我感到困惑。

谢谢您的回答。

1 个答案:

答案 0 :(得分:1)

这里似乎存在误解,您没有将计算机IP地址映射到Docker容器,而是映射了端口。

如果您的容器在实例中运行,它将自动具有相同的ip地址,您需要做的是将实例的端口80映射到容器的端口80。

如果要使用https,还应该映射端口443。

您将在这里找到有关它的更多信息:https://docs.docker.com/v17.09/engine/userguide/networking/default_network/binding/

您可以使用类似的方法将您的容器链接到端口80和443:

docker run -d -p 80:80 -p 443:443 ...