WordPress sous Docker, conteneur dev local

Be dia be ny afaka atao raha hanao installation WordPress en local. Misy ny LocalWP, afaka manao installation LAMP, fa raha hanamboatra theme sy plugin tena hafa ihany ny conteneur Docker.

Matetika moa aho site efa misy foana no hanamboarana theme vaovao, na hanamboarana plugin. Noho izany, izay no scenario raisina eto, clonage site existant ao anaty conteneur docker.

Prérequis

  1. repertoire wp-content, ireo contenu an'ilay site web miaraka amin'ny config
    • wp-content/themes
    • wp-content/plugins
    • wp-content/uploads
  2. dump ny base de donnees

docker-compose.yml

Docker compose no ampiasaiko, hampitoviana amin'ny environnement prod ny configuration.

docker-compose.yaml
services:
  wordpress:
    image: wordpress:php8.2-apache # misafidy version 
    ports:
      - "8080:80" # http://localhost:8080. Afaka ataonao izay port mety aminao
    volumes:
      - ./themes:/var/www/html/wp-content/themes 
      - ./plugins:/var/www/html/wp-content/plugins
      - ./uploads:/var/www/html/wp-content/uploads # Ireo no dossier public misy ny fanovara rehetra
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_NAME: wordpress
      WORDPRESS_DB_USER: wpuser
      WORDPRESS_DB_PASSWORD: wppassword
      WORDPRESS_TABLE_PREFIX: wp_ # Soloina mitovy amin'ny prod
      WORDPRESS_DEBUG: true
      WORDPRESS_CONFIG_EXTRA: |
        define( 'WP_DEBUG_LOG', false );
        define( 'WP_DEBUG_DISPLAY', true );
        define( 'SCRIPT_DEBUG', true );
    depends_on:
      - db

  db:
    image: mariadb:10.5 # Tsy dia maninona loatra na tsy mitovy amin'ny prod aza
    environment:
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wpuser
      MYSQL_PASSWORD: wppassword
      MYSQL_ROOT_PASSWORD: rootpass
    volumes:
      - db_data:/var/lib/mysql

volumes:
  db_data:
YAML

Build

Bash
# Build & start container
docker-compose up -d
Bash

Rehefa tapitra ny download dia tonga dia mandeha avy hatrany ilay conteneur. Ilay otpion -d mandefa ilay conteneur en arriere plan rehefa tapitra ny build.

Raha manokatra ilay url local ianao eto dia magataka installation WordPress izy satria mbola vide ilay base de données.

Import base de données

Ny tokony atao eto, alefa ao anatin'ilay conteneur db ilay dump.

Bash
# Copie-na ao amin'ilay conteneur ilay dump.
docker cp dump.sql $(docker compose ps -q db):/dump.sql

# Connection bash amin'ilay container db
docker compose exec db bash
Bash

Rehefa ao anaty shell an'ilay conteneur dia configuré-na ilay base de données.

Bash
# Creds mitovy ao amin'ilay docker-compose
mariadb -u wpuser -p wppassword
Bash

SQL
USE wordpress;
SOURCE /dump.sql;
SQL

Vita izay dia misokatra ny site. Saingy redirigé any amin'ilay site prod foana ianao satria mbola any amin'ilay domaine any ny parametre siteurl.

Ovana ireo URLS WordPress

Misy parametres 2 mila ovana ao anaty table options ao anaty base de donnees : sitehome sy siteurl. Za moa kamo manao SQL, aleoko mampiasa wp-cli.

Bash
# Miditra ao amin'ny shell an'ilay conteneur wordpress
docker compose exec wordpress bash
Bash

Rehefa ao anaty shell wordpress dia manao installation wp-cli aloha.

Bash
# installation wp-cli
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar
mv wp-cli.phar /usr/local/bin/wp

# manova ireo options homeurl sy siteurl ao anaty table options. Ilay port ao anaty docker-compose.yaml no atao eto
cd /var/www/html
wp option update home "http://localhost:8080" --allow-root
wp option update siteurl "http://localhost:8080" --allow-root
Bash

Fehiny

Tokony mandeha tsara daholo amin'izay ny site, mitovy amin'ny any amin'ny prod.

Ireto ny index commandes maromaro docker sy docker compose ary wp-cli:

Bash
# Dump base de donnees via wp-cli
wp db export dump.sql

# Liste an'ireo conteneur mandeha
docker ps

# docker compose tokony hoe executena ao anatin'ilay repertoire misy ilay fichier docker-compose.yaml
# raha ao amin'ilay repertoire ianao dia afaka mijery ny status an'ilay conteneur
docker compose ps

# Mamelona ny conteneur rehetra (ao amin'ilay fichier docker-compose.yaml)
docker compose start

# Mamono, mazava ho azy
docker compose stop

# Mamafa ireo conteneurs 
docker compose down

# Raha manao modif amina conteneur iray ianao ao anaty docker-compose.yaml dia iny ihany vonoina fa aza vonoina daholo eh. Ohatra nanao modif variable d'environnement WordPress
docker compose down wordpress
docker compose up -d
Bash

Navigation

0 commentaire

Envoyer un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

<a href="https://mety-aby.com/author/nampoina/" target="_self">Nampoina Razafindralaisa</a>

Nampoina Razafindralaisa

Developpeur Web ny mpanoratra. Mba mizarazara ny hevitro fotsiny aho eto. Mamakia finaritra!