This README is outdated. Soon to be updated.
Out-of-the-box LAMP image (PHP+MySQL) set up for external WordPress.
To create the image
morganhjk/wplamp, execute the following command on the docker-wplamp folder:
docker build -t morganhjk/wplamp .
You can now push your new image to the registry:
docker push morganhjk/wplamp
Running your LAMP docker image
Start your image binding the external ports 80 and 3306 in all interfaces to your container:
docker run -d -p 80:80 -p 3306:3306 -v /path/to/wordpress:/app morganhjk/wplamp
Set up WordPress on
http://localhost/ with the database name
Connecting to the bundled MySQL server from within the container
The bundled MySQL server has a
root user with no password for local connections.
Simply connect from your PHP code with this user:
<?php $mysql = new mysqli("localhost", "root"); echo "MySQL Server info: ".$mysql->host_info; ?>
Connecting to the bundled MySQL server from outside the container
The first time that you run your container, a new user
admin with all privileges
will be created in MySQL with a random password unless you set the MYSQL_PASS environment variable.
To get the password, check the logs of the container by running:
docker logs $CONTAINER_ID
You will see an output like the following:
======================================================================== You can now connect to this MySQL Server using: mysql -uadmin -p47nnf4FweaKu -h<host> -P<port> Please remember to change the above password as soon as possible! MySQL user 'root' has no password but only allows local connections ========================================================================
In this case,
47nnf4FweaKu is the password allocated to the
You can then connect to MySQL:
mysql -uadmin -p47nnf4FweaKu
Remember that the
root user does not allow connections from outside the container -
you should use this
admin user instead!
Setting a specific password for the MySQL server admin account
If you want to use a preset password instead of a random generated one, you can
set the environment variable
MYSQL_PASS to your specific password when running the container:
docker run -d -p 80:80 -p 3306:3306 -v /path/to/wordpress:/app -e MYSQL_PASS="mypass" morganhjk/wplamp
You can now test your new admin password:
mysql -uadmin -p"mypass"
.htacess is enabled by default. To disable
.htacess, you can remove the following contents from
# config to enable .htaccess ADD apache_default /etc/apache2/sites-available/000-default.conf RUN a2enmod rewrite
credit to http://www.tutum.co