提问者:小点点

通过docker-compose.yml运行php脚本


我开始和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

如何运行PHP脚本有什么建议吗? 谢了。


共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