Add docker-compose
This commit is contained in:
parent
2da7726458
commit
9e13af4ddb
17
README.md
17
README.md
@ -28,6 +28,8 @@ This will launch a WordPress local instance at http://localhost:8888. You can lo
|
||||
|
||||
### Lando
|
||||
|
||||
Install Lando, then:
|
||||
|
||||
```sh
|
||||
$ lando start
|
||||
$ lando wp --path=/app/web/ core install \
|
||||
@ -38,3 +40,18 @@ $ lando wp --path=/app/web/ theme activate sample-wp-block-theme
|
||||
```
|
||||
|
||||
### docker-compose
|
||||
|
||||
Install Docker-compose, then:
|
||||
|
||||
```sh
|
||||
$ docker-compose up -d
|
||||
# wait a few seconds, run `docker-compose logs` to check start-up
|
||||
$ docker-compose exec --user=user wordpress wp core install \
|
||||
--title="Dev Env" \
|
||||
--admin_user=admin --admin_password=admin --admin_email=admin@example.com \
|
||||
--skip-email --url=http://sample-block-theme.localhost:8080
|
||||
$ docker-compose exec --user=user wordpress wp theme activate sample-wp-block-theme
|
||||
```
|
||||
|
||||
This should also work with `docker compose` (i.e. newwer Docker / Compose 2);
|
||||
just replace `docker-compose` with `docker compose` in the above.
|
||||
|
44
docker-compose.yml
Normal file
44
docker-compose.yml
Normal file
@ -0,0 +1,44 @@
|
||||
---
|
||||
version: "3"
|
||||
|
||||
services:
|
||||
wordpress:
|
||||
image: "wordpress"
|
||||
ports:
|
||||
- "8080:80"
|
||||
dns: 4.2.2.4
|
||||
volumes:
|
||||
- "./entrypoint.sh:/usr/local/bin/entrypoint.sh:z"
|
||||
- ".:/var/www/html/wp-content/themes/sample-wp-block-theme:z"
|
||||
entrypoint: ["/usr/local/bin/entrypoint.sh"]
|
||||
networks:
|
||||
- backend
|
||||
environment:
|
||||
- WORDPRESS_DB_HOST=db
|
||||
- WORDPRESS_DB_USER=wordpress
|
||||
- WORDPRESS_DB_PASSWORD=wordpress
|
||||
- WORDPRESS_DB_NAME=wordpress
|
||||
- WORDPRESS_TABLE_PREFIX=wp_
|
||||
- PAGER=more
|
||||
container_name: "samplewpblocktheme_wordpress"
|
||||
|
||||
db:
|
||||
image: "mariadb:10.6"
|
||||
ports:
|
||||
- 3306:3306
|
||||
volumes:
|
||||
- "mariadb:/var/lib/mysql"
|
||||
networks:
|
||||
- backend
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=wordpress
|
||||
- MYSQL_DATABASE=wordpress
|
||||
- MYSQL_USER=wordpress
|
||||
- MYSQL_PASSWORD=wordpress
|
||||
container_name: "samplewpblocktheme_db"
|
||||
|
||||
volumes:
|
||||
mariadb:
|
||||
|
||||
networks:
|
||||
backend:
|
50
entrypoint.sh
Executable file
50
entrypoint.sh
Executable file
@ -0,0 +1,50 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ -n "$PHP_EXTENSIONS" ]; then
|
||||
for extension in $PHP_EXTENSIONS; do
|
||||
if ! php -m | grep -q $extension; then
|
||||
docker-php-ext-install $PHP_EXTENSIONS
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
if ! id -u "user" >/dev/null ; then
|
||||
useradd -u 1000 -m user
|
||||
mkdir /var/www/html/vendor
|
||||
chown -R user:user /var/www/html/vendor
|
||||
fi
|
||||
|
||||
if [ ! -x /usr/bin/unzip ]; then
|
||||
apt update && apt install unzip
|
||||
fi
|
||||
|
||||
if [ ! -x /usr/local/bin/wp ]; then
|
||||
curl -z /usr/local/bin/wp -o /usr/local/bin/wp https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
|
||||
chmod +x /usr/local/bin/wp
|
||||
fi
|
||||
|
||||
if [ ! -x /usr/local/bin/composer ]; then
|
||||
mkdir -p /var/www/.composer
|
||||
chown user:user /var/www/.composer
|
||||
|
||||
curl https://getcomposer.org/installer -o /tmp/composer-setup.php
|
||||
php -r "if (hash_file('sha384', '/tmp/composer-setup.php') === 'e21205b207c3ff031906575712edab6f13eb0b361f2085f1f1237b7126d785e826a450292b6cfd1d64d92e6563bbde02') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
|
||||
php /tmp/composer-setup.php
|
||||
rm /tmp/composer-setup.php
|
||||
|
||||
mv /var/www/html/composer.phar /usr/local/bin/composer
|
||||
fi
|
||||
|
||||
export APACHE_RUN_USER=user
|
||||
export APACHE_RUN_GROUP=user
|
||||
|
||||
# Increase PHP memory limiit because it's A HOG
|
||||
echo 'memory_limit = 256M' >> /usr/local/etc/php/conf.d/docker-php-memlimit.ini;
|
||||
|
||||
if [ -n "$@" ]; then
|
||||
"$@"
|
||||
fi
|
||||
|
||||
# Upstream ENTRYPOINT
|
||||
# https://github.com/docker-library/wordpress/blob/master/php7.4/apache/Dockerfile#L120
|
||||
/usr/local/bin/docker-entrypoint.sh apache2-foreground
|
Loading…
Reference in New Issue
Block a user