====== Docker Compose ======
https://docs.docker.com/compose/ \\
https://github.com/docker/compose/releases/latest
===== Installation =====
==== Repository ====
sudo apt update
sudo apt install docker-compose-plugin
sudo docker compose version
==== Manuell ====
sudo curl -L "https://github.com/docker/compose/releases/download/2.6.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo docker-compose --version
===== Befehle =====
docker compose up -d
docker compose down
docker compose restart
docker compose logs
docker compose logs -f
docker compose logs --tail=10
docker compose -f docker-compose.yml -f docker-compose.geoip.yml up -d
sudo docker compose up -d && sudo docker compose logs -f
==== Update Project/Application ====
docker compose down --remove-orphans
docker compose pull
docker compose up -d
===== Dateien =====
docker-compose.yml
docker-compose.override.yml
===== Beispiel Configs =====
==== Nginx ====
version: '3.8'
services:
nginx-demo:
image: nginx
container_name: nginx-demo
volumes:
- ./data/html:/var/www/html
- ./data/conf.d:/etc/nginx/conf.d
expose:
- 80
labels:
- 'traefik.enable=true'
- 'traefik.http.routers.nginx-demo.rule=Host(`example.org`)'
- 'traefik.http.routers.nginx-demo.entrypoints=https'
- 'traefik.http.routers.nginx-demo.tls=true'
- 'traefik.http.routers.nginx-demo.tls.certresolver=letsencrypt'
- 'traefik.http.routers.nginx-demo.middlewares=authelia-demo@docker'
deploy:
restart_policy:
condition: on-failure
networks:
traefik-net:
networks:
traefik-net:
external: true
=== Nginx proxy ===
version: '2'
services:
nginx-proxy:
image: byjg/nginx-extras
container_name: nginx-proxy
ports:
- "80:80"
- "443:443"
volumes:
- ./data/nginx.conf:/etc/nginx/nginx.conf
- ./data/conf/:/etc/nginx/conf.d/
- ./data/vhost:/etc/nginx/vhost.d
- ./data/html:/usr/share/nginx/html
- ./data/dhparam:/etc/nginx/dhparam
- ./data/certs:/etc/nginx/certs:ro
networks:
proxy-net:
aliases:
- nginx-proxy
networks:
proxy-net:
name: proxy-net
driver: bridge
driver_opts:
com.docker.network.bridge.name: br-proxy-net
ipam:
driver: default
config:
- subnet: ${IPV4_NETWORK:-172.16.2}.0/24