Archive for noviembre, 2021
primer prueba con traefiks
# Nos guiamos de
https://blog.parravidales.es/traefik-mi-nuevo-mejor-amigo/
mkdir traefik
cd traefik
vi docker-compose.yml
version: '3.2'
services:
traefik:
# The official v2 Traefik docker image
image: traefik:latest # v2.1
container_name: "traefik"
restart: always
# Enables the web UI and tells Traefik to listen to docker
command:
#- --log.level=DEBUG
- --api.dashboard=true
- --api.insecure=true
- --providers.docker=true
- "--entrypoints.https.address=:443"
- "--entrypoints.lan.address=:888"
- "--certificatesResolvers.leresolver.acme.email=demo@parravidales.es"
- "--certificatesResolvers.leresolver.acme.storage=acme.json"
- "--certificatesResolvers.leresolver.acme.tlschallenge=true"
ports:
# The HTTPS port
- "443:443"
- "8008:888"
- "8080:8080"
volumes:
# So that Traefik can listen to the Docker events
- /etc/localtime:/etc/localtime:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./acme.json:/acme.json
networks:
- traefiknet
networks:
default:
traefiknet:
external:
name: traefiknet
docker network create traefiknet
touch acme.json
sudo chown root:root acme.json
sudo chmod 600 acme.json
docker-compose up -d
Migrando sitio wordpress a docker
# Me guió en base a lo escrito por el siguiente héroe sin capa
https://www.elarraydejota.com/migrando-el-blog-a-docker/
# Creamos la estructura de carpetas
mkdir -p wordpress/{config,db-dump,data}
# Copiamos el dump de la db en la carpeta db-dump
# Copiamos el source de la web del sitio wordpress en data
# Usamos .env
vi .env
DB_ROOT_PASSWORD=password
DB_NAME=mydb
WORDPRESS_DB_HOST=db
WORDPRESS_DB_NAME=mydb
WORDPRESS_DB_USER=root
WORDPRESS_DB_PASSWORD=password
MYSQL_DATABASE=mydb
MYSQL_ROOT_PASSWORDpassword
# El docker-compose
vi docker-compose.yml
version: '2'
services:
wp:
image: wordpress:latest
ports:
- 80:80
volumes:
- ./data:/var/www/html
environment:
WORDPRESS_DB_HOST: "${WORDPRESS_DB_HOST}"
WORDPRESS_DB_NAME: "${DB_NAME}"
WORDPRESS_DB_USER: "${WORDPRESS_DB_USER}"
WORDPRESS_DB_PASSWORD: "${DB_ROOT_PASSWORD}"
depends_on:
- db
db:
image: mysql:5.7
ports:
- 3306:3306
volumes:
- ./db-dump:/docker-entrypoint-initdb.d
- db_data:/var/lib/mysql/
environment:
MYSQL_DATABASE: "${DB_NAME}"
MYSQL_ROOT_PASSWORD: "${DB_ROOT_PASSWORD}"
volumes:
db_data:
# Levantamos el servicio
docker-compose up -d
nginx como proxy inverso para dos sitios con dominios locales.
# Me guio gracias a esta gente
https://github.com/carlosvin/docker-reverse-proxy-multi-domain/blob/master/a/Dockerfile
# Creo las carpetas segun esta estructura
Proyecto
web
webs
# El dockerfile para uno de los dos sitios
vi web/Dockerfile
# Imagen de httpd con una web sencilla
FROM httpd:2.4
RUN echo "<html><body><h1>A</h1>Aplicacion para el sitio de Web</body></html>" > /usr/local/apache2/htdocs/index.html
# Imagen de httpd con una web sencilla para el otro sitio
vi webs/Dockerfile
FROM httpd:2.4
RUN echo "<html><body><h1>A</h1>Aplicacion para el sitio de Webs </body></html>" > /usr/local/apache2/htdocs/index.html
$ En la carpeta Proyecto pongo el docker-compose.yml
vi docker-compose.yml
web:
build: web
environment:
VIRTUAL_HOST: web.local
restart: always
webs:
build: webs
environment:
VIRTUAL_HOST: webs.local
restart: always
nginx-proxy:
image: jwilder/nginx-proxy
ports:
- "80:80"
- "443:443"
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
restart: always
privileged: true
# Como son dominios locales necesito usar esto en
sudo vi /etc/hosts
127.0.0.1 web.local
127.0.0.1 webs.local
# Levanto todo y listo
docker-compose up -d
El próximo paso es hacer algo similar pero con sitios mas grosos onda con wordpress y algún que otro servicio mas.
Comentarios recientes