Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.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 多个项目之间拒绝Docker连接_Php_Symfony_Docker_Docker Compose - Fatal编程技术网

Php 多个项目之间拒绝Docker连接

Php 多个项目之间拒绝Docker连接,php,symfony,docker,docker-compose,Php,Symfony,Docker,Docker Compose,我设置了2个项目(管理和API),并尝试在本地移动到docker 我可以访问这两个平台上运行的web实例,没有任何问题,但是当管理员尝试向API发出Curl请求时,我得到了一个Curl错误: cURL错误7:无法连接到本地主机端口8080 这是我的docker-compose.yml文件内容: version: "3.1" services: memcached: image: memcached:alpine container_name: project-a

我设置了2个项目(管理和API),并尝试在本地移动到docker

我可以访问这两个平台上运行的web实例,没有任何问题,但是当管理员尝试向API发出Curl请求时,我得到了一个Curl错误:

cURL错误7:无法连接到本地主机端口8080

这是我的docker-compose.yml文件内容:

version: "3.1"
services:

    memcached:
      image: memcached:alpine
      container_name: project-admin-memcached

    redis:
      image: redis:alpine
      container_name: project-admin-redis

    mariadb:
      image: mariadb:10.1
      container_name: project-admin-mariadb
      working_dir: /application
      volumes:
        - ./Projects:/application
      environment:
        - MYSQL_ROOT_PASSWORD=docker
        - MYSQL_DATABASE=db_test
        - MYSQL_USER=test
        - MYSQL_PASSWORD=test
      ports:
        - "8083:3306"

# docker-compose exec webserver sh
# docker exec -it project-admin-webserver nginx -s reload
    webserver:
      image: nginx:alpine
      container_name: project-admin-webserver
      working_dir: /application
      volumes:
          - ./Projects/Api:/application/api
          - ./Projects/Admin:/application/admin
          - ./Docker/nginx:/etc/nginx/conf.d
      ports:
          - "8080:8080"
          - "8090:8090"

# docker-compose exec php-fpm bash
    php-fpm:
      build: Docker/php-fpm
      container_name: project-admin-php-fpm
      working_dir: /application
      volumes:
          - ./Projects:/application
          - ./Docker/php-fpm/php-ini-overrides.ini:/etc/php/7.2/fpm/conf.d/99-overrides.ini
我可以通过以下方式从浏览器访问这两个项目:


在docker网络中(默认情况下使用compose创建),必须使用容器名称。
因此,在容器中,您必须使用

curl命令使用的主机名是什么?您可能知道,docker compose为您创建了一个默认网络。因此,您可以直接使用您的容器名称作为主机,谢谢。