如何使用 docker-compose 将 PHP 容器与 nginx 容器连接?

pyth0n

我正在尝试在 Docker 环境中创建一个简单的 LAMP 堆栈。它通过运行第三方容器来工作phpdockerio/php71-fpm:latest,但目前我想要一个安装了 XDebug 的自定义 PHP 容器。

我的问题是,如果我执行docker-compose up,PHP 容器会在启动后退出,然后我的网络服务器容器才能使用它。我怎样才能成功地告诉 PHP 容器等待我的 nginx 容器的连接?


命令行输出

PS C:\playground> docker-compose.exe up
Starting playground_php_1
Starting playground_web_1
Attaching to playground_php_1, playground_web_1
playground_php_1 exited with code 0
playground_web_1 exited with code 1

文件

FROM php:latest

RUN pecl install xdebug \
    && docker-php-ext-enable xdebug

ENTRYPOINT ["docker-php-entrypoint"]

CMD ["php", "-a"]

docker-compose.yml

version: '2'
services:
  php:
    build:
      context: ./etc/php/
      dockerfile: Dockerfile
    volumes:
      - './src:/usr/share/nginx/html'

  web:
    image: nginx:latest
    ports:
      - 8080:80
    volumes:
      - './etc/nginx:/etc/nginx/conf.d'
      - './src:/usr/share/nginx/html'
    depends_on:
      - php

nginx配置

...
    location ~ [^/]\.php(/|$) {
        fastcgi_split_path_info ^(.+?\.php)(/.*)$;
        if (!-f $document_root$fastcgi_script_name) {
            return 404;
        }

        fastcgi_pass   php:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
...
pyth0n

我再次使用我的自定义容器运行它。我将基本图像从 更改phpphp-fpm

我做的下一件事是我必须清除正在运行的容器并删除我机器上已经创建的图像。否则docker-compose会再次使用错误/旧容器。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从Angular Nginx容器连接到Node API docker容器

来自分类Dev

如何使用docker-compose将docker容器彼此链接

来自分类Dev

使用 docker compose 连接 2 个 docker 容器

来自分类Dev

使用Nginx将Web套接字连接重定向到新创建的Docker容器

来自分类Dev

将容器与docker-compose链接

来自分类Dev

使用NGINX将子域重定向到Docker容器

来自分类Dev

如何使用docker-compose将docker容器目录映射到主机?

来自分类常见问题

如何正确链接php-fpm和Nginx Docker容器?

来自分类Dev

Nginx docker 只在 docker-compose 上找到容器

来自分类Dev

如何使用docker-compose在同一主机上的单独部署中连接docker容器?

来自分类Dev

如何将Docker Web应用程序容器连接到Docker PostgreSQL容器?

来自分类Dev

如何将Nginx容器连接到我的React容器?

来自分类Dev

如何将Django连接到docker redis容器?

来自分类Dev

为什么我不能通过Docker-compose将spring-boot容器连接到mysql sql容器?

来自分类Dev

将 Spring Boot Docker 容器连接到 MongoDB Docker 容器

来自分类Dev

将使用docker-compose创建的容器连接到使用docker run创建的另一个容器

来自分类Dev

如何在Docker Compose多容器应用程序中使用GoCQL连接到bitnami / cassandra?

来自分类Dev

如何使用 Docker-Compose 将多个 Web Api 容器部署到 Azure

来自分类Dev

如何使用docker-compose杀死特定的Docker容器?

来自分类Dev

使用docker-compose设置容器时区

来自分类Dev

通过docker-compose重新使用容器

来自分类Dev

使用Docker Compose创建多个容器

来自分类Dev

使用两个docker-compose容器(Flask和Django)配置Nginx

来自分类Dev

使用docker-compose将多个Docker容器链接到一个别名为localhost的容器

来自分类Dev

使用docker-compose将多个Docker容器链接到一个别名为localhost的容器

来自分类Dev

如何在docker-compose中将卷连接到docker容器

来自分类Dev

Docker-compose:Docker容器无法使用服务名称进行连接

来自分类Dev

连接 FTP 容器使用 docker-compose 而不是 docker run

来自分类Dev

将现有Docker容器迁移到Docker Compose

Related 相关文章

  1. 1

    如何从Angular Nginx容器连接到Node API docker容器

  2. 2

    如何使用docker-compose将docker容器彼此链接

  3. 3

    使用 docker compose 连接 2 个 docker 容器

  4. 4

    使用Nginx将Web套接字连接重定向到新创建的Docker容器

  5. 5

    将容器与docker-compose链接

  6. 6

    使用NGINX将子域重定向到Docker容器

  7. 7

    如何使用docker-compose将docker容器目录映射到主机?

  8. 8

    如何正确链接php-fpm和Nginx Docker容器?

  9. 9

    Nginx docker 只在 docker-compose 上找到容器

  10. 10

    如何使用docker-compose在同一主机上的单独部署中连接docker容器?

  11. 11

    如何将Docker Web应用程序容器连接到Docker PostgreSQL容器?

  12. 12

    如何将Nginx容器连接到我的React容器?

  13. 13

    如何将Django连接到docker redis容器?

  14. 14

    为什么我不能通过Docker-compose将spring-boot容器连接到mysql sql容器?

  15. 15

    将 Spring Boot Docker 容器连接到 MongoDB Docker 容器

  16. 16

    将使用docker-compose创建的容器连接到使用docker run创建的另一个容器

  17. 17

    如何在Docker Compose多容器应用程序中使用GoCQL连接到bitnami / cassandra?

  18. 18

    如何使用 Docker-Compose 将多个 Web Api 容器部署到 Azure

  19. 19

    如何使用docker-compose杀死特定的Docker容器?

  20. 20

    使用docker-compose设置容器时区

  21. 21

    通过docker-compose重新使用容器

  22. 22

    使用Docker Compose创建多个容器

  23. 23

    使用两个docker-compose容器(Flask和Django)配置Nginx

  24. 24

    使用docker-compose将多个Docker容器链接到一个别名为localhost的容器

  25. 25

    使用docker-compose将多个Docker容器链接到一个别名为localhost的容器

  26. 26

    如何在docker-compose中将卷连接到docker容器

  27. 27

    Docker-compose:Docker容器无法使用服务名称进行连接

  28. 28

    连接 FTP 容器使用 docker-compose 而不是 docker run

  29. 29

    将现有Docker容器迁移到Docker Compose

热门标签

归档