Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 有没有办法通过本地url访问docker(nginx)容器http://mydomain.dev?_Php_Networking_Nginx_Docker_Docker Compose - Fatal编程技术网

Php 有没有办法通过本地url访问docker(nginx)容器http://mydomain.dev?

Php 有没有办法通过本地url访问docker(nginx)容器http://mydomain.dev?,php,networking,nginx,docker,docker-compose,Php,Networking,Nginx,Docker,Docker Compose,我基本上是从以下位置使用设置:(但不使用mysql) 以下是我的docker-compose.yml文件: nginx: image: nginx:1.10.2 ports: - 80:80 restart: always volumes: - ./nginx/conf:/etc/nginx/conf.d - ~/server/firebase-test/code:/code links: -

我基本上是从以下位置使用设置:(但不使用mysql)

以下是我的docker-compose.yml文件:

nginx:
    image: nginx:1.10.2
    ports:
        - 80:80
    restart: always
    volumes:
        - ./nginx/conf:/etc/nginx/conf.d
        - ~/server/firebase-test/code:/code
    links:
        - php
    depends_on:
        - php

php:
    build: php
    expose:
        - 9000
    restart: always
    volumes:
        - ./php/conf/php.ini:/usr/local/etc/php/conf.d/custom.ini
        - ~/server/firebase-test/code:/code
如果我转到

但是我正在使用这个容器设置来开发一系列不同的站点。有时我需要它们同时运行,所以它们都尝试使用localhost url,这是不可能的。有没有一种方法可以让我手动将它们引用到类似或本地的对象中?docker是否编写了自动生成的某种网络映射,我可以用它来访问容器而不是容器


Docker是个新手,所以我有点迷路了,在过去的一个小时里,谷歌搜索只产生了一个名为“Docker hostmanager”的工具,但它不支持v2语法。

我相信您应该能够使用server\u name指令配置nginx来完成这项工作:

server {
    listen       80;
    server_name  example.org  www.example.org;
    ...
}

我相信您应该能够使用server\u name指令配置nginx来实现这一点:

server {
    listen       80;
    server_name  example.org  www.example.org;
    ...
}

但这将映射docker内部的域。我需要它在docker的外面。与中一样,docker容器充当服务器,我的主机操作系统可以像世界上任何其他站点一样通过浏览器访问它。我相信容器仍然可以从主机访问,因为nginx端口(80)从容器映射到docker-compose.yml中的主机。您可能还需要在主机操作系统上的主机文件中添加一个条目,将nginx服务器名称映射到本地主机IP。例如,
127.0.0.1 example.org
,但这将映射docker内部的域。我需要它在docker的外面。与中一样,docker容器充当服务器,我的主机操作系统可以像世界上任何其他站点一样通过浏览器访问它。我相信容器仍然可以从主机访问,因为nginx端口(80)从容器映射到docker-compose.yml中的主机。您可能还需要在主机操作系统上的主机文件中添加一个条目,将nginx服务器名称映射到本地主机IP。例如,
127.0.0.1 example.org