【发布时间】:2018-11-10 06:30:57
【问题描述】:
我用 apache、php7.0、mysql 构建了一个 docker-compose 环境,还添加了 phpmyadmin。
我尝试了很多次来包含我自己的 php.ini 文件,最后,我得到了 php 接受它,因为它显示在我的 index.php 中加载了 phpinfo()。
我需要加载一个超过 750Mb 的数据库,而我的 phpmyadmin 不允许我导入超过 512Mb 的数据库。
我尝试将 db 压缩到 60Mb,但是当我尝试导入它时,它需要很长时间并最终切断导入,因为它需要很长时间,导致我的 db 不完整。
即使设置了我的 php.ini 文件大小限制等等,phpmyadmin 也会忽略它。
这是我在 php.ini 中更改的内容:
upload_max_filesize = 1024M
post_max_size = 1024M
memory_limit = 1024M
max_execution_time = 300
我的 docker-compose.yml 是:
version: '3.3'
services:
php:
build: apache-php
ports:
- "80:80"
- "443:443"
volumes:
- ./apache-php/www:/var/www/html
links:
- mysql
- phpmyadmin
mysql:
image: mysql:5.7
volumes:
- ./mysql:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=1347891743
- MYSQL_DATABASE=database
phpmyadmin:
image: phpmyadmin/phpmyadmin
links:
- mysql
environment:
PMA_HOST: mysql
PMA_PORT: 3306
ports:
- "8080:80"
volumes:
- ./mysql:/var/lib/mysql
我还有一个 Dockerfile 来运行我的 php:
FROM php:7.0-apache
RUN docker-php-ext-install mysqli
COPY config/php.ini /usr/local/etc/php/
这是它在 phpmyadmin 中显示的内容。
非常感谢您的帮助
【问题讨论】:
-
你们回答得这么快...反正我编辑了帖子,我无意中删除了75Mb上的0。
-
没问题。如果这是您第一次开始时的负担,那么您应该查看stackoverflow.com/questions/43880026/…。这允许您在创建容器时指定要运行的脚本。
-
好吧,我只想要一个持久数据库。我会运行 docker-compose 并开始处理我只会导入一次的数据库。
标签: php docker phpmyadmin docker-compose