Docker en LXC (Linux Containers) zijn beide op Linux gebaseerde containertechnologieën, hoewel ze enigszins verschillen in hun aanpak en functionaliteit.
Docker was oorspronkelijk gebaseerd op LXC, maar is sindsdien overgeschakeld naar een eigen container library, libcontainer. Dus, strikt genomen, gebruikt u LXC niet rechtstreeks met Docker.
Dat gezegd hebbende, kunt u nog steeds profiteren van veel van dezelfde voordelen van containerisatie met Docker zoals u zou doen met LXC. Het is ook mogelijk om op Docker-achtige manieren te communiceren met LXC-containers met behulp van tools zoals LXD (gepronkt als “de volgende generatie LXC”) die meer geavanceerde beheermogelijkheden bieden.
Als je echt LXC wilt gebruiken als Docker’s container runtime, er is een oudere versie van Docker (tot versie 18.09) waar je kunt specificeren welke containertechnologie je wilt gebruiken. Het voegt echter complexiteit toe en het wordt niet aanbevolen voor de meeste gebruikers.
Om LXC met Docker te gebruiken, zou je de volgende stappen kunnen volgen:
1. Installeer Docker (versie 18.09 of lager) en LXC op je machine.
1. Bekijk de Docker daemon config file (gewoonlijk opgeslagen op /etc/docker/daemon.json) en voeg daar de volgende regels aan toe:
{ “runtimes”: { “lxc”: { “path”: “/usr/bin/docker-runc”, “runtimeArgs”: [“—runtime=lxc”] } } } Dit vertelt Docker om LXC te gebruiken als zijn container runtime.1. Herstart de Docker daemon om de wijzigingen door te voeren.
Houd er echter rekening mee dat deze aanpak wat verouderd is en mogelijk niet werkt zoals verwacht met nieuwere Docker-versies. Het wordt in het algemeen aangeraden om Docker zoals het is te gebruiken, omdat het zijn eigen voordelen heeft qua snelheid, draagbaarheid en gemakkelijke integratie met populaire CI/CD-tools.