我已使用静态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容器中修复此问题,这让我感到困惑。
谢谢您的回答。
答案 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 ...