【问题标题】:Run php script by docker-compose.yml通过 docker-compose.yml 运行 php 脚本
【发布时间】:2020-06-29 12:04:49
【问题描述】:

我开始使用 docker。我想运行简单的 php 代码:

<?php 
    echo 'Hello World !';
?>

我有 docker-compose.yml:

version: '3'
services:
    web:
        image: webdevops/php-apache-dev:latest
        container_name: web
        restart: always
        environment:
          - PHP_DISPLAY_ERRORS=1
          - PHP_MEMORY_LIMIT=2048M
          - PHP_MAX_EXECUTION_TIME=300
          - PHP_POST_MAX_SIZE=500M
          - PHP_UPLOAD_MAX_FILESIZE=1024M
        volumes:
          - ./public_html/:/var/www/html
        ports:
          - "80:80"
          - "443:443"
          - "32823:22"
        links:
          - mysql
    mysql:
        image: mariadb:10
        container_name: mysql
        restart: always
        ports:
          - "3306:3306"
        environment:
          - MYSQL_ROOT_PASSWORD=root
          - MYSQL_DATABASE=test
        volumes:
          - db-data:/var/lib/mysql
    phpmyadmin:
        container_name: phpmyadmin
        restart: always
        image: phpmyadmin/phpmyadmin:latest
        environment:
          - MYSQL_ROOT_PASSWORD=root
          - PMA_USER=root
          - PMA_PASSWORD=root
        ports:
          - "8080:80"
        links:
          - mysql:db
        depends_on:
          - mysql

volumes:
    db-data:
        external: false

    

结构是:

-app
  -public_html
     -index.php
  -docker-compose.yml

我通过 docker-compose up -d 运行此配置 问题是我在我拥有的网络浏览器上输入 localhost:

有什么建议可以运行我的 PHP 脚本吗? 谢谢。

【问题讨论】:

  • 你能 bash 进入 web 容器并验证文件在你想要的位置吗?
  • 什么是“这个”?您尝试过什么调试问题?
  • @NicoHaase "this" 表示他的 docker-compose.yml 文件
  • @JayBlanchard 我已经进入 bash 并进入 /var/www/html,这里我有我的 index.php 代码。
  • 容器的 Apache 配置是否指定 /var/html/www 是 Web 服务器的主目录?

标签: php mysql apache docker docker-compose


【解决方案1】:

您好,您应该使用正确的音量设置,请参阅https://dockerfile.readthedocs.io/en/latest/content/DockerImages/dockerfiles/php-apache-dev.html#php-development-environment-variables

version: '3'
services:
    web:
        image: webdevops/php-apache-dev:latest
        container_name: web
        restart: always
        environment:
          - PHP_DISPLAY_ERRORS=1
          - PHP_MEMORY_LIMIT=2048M
          - PHP_MAX_EXECUTION_TIME=300
          - PHP_POST_MAX_SIZE=500M
          - PHP_UPLOAD_MAX_FILESIZE=1024M
        volumes:
          - ./public_html/:/app
        ports:
          - "80:80"
          - "443:443"
          - "32823:22"
        links:
          - mysql
    mysql:
        image: mariadb:10
        container_name: mysql
        restart: always
        ports:
          - "3306:3306"
        environment:
          - MYSQL_ROOT_PASSWORD=root
          - MYSQL_DATABASE=test
        volumes:
          - db-data:/var/lib/mysql
    phpmyadmin:
        container_name: phpmyadmin
        restart: always
        image: phpmyadmin/phpmyadmin:latest
        environment:
          - MYSQL_ROOT_PASSWORD=root
          - PMA_USER=root
          - PMA_PASSWORD=root
        ports:
          - "8080:80"
        links:
          - mysql:db
        depends_on:
          - mysql

volumes:
    db-data:
        external: false

【讨论】:

    猜你喜欢
    • 2021-06-04
    • 2011-07-27
    • 2019-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-10
    相关资源
    最近更新 更多