Skip to content
/ wpdb Public

Tools for Handling WordPress Database by Docker and WP-CLI.

License

Notifications You must be signed in to change notification settings

isaxxx/wpdb

Repository files navigation

wpdb

Tools for Handling WordPress Database by Docker and WP-CLI.

NPM Build Status MIT License

Installation

NPM

You must install Docker for this module to work.

$ npm install wpdb --save

Usage

CLI

Options:
  --version, -v   show this version. [boolean]
  --help, -h      show this help. [boolean]

Initialize

Install the Docker files.

$ wpdb

Start

Start Docker.

$ docker-compose build
$ docker-compose up -d

Stop

Stop Docker.

$ docker-compose down -v

Restart

Restart Docker (When fixed php.ini etc.).

$ docker-compose restart

Reset

Reset Database.

$ docker-compose exec wordpress wp db reset --allow-root

Import

Import the SQL file.

$ docker-compose exec wordpress wp db import /var/lib/mysql/import.sql --allow-root

Export

Export the SQL file.

$ docker-compose exec wordpress wp db export /var/lib/mysql/export.sql --allow-root

Replace

Import
$ docker-compose exec wordpress wp db import /var/lib/mysql/import.sql --allow-root
$ docker-compose exec wordpress wp search-replace http://example.com http://localhost --allow-root
Export
$ docker-compose exec wordpress wp db export /var/lib/mysql/export.sql --allow-root
Upload
$ docker-compose exec wordpress wp search-replace http://localhost http://example.com --allow-root
$ docker-compose exec wordpress wp db export /var/lib/mysql/upload.sql --allow-root
$ docker-compose exec wordpress wp search-replace http://example.com http://localhost --allow-root
$ docker-compose exec wordpress wp search-replace http://localhost http://example.com --export=/var/lib/mysql/upload.sql --allow-root
ACF Block
$ docker-compose exec wordpress wp search-replace 'http:\/\/example.com' 'http:\/\/localhost' --allow-root
Change PHP Version

Please change the first line of /docker/wordpress/Dockerfile.

# Default
FROM wordpress:latest

# PHP 7.0
FROM wordpress:php7.0-apache

Please refer to the link below for usable containers.

WordPress Docker Official Images

Docker Logs
$ docker-compose logs | grep wordpress
Bash
$ docker-compose exec wordpress /bin/bash
Composer
$ docker-compose exec wordpress composer -v
PHP CodeSniffer
$ docker-compose exec wordpress ./vendor/bin/phpcs --standard=PSR2 ./wp-content/themes/my-theme/
PHP CS Fixer
$ docker-compose exec wordpress ./vendor/bin/php-cs-fixer fix --dry-run --diff --diff-format udiff ./wp-content/themes/my-theme/
$ docker-compose exec wordpress ./vendor/bin/php-cs-fixer fix ./wp-content/themes/my-theme/

Use SSL

Rename docker-comopse-ssl.yml and WordPress Docker file

$ cp ./docker-comopse-ssl.yml ./docker-compose.yml
$ cp ./docker/wordpress/Dockerfile-ssl ./docker/wordpress/Dockerfile

Install mkcert

$ brew install mkcert
$ brew install nss
$ mkcert -install

make SSL Certificate

$ cd ./docker/certs/
$ mkcert localhost 127.0.0.1
$ ls
---
localhost+1-key.pem
localhost+1.pem

Docker Build & Start

$ docker-compose build
$ docker-compose up -d

Access SSL URL !!!

JavaScript

wpdb().then(() => {
  console.log('Complete!!');
});

Access

  • WordPress

http://localhost

  • WordPress(SSL)

https://localhost

Please Edit Hosts File. Then you will be able to access it with the URL you want.

$ sudo vi /etc/hosts
---
127.0.0.1       example.com
  • phpMyAdmin

http://localhost:8080/

  • MailHog

http://localhost:8025/

About

Tools for Handling WordPress Database by Docker and WP-CLI.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published