docker wordpress
TRANSCRIPT
WordPressUna configuración usual para desarrollar con WordPress es:
● Apache y MySql corriendo en el sistema operativo
(Linux / Windows / Mac)
● PHP corriendo sobre Apache
y con un módulo para conversar con MySql
● WordPress corriendo sobre PHP
● PhpMyAdmin corriendo sobre PHP
DockerBásicamente, Docker permite crear y administrar computadoras virtuales que
corren diferentes tipos de sistemas.
Las computadoras virtuales son llamadas Containers y son creadas partir de
templates llamados Images.
Los containers pueden conectarse en red.
Docker puede correr en Linux, Windows y Mac. No de manera idéntica pero,
básicamente, se puede usar del mismo modo.
Docker WordPressPodemos escoger del Docker Hub un conjunto de imágenes que nos sirva
para formar un entorno de desarrollo WordPress.
Para MySql: mysql:5.7
Para WordPress: wordpress:latest (incluye apache y php listos)
Para PhpMyAdmin: phpmyadmin/phpmyadmin
$ docker... mysql$ docker run --name wordpressdb -v "$PWD"/db_data:/var/lib/mysql -
p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -e
MYSQL_DATABASE=wordpress -e MYSQL_USER=wordpress -e
MYSQL_PASSWORD=wordpress -d mysql:5.7
wordpressdb
mysql
$ docker... wordpress$ docker run --name wordpress --link wordpressdb:mysql -v
"$PWD":/var/www/html -p 8000:80 -e WORDPRESS_DB_USER=wordpress -e
WORDPRESS_DB_PASSWORD=wordpress -d wordpress
wordpressdb wordpress
mysql wordpress
$ docker... phpmyadmin$ docker run --name phpmyadmin --link wordpressdb:db -p 8080:80 -e
PMA_USER=wordpress -e PMA_PASSWORD=wordpress -d
phpmyadmin/phpmyadmin
wordpressdb wordpress phpmyadmin
mysql wordpress phpmyadmin
$ dockerPara ver la lista de procesos:
$ docker ps
Para eliminar (deteniéndolos) los procesos especificados:
$ docker rm -f wordpressdb wordpress phpmyadmin
TestPara averiguar el IP de la máquina docker:
$ docker-machine ip
192.168.99.100
Entonces, se puede abrir en el navegador:
WordPress: http://192.169.99.100:8000
PhpMyAdmin: http://192.169.99.100:8080
docker-composedocker-compose usa el archivo docker-compose.yml
como una receta para definir los containers.
docker-compose.ymlversion: '3'
services:
db: ...
wordpress: ...
phpmyadmin: ...
volumes:
db_data:
db:
image: mysql:5.7
volumes:
- ./db_data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
docker-compose.ymlversion: '3'
services:
db: ...
wordpress: ...
phpmyadmin: ...
volumes:
db_data:
wordpress:
depends_on:
- db
image: wordpress:latest
volumes:
- ./:/var/www/html
ports:
- "8000:80"
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
docker-compose.ymlversion: '3'
services:
db: ...
wordpress: ...
phpmyadmin: ...
volumes:
db_data:
phpmyadmin:
depends_on:
- db
image: phpmyadmin/phpmyadmin
ports:
- 8100:80
environment:
PMA_HOST: db
PMA_USER: wordpress
PMA_PASSWORD: wordpress
$ docker-composePara crear e iniciar los containers (-d indica en background):
$ docker-compose up -d
Para ver la lista de procesos:
$ docker-compose ps
Para detener y eliminar los containers:
$ docker-compose down
TestRecordemos que para averiguar el IP de la máquina docker:
$ docker-machine ip
192.168.99.100
Entonces, se puede abrir en el navegador:
WordPress: http://192.169.99.100:8000
PhpMyAdmin: http://192.169.99.100:8080
Exponiendo uploads.iniCon la configuración vista, al intentar instalar un tema, obtengo un error
indicando que excede el tamaño máximo permitido.
Para ampliar este tamaño, se puede exponer el archivo uploads.ini
docker-compose.ymlversion: '3'
services:
db: ...
wordpress: ...
phpmyadmin: ...
volumes:
db_data:
wordpress:
depends_on:
- db
image: wordpress:latest
volumes:
- ./:/var/www/html
- ./php_conf/uploads.ini:
/usr/local/etc/php/conf.d/uploads.ini
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
uploads.inifile_uploads = On
memory_limit = 64M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 600
Acerca de mi PC● Windows 10
● Docker Toolbox
○ Docker Quickstart terminal
○ docker
○ docker-machine
○ docker-compose
○ Kitematic