Oui, c'est Haru Usagi. Cette fois, j'ai eu un projet WordPress au travail et je suis resté coincé, alors je vais écrire un mémo. Je pense que les gens qui touchent habituellement WordPress le savent.
Je vais les examiner dans l'ordre. Première structure de répertoire
wp-template
├── docker-compose.yml
├── wp-config.php
└── wp-content
├── index.php
├── languages
├── plugins
├── themes
├── upgrade
└── uploads
Au pire, cela fonctionne si vous avez les dossiers docker-compose.yml
et wp-content
.
Si vous faites docker-compose up
, le contenu de wp-content
sera automatiquement configuré comme le contenu initial.
wp-config.php
est un fichier requis pour WordPress. Sera-t-il généré automatiquement lors de l'installation? Cela ressemble à, mais dans mon cas, il ne l'a pas fait, donc officiel wp-config.php Je l'ai changé pour référence.
docker-compose.yml
version: "3"
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress #Tout
MYSQL_DATABASE: wordpress #Tout
MYSQL_USER: wordpress #Tout
MYSQL_PASSWORD: wordpress #Tout
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress #Tout
WORDPRESS_DB_PASSWORD: wordpress #Tout
volumes:
- ./wp-content:/var/www/html/wp-content
- ./wp-config.php:/var/www/html/wp-config.php
volumes:
db_data:
J'ai pensé qu'il serait plus facile de gérer les éléments liés à la base de données en .env. Maintenant, lorsque vous accédez à [http: // localhost: 8000 /](http: // localhost: 8000 /), vous verrez l'écran WordPress familier.
Ce que vous pouvez faire normalement.
Je ne peux pas télécharger une image à publier dans WordPress!
Quand je l'ai recherché, il semble que j'ai dû ajouter une phrase dans wp-config.php
.
wp-config.php
define('DB_NAME', 'wordpress'); #docker-compose.Ce qui a été défini avec yml
define('DB_USER', 'wordpress'); #docker-compose.Ce qui a été défini avec yml
define('DB_PASSWORD', 'wordpress'); #docker-compose.Ce qui a été défini avec yml
define('DB_HOST', 'db'); #docker-compose.nom du conteneur mysql défini dans yml
define('WP_DEBUG', true);
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');
define('AUTH_KEY', 'put your unique phrase here');
define('SECURE_AUTH_KEY', 'put your unique phrase here');
define('LOGGED_IN_KEY', 'put your unique phrase here');
define('NONCE_KEY', 'put your unique phrase here');
define('AUTH_SALT', 'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT', 'put your unique phrase here');
define('NONCE_SALT', 'put your unique phrase here');
define('UPLOADS', 'wp-content/uploads' ); #Ajoute ça
$table_prefix = 'wp_';
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');
require_once(ABSPATH . 'wp-settings.php');
C'est la forme finale du code. Le code qui devait être ajouté ci-dessous.
define('UPLOADS', 'wp-content/uploads' );
sed: cannot rename ./xxxxx Device or resource busy
s'affiche et le conteneur ne démarre pas.
Quand je l'ai recherché, l'article suivant est sorti. Voilà la solution. La sagesse de nos ancêtres est merveilleuse.
https://qiita.com/suzukihi724/items/e56fa9516639c6c90a33
J'utilise WordPress depuis que je suis étudiant, mais ce n'était pas difficile car c'était un environnement MAMP. Cette fois, je construisais l'environnement avec docker, alors j'ai pensé que je pouvais comprendre la partie profonde de WordPress. Je pense que c'était un contenu normal pour ceux qui le touchent habituellement. .. ..
Recommended Posts