【问题标题】:Map docker container to regular dev domain name将 docker 容器映射到常规 dev 域名
【发布时间】:2016-12-28 06:22:39
【问题描述】:

我是 docker 新手,最近使用 phpdocker.io (php7, nginx, mysql) 生成器安装了一个 docker 容器/映像。使用 docker-compose 启动它,效果非常好。

如果我去 localhost/phpinfo.php 我的常规系统 php 版本会加载 (5.6),如果我去 localhost:8080/phpinfo.php 我的 docker php 版本会加载 (7.0) 所以它是工作正常。

我的问题是:有什么方法可以将我的 localhost:8080 映射到常规域名,就像我通常对常规 localhost 项目所做的那样?无需使用 localhost:8080 即:myproject.dev

不确定这是否与 docker 相关。

【问题讨论】:

    标签: php nginx docker dns hosts


    【解决方案1】:

    这很容易。如果您的 nginx 配置如下所示:

    server {
       server_name _; #catch all
       ...
    

    您可以在主机上的主机文件中添加该行

    127.0.0.1 myproject.dev
    

    您的容器将通过 url http://myproject.dev:<exposed_port> 提供

    如果你在 80 端口上公开你的容器,你可以简单地输入 url http://myproject.dev (就像过去的美好时光一样)。但请记住,您只能在 80 端口上同时运行一个容器。

    【讨论】:

    • 哎哟!这比我想象的更明显,现在感到很惭愧。谢谢!
    • @sh4 无需感到羞耻。我花了很多时间试图弄清楚这个应该是如此“不言而喻”的确切事物,以至于似乎没有好的文档或“菜鸟指南”本身。因此,感谢您提出这个问题,并感谢 Bukharov 的回答,尽管我的服务器配置不需要 catch all 行。
    【解决方案2】:

    顺便说一句,phpdocker.io 生成的项目上的 nginx conf 将响应任何主机名,因此您只需在 hosts 文件中添加相关条目。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-20
      • 1970-01-01
      • 2014-09-01
      • 1970-01-01
      • 2020-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多