Linux/Docker/Docker-Compose
Basics
- https://docs.docker.com/compose/compose-file/
- Frequently used commands:
docker-compose build docker-compose up docker-compose up -d docker-compose stop
Ubuntu testing
- build from Dockerfile
- keep running without task
- connect to bridge network "lan"
version: '3' services: test123: build: . stdin_open: true networks: default: external: name: lan
Volumes
version: '3' services: web: build: . volumes: - /hostfilesystem:/containerfilesystem
Ports / Expose
- ports = expose to host network (external)
- expose = expose to container network (internal)
- hostport: 8080
- containerport: 80
version: "3" services: wordpress: image: wordpress ports: - "8080:80"
ports: - 139:139 - 445:445 - 137:137/udp - 138:138/udp
ports: - 127.0.0.1:8000:8000
version: '3' services: roundcube: image: robbertkl/roundcube expose: - 80
Autostart
version: '3' services: portainer: image: portainer/portainer restart: always ports: - 127.0.0.1:9000:9000 volumes: - /var/run/docker.sock:/var/run/docker.sock - portainer_data:/data volumes: portainer_data:
Devices
version: '3' services: mpd: build: . ports: - 6600:6600 devices: - /dev/snd:/dev/snd
OpenVPN
- "cap_add" = add capabilities (here for changing network settings)
version: '3' services: openvpn: build: . ports: - 1194:1194 cap_add: - NET_ADMIN