-
Notifications
You must be signed in to change notification settings - Fork 0
Docker
Joris edited this page Nov 6, 2018
·
2 revisions
https://github.com/jwilder/nginx-proxy
https://github.com/JrCs/docker-letsencrypt-nginx-proxy-companion
- Docker swarm (Cluster)
- Portainer (Management UI)
- nginx or Traefik (Reverse Proxy)
- Let's encrypt (Certificates)
- Auto Deployment (Watchtower)
version: '2'
services:
portainer:
image: portainer/portainer
ports:
- "9000:9000"
command: -H unix:///var/run/docker.sock
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
volumes:
portainer_data:
Without ssl
version: '2'
services:
nginx-proxy:
image: jwilder/nginx-proxy
ports:
- "80:80"
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
whoami:
image: jwilder/whoami
environment:
- VIRTUAL_HOST=whoami.local
Test
docker-compose up -d // -d detached mode (runs in background)
curl -H "Host: whoami.local" localhost
Architecture with ssl
$ docker run -d -p 80:80 -p 443:443 \
--name nginx-proxy \
-v /path/to/certs:/etc/nginx/certs:ro \
-v /etc/nginx/vhost.d \
-v /usr/share/nginx/html \
-v /var/run/docker.sock:/tmp/docker.sock:ro \
--label com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy \
jwilder/nginx-proxy
Compose Proxy
todo
Let's Encrypt
docker run -d \
-v /path/to/certs:/etc/nginx/certs:rw \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
--volumes-from nginx-proxy \
jrcs/letsencrypt-nginx-proxy-companion
Compose let's encrypt
todo
Example Application with automatic ssl cert creation
docker run -d \
--name example-app \
-e "VIRTUAL_HOST=test.mobilegees.com" \
-e "LETSENCRYPT_HOST=test.mobilegees.com" \
-e "LETSENCRYPT_EMAIL=joris.baiutti@gmail.com" \
tutum/apache-php
MQTTTalk
docker run -d \
-p 5000:80/tcp \
-e "VIRTUAL_HOST=mqttalk2.mobilegees.com" \
-e "LETSENCRYPT_HOST=mqttalk2.mobilegees.com" \
-e "LETSENCRYPT_EMAIL=joris.baiutti@gmail.com" \
index.docker.io/mqttalk/dev:latest
Watchtower watch privat docker hub
docker run -d \
--name watchtower \
-v /var/run/docker.sock:/var/run/docker.sock \
-e "REPO_USER=<Docker Hub User>" \
-e "REPO_PASS=<Docker Hub PW>" \
v2tec/watchtower --interval 30 --debug
sudo docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=<YourStrong!Passw0rd>' \
-p 1433:1433 --name sql1 \
-d mcr.microsoft.com/mssql/server:2017-latest