- WordPress Setup with Docker.
- mysql
- phpMyAdmin
The following step is not required if you have already followed one command setup using ./nxtwp configure
as explained in the project's root README.md
Run this from root
docker-compose -f docker-compose.yml up -d WordPress will be available on http://localhost:8020
phpMyAdmin: You can access php myadmin on http://localhost:8183
port: mysql:3306
username: root
password: rootphpmyadmin docker image already comes with the username root and we have set the mysql password in the dockerfile
- When we change the composer.json, run from root
docker-compose -f docker-compose.yml down && \
docker-compose -f docker-compose.yml up -d First line command will stops and removes all the docker containers and second line command will restart all containers.
Notice that -d is to run in detach mode and you can always remove that flag, and run the command so you can see the live logs.
Or you can check the logs for
- Check the logs While the above command is running in detached mode ( -d ), you can run this command in a new terminal tab to see the live logs.
docker logs -f container-namee.g.
docker container lsCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d0b4a3b0074f wordpress:latest "docker-entrypoint.s…" About a minute ago Up About a minute 0.0.0.0:8000->80/tcp backend_wordpress_1
aad078ebe131 mysql:5.7 "docker-entrypoint.s…" About a minute ago Up About a minute 3306/tcp, 33060/tcp backend_db_1Here container-name is backend_db_1 or backend_wordpress_1
- If you make changes to docker-compose.yml file, run the following:
If you happend to change the port in docker-compose.yml make sure to delete the db directory and then run below.
docker-compose -f docker-compose.yml down && \
docker-compose -f docker-compose.yml up -d- If you get 404 on requests, check to see that the .htaccess file in wordpress directory has the rules
# BEGIN WordPress
# The directives (lines) between "BEGIN WordPress" and "END WordPress" are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress