Docker Compose
Jag använder mig av docker compose.
Volumes
Går att konfigurera på lika olika sätt. Ex. config:/etc/dns placerar volymen i /var/lib/docker/volumes. ./data:/data placerar filerna i en undermapp till mappen som docker-compose.yml filen är i. Här är ett exempel på en NFS-monterad mapp:/data/docker/audiobookshelf/audiobooks:/audiobooks
sudo docker volume ls listar alla volymer som docker känner till. inspect ger bra information om en specifik volym, ex:
jehrlander@docker-mgmt:~/docker/DnsServer$ sudo docker volume inspect dnsserver_config
[
{
"CreatedAt": "2024-04-18T13:54:19Z",
"Driver": "local",
"Labels": {
"com.docker.compose.project": "dnsserver",
"com.docker.compose.version": "2.20.2",
"com.docker.compose.volume": "config"
},
"Mountpoint": "/var/lib/docker/volumes/dnsserver_config/_data",
"Name": "dnsserver_config",
"Options": null,
"Scope": "local"
}
För att rensa oanvända volymer, som ingen container använder, använd sudo docker system volume prune -a.
NFS-montera i container
En NFS montering sker från hosten. Man kan antingen montera NFS direkt på hosten via fstab (se den här artikeln för Ubuntu) eller så kan man montera per compose fil. Gör man det i compose-filen så blir filen mer portabel. Å andra sidan tycker jag att det skalar trevligt med att montera direkt från hosten . Jag vet inte vad som är bäst, säkerheten har jag inte rätt ut ännu.
Montera från docker compose
Här är ett exempel på en compose fil (för applikation Kiwix) där monteringen sker via compose-filen:
services:
kiwix-serve:
ports:
- 8080:8080
image: ghcr.io/kiwix/kiwix-serve:latest
# uncomment next 4 lines to use it with local zim file in /tmp/zim
volumes:
- kiwix-nfs:/data
command:
- '*.zim'
# uncomment next 2 lines to use it with remote zim file
environment:
- 'DOWNLOAD=https://download.kiwix.org/zim/wikipedia/wikipedia_en_all_maxi_2025-08.zim'
networks:
DOCKER_NETWORK:
ipv4_address: 10.10.0.66
networks:
DOCKER_NETWORK:
name: DOCKER_NETWORK
external: true
volumes:
kiwix-nfs:
driver: local
driver_opts:
type: nfs
o: addr=10.0.7.50,rw,soft,nfsvers=4
device: ":/volume1/kiwix"