


{"id":4453,"date":"2025-01-01T17:59:51","date_gmt":"2025-01-01T17:59:51","guid":{"rendered":"https:\/\/yininit.nl\/?post_type=blossom-portfolio&#038;p=4453"},"modified":"2025-01-02T00:24:58","modified_gmt":"2025-01-02T00:24:58","slug":"inrichting-stap-2-docker","status":"publish","type":"blossom-portfolio","link":"https:\/\/yininit.nl\/index.php\/portfolio\/inrichting-stap-2-docker\/","title":{"rendered":"Inrichting &#8211; Stap 2: Docker en Railway (Postgres)"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\"><strong>Stap 2: Docker installeren en testen<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>1. Installeer Docker<\/strong><\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Download Docker Desktop<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Ga naar <a>Docker Downloads<\/a> en kies de versie die past bij jouw besturingssysteem (Windows, macOS of Linux).<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Installeer Docker Desktop<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Volg de installatie-instructies. Accepteer de standaardinstellingen, tenzij je specifieke wensen hebt.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Start Docker Desktop<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Zorg dat Docker actief is door Docker Desktop op te starten. Op Windows zie je een Docker-icoon in de taakbalk.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Controleer de installatie<\/strong>: Open een terminal en voer het volgende commando uit:bashCode kopi\u00ebren<code>docker --version <\/code>Je zou een versie moeten zien, bijvoorbeeld:Code kopi\u00ebren<code>Docker version 24.0.1<\/code><\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>2. Test Docker<\/strong><\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Voer een testcontainer uit<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Gebruik het volgende commando om te testen of Docker goed werkt:bashCode kopi\u00ebren<code>docker run hello-world<\/code><\/li>\n\n\n\n<li>Als alles goed werkt, zie je een bericht dat Docker succesvol een testcontainer heeft uitgevoerd:csharpCode kopi\u00ebren<code>Hello from Docker!<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Probleemoplossing<\/strong>:\n<ul class=\"wp-block-list\">\n<li><strong>Windows<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Controleer of <strong>Virtualization<\/strong> is ingeschakeld in het BIOS\/UEFI van je laptop.<\/li>\n\n\n\n<li>Zorg dat Docker Desktop toestemming heeft om te draaien.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Andere systemen<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Controleer dat je gebruiker is toegevoegd aan de Docker-groep:bashCode kopi\u00ebren<code>sudo usermod -aG docker $USER<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>3. Configureer Docker<\/strong><\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Ruim ongebruikte containers op<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Docker kan veel schijfruimte innemen. Gebruik dit commando om ongebruikte containers en images op te schonen:bashCode kopi\u00ebren<code>docker system prune<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Verhoog resources (indien mogelijk)<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Open Docker Desktop-instellingen en verhoog het beschikbare RAM en CPU (bijvoorbeeld 2 CPU&#8217;s en 4 GB RAM). Dit is vooral handig bij het werken met grotere projecten.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>4. Maak een eenvoudige Dockerfile<\/strong><\/h4>\n\n\n\n<p>Nu Docker werkt, maken we een <strong>Dockerfile<\/strong> om te oefenen met containerisatie. Deze Dockerfile zal een simpele Python-app containeriseren.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Maak een bestand genaamd <code>Dockerfile<\/code><\/strong> in je projectmap:bashCode kopi\u00ebren<code>touch Dockerfile<\/code><\/li>\n\n\n\n<li><strong>Voeg dit toe aan de Dockerfile<\/strong>:dockerfileCode kopi\u00ebren<code># Basis Python-image gebruiken FROM python:3.10-slim # Werkomgeving instellen WORKDIR \/app # Vereisten kopi\u00ebren en installeren COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt # App-bestanden kopi\u00ebren COPY . . # Command om de applicatie te starten CMD [\"python\", \"app\/main.py\"]<\/code><\/li>\n\n\n\n<li><strong>Maak een voorbeeld <code>requirements.txt<\/code><\/strong>:bashCode kopi\u00ebren<code>echo \"fastapi uvicorn\" &gt; requirements.txt<\/code><\/li>\n\n\n\n<li><strong>Maak een voorbeeld <code>main.py<\/code><\/strong> in de map <code>app\/<\/code>:pythonCode kopi\u00ebren<code>from fastapi import FastAPI app = FastAPI() @app.get(\"\/\") def read_root(): return {\"message\": \"Hello, CKBA!\"}<\/code><\/li>\n\n\n\n<li><strong>Bouw en draai de container<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Bouw de Docker-image:bashCode kopi\u00ebren<code>docker build -t ckba-test .<\/code><\/li>\n\n\n\n<li>Draai de container:bashCode kopi\u00ebren<code>docker run -p 8000:8000 ckba-test<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Test je container<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Open een browser en ga naar <a>http:\/\/localhost:8000<\/a>.<\/li>\n\n\n\n<li>Je zou het bericht <code>{\"message\": \"Hello, CKBA!\"}<\/code> moeten zien.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Checklist voor Stap 2<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Docker Desktop ge\u00efnstalleerd en gecontroleerd met <code>docker --version<\/code>.<\/li>\n\n\n\n<li>Testcontainer uitgevoerd met <code>docker run hello-world<\/code>.<\/li>\n\n\n\n<li>Eenvoudige Python-app container gebouwd en getest.<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>Virtuele omgeving (venv)<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list has-colibri-color-2-background-color has-background\">\n<li>Zorg dat deze actief is en dat de benodigde pakketten (<code>fastapi<\/code>, <code>uvicorn<\/code>, <code>psycopg2<\/code>, en <code>python-dotenv<\/code>) ge\u00efnstalleerd zijn.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Stap 2: Docker installeren en testen 1. Installeer Docker 2. Test Docker 3. Configureer Docker 4. Maak een eenvoudige Dockerfile Nu Docker werkt, maken we een Dockerfile om te oefenen met containerisatie. Deze Dockerfile zal een simpele Python-app containeriseren. Checklist voor Stap 2 Virtuele omgeving (venv):<\/p>\n","protected":false},"author":1,"featured_media":0,"template":"","blossom_portfolio_categories":[30],"class_list":["post-4453","blossom-portfolio","type-blossom-portfolio","status-publish","hentry","blossom_portfolio_categories-ckba"],"_links":{"self":[{"href":"https:\/\/yininit.nl\/index.php\/wp-json\/wp\/v2\/blossom-portfolio\/4453","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/yininit.nl\/index.php\/wp-json\/wp\/v2\/blossom-portfolio"}],"about":[{"href":"https:\/\/yininit.nl\/index.php\/wp-json\/wp\/v2\/types\/blossom-portfolio"}],"author":[{"embeddable":true,"href":"https:\/\/yininit.nl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"wp:attachment":[{"href":"https:\/\/yininit.nl\/index.php\/wp-json\/wp\/v2\/media?parent=4453"}],"wp:term":[{"taxonomy":"blossom_portfolio_categories","embeddable":true,"href":"https:\/\/yininit.nl\/index.php\/wp-json\/wp\/v2\/blossom_portfolio_categories?post=4453"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}