Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Deze zelfstudie is het begin van een vierdelige reeks waarin Docker- wordt gebruikt voor gebruik met Visual Studio Code (VS Code). U leert hoe u Docker-containers maakt en uitvoert, gegevenspersistent maakt en uitvoert en meerdere containers beheert met Docker Compose.
VS Code biedt een Container Tools-extensie waarmee u met een lokale Docker Desktop-service kunt werken. Docker Desktop wordt uitgevoerd op uw computer en beheert uw lokale containers, die compacte gevirtualiseerde omgevingen zijn die een platform bieden voor het bouwen en uitvoeren van apps. Voor containers is de grootte en overhead van een volledig besturingssysteem niet vereist.
In deze eerste zelfstudie leert u het volgende:
- Maak een Docker-container.
- Bouw een containerimage.
- Start een app-container.
Voorwaarden
- Visual Studio Code geïnstalleerd.
- Container Tools VS Code Extension geïnstalleerd.
- Docker Desktop- geconfigureerd voor het gebruik van Linux-containers.
- Een Docker Hub-account. U kunt gratis een account maken.
De zelfstudie werkt met Windows 10 of hoger en Docker Desktop geconfigureerd voor het gebruik van Linux-containers.
Een container maken
Een container is een proces op uw computer. Het is geïsoleerd van alle andere processen op de hostcomputer. Deze isolatie maakt gebruik van kernelnaamruimten en besturingsgroepen.
Een container maakt gebruik van een geïsoleerd bestandssysteem. Dit aangepaste bestandssysteem wordt geleverd door een containerbeeld. De image bevat alles wat nodig is om een toepassing uit te voeren, zoals alle afhankelijkheden, configuratie, scripts en binaire bestanden. De installatiekopieën bevatten ook andere configuraties voor de container, zoals omgevingsvariabelen, een standaardopdracht die moet worden uitgevoerd en andere metagegevens.
Nadat u de Container Tools-extensie voor VS Code hebt geïnstalleerd, kunt u werken met containers in VS Code. Naast contextmenu's in Container Explorer kunt u Terminal>New Terminal selecteren om een opdrachtregelvenster te openen. U kunt ook opdrachten uitvoeren in een Bash-venster. Tenzij opgegeven, kan elke opdracht die is gelabeld als Bash worden uitgevoerd in een Bash-venster of in de VS Code-terminal.
Stel Docker in op de Linux-containermodus. Als u wilt overschakelen naar Linux-containers als u momenteel bent ingesteld op Windows-containers, klikt u met de rechtermuisknop op het Docker-pictogram in het systeemvak terwijl Docker Desktop wordt uitgevoerd en kiest u Overschakelen naar Linux-containers.
Selecteer in VS Code Terminal>Nieuw Terminalvenster.
Voer deze opdracht uit in het terminalvenster of een Bash-venster.
docker run -d -p 80:80 docker/getting-started
Deze opdracht bevat de volgende parameters:
-
-d
De container uitvoeren in de losgekoppelde modus, op de achtergrond. -
-p 80:80
poort 80 van de host toewijzen aan poort 80 in de container. -
docker/getting-started
Hiermee specifieert u de te gebruiken afbeelding.
Fooi
U kunt vlaggen met één teken combineren om de volledige opdracht te verkorten. Als voorbeeld kan de bovenstaande opdracht worden geschreven als:
docker run -dp 80:80 docker/getting-started
-
Selecteer in VS Code het pictogram Containers aan de linkerkant om containerverkenner weer te geven.
In de VS Code-extensie containerhulpprogramma's ziet u de containers die op uw computer worden uitgevoerd. U kunt toegang krijgen tot containerlogboeken en de levenscyclus van containers beheren, zoals stoppen en verwijderen.
De containernaam, modest_shockley in dit voorbeeld, wordt willekeurig gemaakt. De jouwe heeft een andere naam.
Klik met de rechtermuisknop op docker/getting-started om een contextmenu te openen. Selecteer Openen in de browser.
Open in plaats daarvan een browser en voer
http://localhost/tutorial/
in.U ziet een pagina, lokaal gehost, over DockerLabs.
Klik met de rechtermuisknop op docker/getting-started om een contextmenu te openen. Selecteer Verwijderen om deze container te verwijderen.
Als u een container wilt verwijderen met behulp van de opdrachtregel, voert u deze opdracht uit om de container-id op te halen:
docker ps
Stop de container en verwijder deze:
docker stop <container-id> docker rm <container-id>
Vernieuw uw browser. De pagina Aan de slag die u een ogenblik geleden hebt gezien, is verdwenen.
Containerimage bouwen voor de app
In deze zelfstudie wordt een eenvoudige Todo-toepassing gebruikt.
Met de app kunt u werkitems maken en deze markeren als voltooid of verwijderen.
Als u de toepassing wilt bouwen, maakt u een Dockerfile. Een Dockerfile is een tekstgebaseerd script met instructies dat wordt gebruikt om een containerimage te creëren.
Ga naar de Docker Aan de Slag-tutorial repository en selecteer vervolgens Code>Download ZIP. Pak de inhoud uit naar een lokale map.
Selecteer in VS Code de optie Bestand>Map openen. Navigeer naar de app map in het uitgepakte project en open die map. U ziet een bestand met de naam package.json en twee mappen met de naam src en specificatie.
Maak een bestand met de naam Dockerfile in dezelfde map als het bestand package.json met de volgende inhoud.
FROM node:lts-alpine RUN apk add --no-cache python3 g++ make WORKDIR /app COPY . . RUN yarn install --production CMD ["node", "/app/src/index.js"]
Notitie
Zorg ervoor dat het bestand geen bestandsextensie heeft zoals
.txt
.Klik in de bestandsverkenner in VS Code aan de linkerkant met de rechtermuisknop op de Dockerfile- en selecteer vervolgens Build Image. Voer getting-started in als de tag voor de afbeelding in het tekstinvoerveld.
De tag is een vriendelijke naam voor de afbeelding.
Als u vanaf de opdrachtregel een container image wilt maken, gebruikt u de volgende opdracht uit map
app
die de Dockerfile bevat.docker build -t getting-started .
U hebt de Dockerfile- gebruikt om een nieuwe containerinstallatiekopieën te maken.
Misschien is het je opgevallen dat er veel 'lagen' zijn gedownload.
De Dockerfile begint met de node:lts-alpine
-imago.
Tenzij die afbeelding al op uw computer staat, moet die afbeelding worden gedownload.
Nadat de image is gedownload, kopieert de Dockerfile uw toepassing en gebruikt yarn
om de afhankelijkheden van uw toepassing te installeren.
De CMD
-waarde in het Dockerfile- specificeert het standaardcommando dat moet worden uitgevoerd bij het starten van een container vanuit deze image.
De .
aan het einde van de opdracht docker build
geeft aan dat Docker moet zoeken naar de Dockerfile- in de huidige map.
De app-container starten
Nu je een image hebt, kun je de toepassing uitvoeren.
Gebruik de volgende opdracht om uw container te starten.
docker run -dp 3000:3000 getting-started
De parameter
-d
geeft aan dat u de container uitvoert in de losgekoppelde modus, op de achtergrond. De-p
waarde maakt een verbinding tussen de hostpoort 3000 en de containerpoort 3000. Zonder de poorttoewijzing kunt u de applicatie niet bereiken.Na een paar seconden, in VS Code, in Container Explorer, onder CONTAINERS, klikt u met de rechtermuisknop op Aan de slag en selecteert u Openen in browser. U kunt in plaats daarvan uw webbrowser openen en naar
http://localhost:3000
gaan.Je zou de app moeten zien draaien.
Voeg een of twee items toe om te testen of het werkt zoals verwacht. U kunt items markeren als voltooid en items verwijderen. De front-end slaat met succes items op in de back-end.
Volgende stappen
U hebt deze handleiding voltooid en u hebt een werkende takenlijstbeheerder met enkele items. U hebt geleerd om containerafbeeldingen te maken en een gecontaineriseerde app uit te voeren.
Bewaar alles wat u tot nu toe hebt gedaan om deze reeks zelfstudies voort te zetten. Probeer vervolgens deel II van deze reeks:
Hier volgen enkele resources die nuttig kunnen zijn voor u: