Update

cd ~/wordpress
docker pull wordpress
docker pull mysql:8.0
docker compose down
docker compose up -d


Install

mkdir -p /docker/wordpress
mkdir -p /docker/wordpress-db
mkdir ~/wordpress
cd ~/wordpress
vi uploads.ini
vi docker-compose.yml
docker compose up -d

docker-compose.yml

services:

  wordpress:
    image: wordpress
    container_name: wp-web
    restart: always
    ports:
      - 8484:80
    environment:
      WORDPRESS_DB_HOST: wpdb
      WORDPRESS_DB_USER: dbuser
      WORDPRESS_DB_PASSWORD: XXX-PASSWORD-4DB-XXX
      WORDPRESS_DB_NAME: wpdb
      WORDPRESS_CONFIG_EXTRA: |
         define('WP_HOME','https://example.com');
         define('WP_SITEURL','https://example.com');
    volumes:
      - /docker/wordpress:/var/www/html
      - ./uploads.ini:/usr/local/etc/php/conf.d/uploads.ini

  wpdb:
    image: mysql:8.0
    container_name: wp-mysql
    restart: always
    environment:
      MYSQL_DATABASE: wpdb
      MYSQL_USER: dbuser
      MYSQL_PASSWORD: XXX-PASSWORD-4DB-XXX
      MYSQL_RANDOM_ROOT_PASSWORD: '1'
    volumes:
      - /docker/wordpress-db:/var/lib/mysql

uploads.ini

file_uploads = On
memory_limit = 5G
upload_max_filesize = 5G
post_max_size = 5G
max_execution_time = 3600


Result

root@server:~/wordpress# docker ps -a
CONTAINER ID   IMAGE                                                COMMAND                  CREATED          STATUS                PORTS                    NAMES
e19fa18e380b   wordpress                                            "docker-entrypoint.s…"   15 minutes ago   Up 15 minutes         0.0.0.0:8484->80/tcp     wp-web
d77744c98a90   mysql:8.0                                            "docker-entrypoint.s…"   15 minutes ago   Up 15 minutes         3306/tcp, 33060/tcp      wp-mysql


  • No labels