Skip to content

Installeer Docker op Ubuntu 18.04 en implementeer een NGINX-container

5 de augustus de 2021
server 90389 1920 5b9a9ea546e0fb0025ef4121

Containers zijn een geweldige manier om geïsoleerde instanties van services en apps te implementeren. Met deze gecontaineriseerde tools kunt u ze eenvoudig van de ene server naar de andere verplaatsen, ze snel bijwerken en zelfs implementeren op een cluster voor grote schaalbaarheid. Dit artikel leidt u door het proces van het installeren van een van de meest populaire containertools op de markt, Docker, en het vervolgens implementeren van de NGINX-webserver.

Installatie

De installatie van Docker op Ubuntu 18.04 is ongelooflijk eenvoudig. Open een terminalvenster (of log in op uw Ubuntu-server via SSH).

  1. Voordat u Docker installeert, kunt u het beste uw server bijwerken en upgraden. Onthoud echter dat als de upgrade de kernel bevat, u de server opnieuw moet opstarten zodat de wijzigingen van kracht worden. Voer daarom de update/upgrade-commando’s uit in een tijd waarin het opnieuw opstarten van de server mogelijk is. De opdrachten voor het updaten en upgraden van de Ubuntu-server zijn: sudo apt-get update
    sudo apt-get upgrade

  2. Wanneer deze twee opdrachten zijn voltooid (en u indien nodig opnieuw hebt opgestart), kunt u Docker installeren door de volgende opdracht uit te voeren: sudo apt-get install docker.io

  3. Nadat die opdracht is voltooid, start en schakel je Docker in met de opdrachten: sudo systemctl start docker
    sudo systemctl docker inschakelen

    Dit zorgt ervoor dat Docker automatisch start als de server opnieuw wordt opgestart.

  4. Voeg vervolgens uw gebruiker toe aan de docker-groep. Anders moet u docker-opdrachten uitvoeren met sudo-rechten, wat tot beveiligingsproblemen kan leiden. Dit kan worden geregeld met een enkele opdracht: sudo usermod -aG docker $USER

    Voor het geval je nieuwsgierig bent, wordt het bovenstaande commando hieronder uitgelegd:

    • gebruikersmod is de eigenlijke opdracht om een ​​gebruiker te wijzigen.
    • De een optie instrueert usermod die u aan de gebruiker toevoegt.
    • De G options instrueert usermod dat u de gebruiker aan een groep toevoegt.
    • havenarbeider is de groep waaraan u de gebruiker toevoegt.
    • $USER instrueert bash om de momenteel ingelogde gebruiker te gebruiken.
  5. Nadat u de bovenstaande opdracht hebt uitgevoerd, logt u uit en weer in om de wijzigingen door te voeren. U bent nu klaar om met Docker te gaan werken.

Afbeeldingen uit DockerHub halen

DockerHub is een gecentraliseerde opslagplaats met afbeeldingen die als basis voor uw containers kunnen worden gebruikt. DockerHub bevat duizenden afbeeldingen, waarvan sommige zeer specifieke (en zelfs niche-doeleinden) dienen.

  1. Aangezien het doel is om een ​​NGINX-container in te zetten, trekt u de officiële NGINX-container naar beneden. Geef voordat je dat doet het commando: docker images

    Docker-afbeeldingen weergeven via de opdrachtregel

    De uitvoer van die opdracht zou geen huidige afbeeldingen moeten tonen.

  2. Trek de NGINX-afbeelding naar beneden met het commando: docker pull nginx

  3. De bovenstaande opdracht trekt de afbeelding naar beneden. Als u de opdracht geeft: docker-afbeeldingen, ziet u de nieuw getrokken afbeelding in de lijst.

    De NGINX-afbeelding verschijnt nu in onze Docker-afbeeldingslijst

De NGINX-container implementeren

Nu u een image hebt waarmee u de container kunt baseren, implementeert u de gecontaineriseerde instantie van NGINX op uw netwerk. Met NGINX als container kunt u bepalen op welke poort het wordt ingezet.

  1. Implementeer NGINX op de standaardpoort 80. Om dit mogelijk te maken, ziet het commando er als volgt uit: docker run –name docker-nginx -p 80:80 nginx

    Een kleine uitleg van het bovenstaande commando:

    • havenarbeider is het eigenlijke commando
    • loop instrueert de opdracht dat wat volgt moet worden uitgevoerd met de opdracht.
    • –naam geeft de container een voor mensen leesbare naam.
    • -P instrueert Docker welke poorten zullen worden gebruikt.
    • 80:80 – De eerste 80 is de externe poort (zoals gebruikt op uw netwerk) en de tweede 80 is de interne poort (zoals gebruikt door Docker).
    • nginx is de afbeelding die voor de container moet worden gebruikt.
  2. Nadat u die container hebt geïmplementeerd, zou u een browser moeten kunnen verwijzen naar: http://SERVER_IP (waarbij Server IP het IP-adres is van de server die Docker host) en zie de NGINX-welkomstpagina.

    Het welkomstscherm van NGINX laat zien dat onze container met succes is geïmplementeerd

  3. U zult ook merken dat u uw opdrachtprompt niet terugkrijgt. Waarom? U hebt de opdracht uitgevoerd in de gekoppelde modus. Als je de raakt Ctrl+C toetscombinatie, wordt de container gedood en heb je de prompt terug.

  4. Als u de container actief wilt houden en uw prompt terug wilt krijgen, moet u de container in de ontkoppelde modus implementeren, zoals: docker run –name docker-nginx -p 80:80 -d nginx

    Docker kan geen dubbele container met dezelfde naam implementeren

  5. Aangezien u de eerste container echter al hebt geïmplementeerd, ziet u een fout. Om dit te voorkomen, moet u de eerste container stoppen met de havenarbeider stoppen opdracht. Om dit te doen, moet u de containernaam noteren (deze wordt afgedrukt in de fout), wat een lange reeks willekeurige tekens is. Om deze opdracht uit te voeren, hoeft u alleen de eerste vier tekens van de container te gebruiken, zoals: docker stop f149

  6. Vervolgens verwijder je de container met het commando: docker rm f149

    De originele container is nu gestopt en verwijderd. U kunt de NGINX-container vervolgens opnieuw implementeren in de ontkoppelde modus.