Public | Automated Build

Last pushed: 3 years ago
Short Description
LAMP base docker image for WordPress
Full Description


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 wordpress.

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:

$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 admin user.

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"

Disabling .htaccess

.htacess is enabled by default. To disable .htacess, you can remove the following contents from Dockerfile

# config to enable .htaccess
ADD apache_default /etc/apache2/sites-available/000-default.conf
RUN a2enmod rewrite

credit to

Docker Pull Command
Source Repository