Получение из контейнеров Docker копии каталога WP и базы данных.
root@debian:~# find / -name docker-compose.yml
/opt/compose/wordpress/docker-compose.yml
root@debian:/opt/compose/wordpress# ls
1 docker-compose.yml mysql-dump.sql
root@debian:/opt/compose/wordpress# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
be52139a567e wordpress "docker-entrypoint.s…" 5 weeks ago Up 4 hours 0.0.0.0:8080->80/tcp, [::]:8080->80/tcp wordpress-wordpress-1
662200235e44 mysql:8.0 "docker-entrypoint.s…" 5 weeks ago Up 4 hours 3306/tcp, 33060/tcp wordpress-db-1
root@debian:/opt/compose/wordpress# docker exec -it wordpress-wordpress-1 bash
root@be52139a567e:/var/www/html# ls
index.php wp-activate.php wp-comments-post.php wp-config.php wp-includes wp-login.php wp-signup.php
license.txt wp-admin wp-config-docker.php wp-content wp-links-opml.php wp-mail.php wp-trackback.php
readme.html wp-blog-header.php wp-config-sample.php wp-cron.php wp-load.php wp-settings.php xmlrpc.php
root@debian:/opt/compose/wordpress# docker cp wordpress-wordpress-1:/var/www/html ./www_backup
Successfully copied 634MB to /opt/compose/wordpress/www_backup
root@debian:/opt/compose/wordpress# ls
1 docker-compose.yml mysql-dump.sql www_backup
root@debian:/opt/compose/wordpress# cd www_backup/
root@debian:/opt/compose/wordpress/www_backup# ls
html
root@debian:/opt/compose/wordpress/www_backup# cd html/
root@debian:/opt/compose/wordpress/www_backup/html# ls
index.php wp-activate.php wp-comments-post.php wp-config-sample.php wp-includes wp-login.php wp-signup.php
license.txt wp-admin wp-config-docker.php wp-content wp-links-opml.php wp-mail.php wp-trackback.php
readme.html wp-blog-header.php wp-config.php wp-cron.php wp-load.php wp-settings.php xmlrpc.php
root@debian:/opt/compose/wordpress/www_backup# apt update
root@debian:/opt/compose/wordpress/www_backup# apt install zip
root@debian:/opt/compose/wordpress/www_backup# ls
html
root@debian:/opt/compose/wordpress/www_backup# zip -r html.zip html
root@debian:/opt/compose/wordpress/www_backup# ls
html html.zip
root@debian:/opt/compose/wordpress/www_backup# cp html.zip /opt/compose/wordpress
root@debian:/opt/compose/wordpress/www_backup# cd ..
root@debian:/opt/compose/wordpress# ls
1 docker-compose.yml html.zip mysql-dump.sql www_backup
root@debian:/opt/compose/wordpress#
//------------------------------------------------------------------------------------
root@debian:/opt/compose/wordpress# cat docker-compose.yml
version: '3.1'
services:
wordpress:
image: wordpress
restart: always
ports:
- 8080:80
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: exampleuser
WORDPRESS_DB_PASSWORD: examplepass
WORDPRESS_DB_NAME: exampledb
volumes:
- wordpress:/var/www/html
db:
image: mysql:8.0
restart: always
environment:
MYSQL_DATABASE: exampledb
MYSQL_USER: exampleuser
MYSQL_PASSWORD: examplepass
MYSQL_RANDOM_ROOT_PASSWORD: '1'
volumes:
- db:/var/lib/mysql
volumes:
wordpress:
db:
root@debian:/opt/compose/wordpress# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
be52139a567e wordpress "docker-entrypoint.s…" 5 weeks ago Up 8 hours 0.0.0.0:8080->80/tcp, [::]:8080->80/tcp wordpress-wordpress-1
662200235e44 mysql:8.0 "docker-entrypoint.s…" 5 weeks ago Up 8 hours 3306/tcp, 33060/tcp wordpress-db-1
root@debian:/opt/compose/wordpress# docker logs wordpress-db-1 > 1
root@debian:/opt/compose/wordpress# head 1
2025-12-22 08:10:40+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.44-1.el9 started.
2025-12-22 08:10:41+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
2025-12-22 08:10:41+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.44-1.el9 started.
2025-12-22 08:10:42+00:00 [Note] [Entrypoint]: Initializing database files
2025-12-22 08:15:11+00:00 [Note] [Entrypoint]: Database files initialized
2025-12-22 08:15:11+00:00 [Note] [Entrypoint]: Starting temporary server
2025-12-22 08:15:30+00:00 [Note] [Entrypoint]: Temporary server started.
'/var/lib/mysql/mysql.sock' -> '/var/run/mysqld/mysqld.sock'
2025-12-22 08:16:27+00:00 [Note] [Entrypoint]: GENERATED ROOT PASSWORD: oK57e6tJ+NpVd64H4jIi/q11L+q5cpcD
2025-12-22 08:16:29+00:00 [Note] [Entrypoint]: Creating database exampledb
root@debian:/opt/compose/wordpress# docker exec -it wordpress-db-1 mysqldump -u root -poK57e6tJ+NpVd64H4jIi/q11L+q5cpcD exampledb > mysql-dump.sql
root@debian:/opt/compose/wordpress# ls
1 docker-compose.yml mysql-dump.sql
root@debian:/opt/compose/wordpress# head mysql-dump.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.
-- MySQL dump 10.13 Distrib 8.0.44, for Linux (x86_64)
--
-- Host: localhost Database: exampledb
-- ------------------------------------------------------
-- Server version 8.0.44
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*------------------------------------------------------------------------*/
Изменение пароля WP
Перейдите в папку активной темы: /wp-content/themes/ваша-тема/.
Откройте файл functions.php.
В самый конец файла добавьте строку:
php
wp_set_password( 'новый-пароль', ID_пользователя );
замените 'новый-пароль' на желаемый пароль;
укажите ID_пользователя (у администратора обычно 1).
Сохраните и загрузите файл на сервер.
Откройте любую страницу сайта в браузере — пароль сбросится.
Обязательно удалите добавленную строку из functions.php, чтобы пароль не сбрасывался при каждом заходе на сайт.
