Lezers zoals jij steunen MUO. Wanneer u een aankoop doet via links op onze site, kunnen we een aangesloten commissie verdienen.
Docker is de meest geliefde programmeertool volgens het ontwikkelaarsonderzoek van Stack Overflow uit 2022. Het wordt veel gebruikt in IT en heeft een revolutie teweeggebracht in de manier waarop we applicaties implementeren.
Docker-containers lijken een beetje op virtuele machines, maar ze zijn lichter en zitten boordevol met alleen de vereiste basiselementen van een besturingssysteem. Om te begrijpen hoe minimaal Docker-containers kunnen zijn, laten we eens kijken hoe u Ubuntu in Docker kunt uitvoeren.
Stap 1: De Ubuntu Docker-afbeelding verkrijgen
Als je Docker niet hebt geïnstalleerd, volg dan onze gids op Docker installeren op Ubuntu. En natuurlijk kunt u Docker ook op macOS en Windows installeren.
Docker Hub is de aanbevolen opslagplaats om openbaar geverifieerde en officiële Docker-images te krijgen. U kunt Docker Hub ook gebruiken om privé Docker-images te beheren en te maken.
Cloudproviders zoals Azure en AWS bieden ook Docker-opslagplaatsen waar u uw aangepaste Docker-images kunt hosten en beheren.
U kunt de nieuwste afbeelding van Ubuntu downloaden met de volgende opdracht:
sudo docker trekt ubuntu
Docker downloadt de nieuwste afbeelding naar uw pc als u deze nog niet lokaal hebt opgeslagen.
Als u geïnteresseerd bent in een specifieke versie, kijkt u gewoon naar de beschikbare tags van de afbeelding in Docker Hub en downloadt u deze vervolgens met die specifieke tag. Om bijvoorbeeld Ubuntu 20.04 te downloaden, voert u het volgende uit:
sudohavenarbeidertrekkenubuntu:20.04
U kunt alle Docker-afbeeldingen op uw pc weergeven met behulp van de sudo docker-afbeeldingen commando.
Stap 2: de Ubuntu-afbeelding uitvoeren
Een Docker-image is gewoon een blauwdruk met instructies voor het bouwen van een container. Een container is een actief exemplaar van een Docker-image. Voer de volgende opdracht uit om de Ubuntu-afbeelding die u zojuist hebt gedownload tot leven te brengen:
sudo docker-run -ti --rm ubuntu /bin/bash
Deze opdracht vertelt Docker om de container in een terminal-interactieve modus uit te voeren (-ti). De /bin/bash argument is een manier om de container te laten draaien de Bash shell-terminal. eindelijk, de --rm vlag instrueert Docker om de container automatisch te verwijderen nadat we deze hebben gestopt.
De shell begint als een rootgebruiker en de terminal is vergelijkbaar met wat je krijgt op een typisch Linux-systeem. Standaard krijgt de container een willekeurige hostnaam.
U zult ook merken dat de afbeelding geen GUI heeft of veel andere standaard opdrachtregelprogramma's die bij Ubuntu worden geleverd. De Ubuntu Docker-afbeelding is slechts ongeveer 78 MB groot, wat superlicht is.
Linux-opdrachten uitvoeren op Ubuntu Docker
Normaal gesproken controleert u OS-informatie op Linux met behulp van de lsb_uitgave -a opdracht, maar in dit geval zult u merken dat deze opdracht niet beschikbaar is omdat het Ubuntu-systeem niet beschikt over de lsb-kern pakket standaard geïnstalleerd. Vergeet niet dat Docker-afbeeldingen alleen de kernelementen bevatten en niets anders.
Gelukkig kunnen we de OS-informatie controleren met behulp van het cat-commando, die deel uitmaakt van de Bash-shell.
kat /etc/os-uitgave
Zoals je kunt zien aan de uitvoer, is dit de LTS-versie van Ubuntu die in 2022 is uitgebracht. Dankzij de kracht van Docker kunnen we een besturingssysteem uitvoeren met zeer minimale systeembronnen.
En aangezien dit gewoon een lichtgewicht besturingssysteem is, kunnen we de applicaties die we nodig hebben installeren met bekende Ubuntu-commando's. Werk eerst de pakketbronnen bij en installeer lsb-kern door te typen:
geschikt update && geschikt installeren lsb-kern
Merk op dat u de sudo commando terwijl u bent ingelogd bij de Docker-shell als de rootgebruiker.
Eenmaal geïnstalleerd, kunt u het lsb_uitgave -a commando en deze keer krijg je wat uitvoer.
De Docker-containerstatus opslaan
Wanneer u de Docker-container in dit stadium stopt, verliest u alle aangebrachte wijzigingen, inclusief software-updates en geïnstalleerde hulpprogramma's. Dat is hoe Docker-containers zijn ontworpen; ze zijn eenvoudig te vervangen, te stoppen en te beheren.
Zoals je misschien al weet, is Docker een veelzijdige tool; hiermee kunt u de status van containers opslaan als u dat wilt. Controleer eerst de container-ID met behulp van de volgende opdracht:
sudo havenarbeider ps
De voorgaande opdracht geeft een overzicht van alle Docker-containers op uw pc. De Ubuntu-afbeelding in de bovenstaande uitvoer heeft de ID 524aa76baafb, de jouwe zal een andere zijn.
Sla de status van de container op door de volgende opdracht uit te voeren:
havenarbeider verbinden -p container_id nieuwe_containernaam
Vergeet niet te vervangen container_id in de volgende opdracht met de juiste. Namen van Docker-afbeeldingen kunnen ook alleen kleine letters zijn.
sudo-docker verbinden -P 524aa76baafb mijnubuntu
De voorgaande opdracht pauzeert de container voordat deze wordt opgeslagen en maakt een nieuwe Docker-afbeelding met de naam mijnubuntu. De nieuwe Docker-afbeelding bevat alle wijzigingen die u erin hebt aangebracht. En daarmee hebt u zojuist een aangepaste Ubuntu Docker-afbeelding gemaakt.
Als u uw Docker-afbeeldingen weergeeft met behulp van de sudo docker-afbeeldingen opdracht, zou uw nieuwe aangepaste afbeelding moeten worden vermeld.
Blijvende gegevens op de Ubuntu Docker-container
Een ander krachtig kenmerk van Docker is de mogelijkheid om gegevens te behouden of te delen met de hostmachine. Er zijn twee hoofdopties: gekoppelde volumes of Docker-volumes gebruiken. Docker pleit voor het laatste omdat het beter is in vergelijking met aangekoppelde volumes.
U kunt overal op uw pc een Docker-volume maken. Laten we het in de thuismap maken en het Docker_Share noemen.
sudo mkdir -p Docker_Share
Stop vervolgens de Ubuntu-container met behulp van de volgende opdracht, vervangend container_id met de daadwerkelijke ID van de Docker-container:
sudo-docker stop container_id
Ten slotte kunnen we de Ubuntu-afbeelding uitvoeren om gegevens te behouden met behulp van de Docker_Share directory met behulp van de onderstaande opdracht. Als alternatief kan dat maak een docker-compose-bestand om eenvoudig uw Docker-afbeeldingen op te starten.
sudo docker-run -ti --rm -v ~/Docker_Share:/data ubuntu /bin/bash
De opdracht start de Ubuntu-afbeelding en maakt het /data directory in de Docker-container. De /data map is toegewezen aan de Docker_Share map die u eerder hebt gemaakt.
U hebt toegang tot alle gemaakte of gewijzigde bestanden op de /data directory van de container met behulp van de Docker_Share map. Het omgekeerde is ook waar; Docker repliceert alle bestandswijzigingen in het Docker_Share map in de /data directory van de container.
Docker is een geweldige vervanging voor virtuele machines
Docker is een zeer krachtige technologie waarmee u applicaties kunt implementeren en uitvoeren in een veilige omgeving. U kunt het voor een breed scala aan taken gebruiken en in de meeste gevallen kunt u prima een lichtgewicht Docker-container gebruiken in plaats van een virtuele machine.