Docker is een essentiële tool voor eenvoudige installatie van de apps die uw sites en services kunnen uitvoeren, en het is nog eenvoudiger te beheren met docker-compose.
Sommige projecten worden niet geleverd met docker-compose-bestanden en het is tijdrovend om er zelf een te maken. docker-autocompose kan een werkend docker-compose-bestand genereren vanuit elke draaiende Docker-container.
Sommige Docker-apps hebben geen Compose-bestanden
Docker is een open-sourceplatform voor het implementeren van applicaties in gebundelde componenten die bekend staan als containers. Door Docker te gebruiken, hoeft u zich geen zorgen te maken over afhankelijkheden of interacties tussen services, aangezien deze meestal tot op zekere hoogte vooraf zijn geconfigureerd.
U kunt Docker gebruiken om apps te implementeren, waaronder gespecialiseerde servers, Linux-distributies of aangepaste afbeeldingen. Het uitvoeren van apps met Docker is relatief eenvoudig en kan ervoor zorgen dat u altijd over de nieuwste softwareversie beschikt.
Als u niet bekend bent met het concept van gedockeriseerde apps, moet u onze essentiële gids lezen waarom u Docker zou moeten gebruiken in plaats van een virtuele machine.
Docker-opdrachten zijn lang en worden meestal uitgevoerd als een enkele opdracht die alle relevante variabelen bevat. Ze zijn lastig in te voeren, en hoewel je een alias aan je .bashrc-bestand kunt toevoegen, komt het er vaak op neer dat je herhaaldelijk op Ctrl+R om de exacte Docker-opdracht te vinden die u zoekt.
Docker Compose is een hulpmiddel om u te helpen bij interactie en orkestratie tussen verschillende containers. Het is zo effectief om u te helpen bij het beheren van Docker-containers, dat veel gebruikers helemaal niet leren hoe ze Docker moeten gebruiken. Waarom zou je, als je alleen maar een enkel YAML-bestand hoeft te downloaden en het op te starten met een eenvoudig commando van twee woorden?
Hoewel veel apps die door Docker kunnen worden geïmplementeerd, Compose-bestanden hebben, hebben ze dat niet allemaal, waardoor snelle, schone Docker-installaties en -implementaties moeilijk zijn. Dit komt vooral veel voor bij apps voor minder gangbare hardware, zoals ARM64 en ARMhf.
Als u liever docker-compose gebruikt dan onbewerkte Docker, kunt u ervoor kiezen om een bepaald stuk software niet te gebruiken als er geen handige docker-compose.yml in de GitHub-repository van het project staat.
docker-autocompose maakt het eenvoudig om automatisch een samengesteld bestand te genereren
docker-autocompose is een Python-app die een werkend Compose-bestand kan maken van elke draaiende Docker-container.
Dit betekent dat u alleen eerst de docker-opdracht hoeft uit te voeren, vervolgens de gegenereerde uitvoer te nemen en de app te starten met docker-compose in de toekomst, of u kunt het toevoegen aan een bestaand Compose-bestand om al uw services te beheren op eenmaal.
Docker-autocompose op Linux installeren
Aangezien docker-autocompose wordt geleverd als een Python-app, moet Python PIP op uw Linux-systeem zijn geïnstalleerd.
Om Python PIP op Debian of Ubuntu te installeren:
sudo geschikt installeren python3-pip
Installeer PIP op Arch Linux en zijn derivaten met behulp van:
sudo pacman -S python-pip
Voer het volgende uit om PIP op CentOS en Red Hat Enterprise Linux te installeren:
sudo jammie installeren python3 python3-wiel
Het zou vanzelfsprekend moeten zijn dat u dat ook moet doen hebben Docker en Docker Compose geïnstalleerd.
Kloon de GitHub-repository voor docker-autocompose en ga naar de nieuwe map:
gek kloon https://github.com/Red5d/docker-autocompose.git
CD docker-autocompose
Installeer nu docker-autocompose door het volgende uit te voeren:
sudopython3opgericht.pyinstalleren
docker-autocompose is nu geïnstalleerd.
Gebruik docker-autocompose om Compose-bestanden te genereren
Vaak tijdens het zoeken naar essentiële Linux-apps, je zult een geweldig project tegenkomen dat wordt geleverd met Docker-afbeeldingen maar zonder een Compose-bestand. Een voorbeeld hiervan is de uitstekende browser-toegankelijke IRC-client, Verzenden.
Maak een directory voor Dispatch om te gebruiken:
mkdir ~/verzending
Download en start de client op poort 8080 van uw lokale machine met:
havenarbeider run -p 8080:80 -v /home/david/verzending:/data --herstart nee -d khlieng/verzenden
Ga naar localhost: 8080 in uw browser om te controleren of Dispatch werkt en vertel vervolgens docker-autocompose om de inhoud van het Compose-bestand te genereren vanuit de actieve container met:
sudo autocompose.py <containernaam-of-id>
In dit geval is de containernaam verzending en is de container-ID onmiddellijk na het uitvoeren van de docker-opdracht als uitvoer in uw terminal verschenen.
Als alternatief kunt u Compose-bestandsinhoud maken die u kunt gebruiken om al uw actieve Docker-containers op te starten met:
sudo autocompose.py $(docker ps -aq)
Er wordt geen Docker Compose-bestand gegenereerd, dus u moet de stdout naar uw klembord kopiëren en vervolgens een nieuw bestand maken met:
nanodocker-componeren.yml
Plak de inhoud van je klembord, sla op en sluit nano af met Ctrl+O, Dan Ctrl+X.
U kunt nu al uw containers in één keer starten met:
docker-samenstellen up -d
Als alternatief kunt u docker-autocompose uitvoeren met behulp van Docker zelf door het volgende uit te voeren:
docker-run --rm -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/red5d/docker-autocompose <extra-namen-of-id's>
...wat een commando is dat je eraan herinnert waarom je docker-autocompose nodig hebt om mee te beginnen.
Maak direct werkende Compose-bestanden van actieve Docker-containers
Docker en Docker Compose zijn een steeds belangrijker onderdeel van het Linux-app-ecosysteem en bewijzen dat vooral waardevol voor zelfhostende sites en services op het alomtegenwoordige Raspberry Pi single-board computer.
Als u nog niet bent begonnen met het creëren van uw eigen online ecosysteem, moet u eens kijken naar enkele van de geweldige webgerichte projecten die u op de Pi kunt uitvoeren.