Reputation: 1487
I'm running Wordpress (and PHPMyAdmin and MySQL) in a Docker container, and I need to make a change to increase the maximum uploadable file size for PHPMyAdmin
I researched a number of solutions and found a suggestion to create a custom uploads.ini
file and then include this file in the docker-compose
file.
So I have this:
uploads.ini
file_uploads = On
memory_limit = 64M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 600
docker-compose.yml
version: '3'
services:
# Database
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
networks:
- wpsite
# phpmyadmin
phpmyadmin:
depends_on:
- db
image: phpmyadmin/phpmyadmin
restart: always
ports:
- '8080:80'
environment:
PMA_HOST: db
MYSQL_ROOT_PASSWORD: password
networks:
- wpsite
# Wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- '8000:80'
restart: always
volumes:
- './:/var/www/html'
- ./uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
networks:
- wpsite
networks:
wpsite:
volumes:
db_data:
I have included the uploads.ini
file in the volumes
for wordpress
volumes:
- './:/var/www/html'
- ./uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
But sadly after running the docker-compose
and opening localhost:8080 to go to PHPMyAdmin I still only have a maximum file upload size of 2m, not the 64m in my custom file
Upvotes: 9
Views: 26697
Reputation: 473
According to this answer you need to set absolute path to mount single file. So add a ${PWD}
before files to be mounted.
Your volume part would be like:
volumes:
- ${PWD}/uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
Upvotes: 1
Reputation: 69
You want increase the maximum uploadable file size for PHPMyAdmin, but uploads.ini you add for your wordpress container)
add volume for phpmyadmin container and you'll be happy=)
# phpmyadmin
phpmyadmin:
depends_on:
- db
image: phpmyadmin/phpmyadmin
volumes:
- ./uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
restart: always
ports:
- '8080:80'
environment:
PMA_HOST: db
MYSQL_ROOT_PASSWORD: password
networks:
- wpsite
Upvotes: 5
Reputation: 66
You can pass the upload limit to the phpmyadmin docker container with an ENV variable
Example
phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: phpmyadmin
depends_on:
- mysql
environment:
- UPLOAD_LIMIT=512M
- PMA_HOST=mysql
- PMA_PORT=3306
- PMA_ARBITRARY=1
ports:
- "8888:80"
Upvotes: 3
Reputation: 111
You can try to rebuild your image, but like this. Add this somewhere in your your Dockerfile. This way you would be sure its not some kind of permission trouble(which I think it is)
COPY ./uploads.ini /usr/local/etc/php/conf.d
Upvotes: 1
Reputation: 595
You can use this plugin for the upload max size increase
https://wordpress.org/plugins/upload-max-file-size/
Upvotes: -6