Bonjour à tous,
J'ai récemment fait l'acquisition d'un Raspberry Pi 3 Model B sur lequel j'ai installé Docker et docker-compose (après plusieurs surprises liées à l'architecture ARM, sur laquelle je n'avais pas réfléchis avant mon achat ...).
Voici mes versions de docker et docker-compose.
1 2 3 4
| # docker -v
Docker version 1.12.5, build 7392c3b
# docker-compose --version
docker-compose version 1.9.0, build 2585387 |
J'aimerai sur ce Raspberry héberger plusieurs applications web (gitlab, cozy cloud ou owncloud, un blog personnel, etc...) mais aussi essayer l'hebérgement d'un serveur minecraft par exemple.
J'aimerai réaliser ceci grâce à docker et docker-compose. C'est donc là que me vient l'idée d'installer un reverse proxy (dans docker) pour pouvoir héberger mes différentes applications web.
J'ai essayer deux solutions :
- La première Traefik (image : hypriot/rpi-traefik)
Voici la configuration :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
#docker-compose.yml
traefik:
image: hypriot/rpi-traefik
command: --web --docker --logLevel=DEBUG
ports:
- "80:80"
- "8080:8080"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
- "$PWD/traefik.yml:/traefik.toml"
#traefik.yml
[docker]
endpoint = "unix:///var/run/docker.sock"
domain = "mondomaine.fr"
watch = true |
En ouvrant un navigateur à l'adresse mondomaine.fr:8080 j'arrive sur la page de traefik.
Par contre les redirections ne fonctionnent pas.
- La deuxième ce reverse proxy (image : lroguet/rpi-nginx-proxy)
Je lance le conteneur :
docker run -d -p 80:80 -v /var/run/docker.sock:/tmp/docker.sock:ro lroguet/rpi-nginx-proxy
Et concernant le docker-compose.yml de mes deux applications de test :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
web1:
image: armhf/httpd
volumes:
- ./web1:/usr/local/apache2/htdocs
environment:
- VIRTUAL_HOST=web1
# labels:
# traefik.port: "80"
# traefik.backend: "web1"
# traefik.frontend.rule: "Host:web1.mondomaine.fr"
web2:
image: armhf/httpd
volumes:
- ./web2:/usr/local/apache2/htdocs
environment:
- VIRTUAL_HOST=web2
# labels:
# traefik.port: "80"
# traefik.backend: "web2"
# traefik.frontend.rule: "Host:web2.mondomaine.fr" |
La partie commenté correspond à la config utilisé pour Traefik les variables d'environnement VIRTUAL_HOST pour la config avec la deuxième solution.
Aucune des solutions n'a fonctionné ...
En espérant pouvoir trouver de l'aide ici.
Damien
Partager