Images naar registries pushen
Configureer workflows om uw gebouwde Docker-images naar containerregistries zoals Docker Hub of GitHub Container Registry te pushen.
Images naar registries pushen is een gratis DevOps-bootcamp-les op CoddyKit. Dit is les 2 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject DevOps-bootcamp. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus DevOps-bootcamp bevat in totaal 4 lessen.
Wat zijn containerregisters?
Een containerregister is een veilige onlineopslagdienst voor je Docker-images. Zie het als een cloudschijf die speciaal is ontworpen voor de pakketten van je toepassing.
- Registers slaan verschillende versies van je images op.
- Ze maken het eenvoudig om images met anderen te delen.
- Ze zijn onmisbaar voor de uitrol naar verschillende omgevingen.
Waarom registers gebruiken?
Registers zijn essentieel voor moderne softwareontwikkeling. Ze bieden verschillende belangrijke voordelen:
- Images delen: Verspreid de images van je toepassing eenvoudig.
- Versiebeheer: Sla verschillende versies van je app op en beheer ze.
- Betrouwbare uitrol: Zorg voor consistente uitrol in verschillende omgevingen.
- Beveiliging: Veel registers bieden scans op kwetsbaarheden.
Veelgebruikte registerdiensten
Er zijn veel containerregisterdiensten beschikbaar. Twee populaire die je vaak tegenkomt zijn:
- Docker Hub: Een veelgebruikt openbaar register. Ideaal voor het delen van openbare images en voor persoonlijke projecten.
- GitHub Container Registry (GHCR): Nauw geïntegreerd met GitHub-repositories. Uitstekend voor privé-images en organisaties die GitHub al gebruiken.
Andere grote cloudproviders bieden ook hun eigen registers aan, zoals AWS ECR of Google Container Registry.
Registerauthenticatie
Voordat je een image naar een register kunt pushen, moet je bewijzen wie je bent. Dit proces heet authenticatie, oftewel 'inloggen'.
Je geeft doorgaans een gebruikersnaam en een persoonlijk toegangstoken (PAT) of wachtwoord op. Deze inloggegevens zorgen ervoor dat alleen bevoegde gebruikers images uit je privérepositories kunnen pushen of pullen.
docker/login-action gebruiken
In GitHub Actions is de beste manier om bij de meeste Docker-compatibele registers te authenticeren het gebruik van de docker/login-action.
Deze actie meldt je werkstroom veilig aan bij het opgegeven register, zodat volgende stappen images kunnen pushen. De actie gebruikt username en password als invoer.
Naar Docker Hub pushen
Om een image naar Docker Hub te pushen, moet je werkstroom het volgende doen:
- Meld je aan: Gebruik
docker/login-actionmet je Docker Hub-gebruikersnaam en een persoonlijk toegangstoken (PAT) dat als GitHub Secret is opgeslagen. - Bouwen en pushen: Gebruik
docker/build-push-actionom je image te bouwen en stelpush: truein. Zorg dat je imagetag je Docker Hub-gebruikersnaam bevat, bijvoorbeeldyour_username/my-app:latest.
Voorbeeld van een Docker Hub-werkstroom
Hier zie je een voorbeeld van een GitHub Actions-werkstroom voor het bouwen en pushen van een Docker-image naar Docker Hub. Denk eraan om DOCKER_USERNAME en DOCKER_TOKEN als GitHub Secrets in je repository in te stellen.
name: Publish Docker image to Docker Hub
on:
push:
branches: [ "main" ]
jobs:
build-and-push:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_TOKEN }}
- name: Build and push Docker image
uses: docker/build-push-action@v5
with:
context: .
push: true
tags: ${{ secrets.DOCKER_USERNAME }}/my-app:latestNaar GHCR pushen
GitHub Container Registry (GHCR) biedt naadloze integratie. Belangrijkste verschillen voor GHCR:
- Authenticatie: Je kunt de ingebouwde
GITHUB_TOKENgebruiken voor authenticatie. Stelusername: ${{ github.actor }}enpassword: ${{ secrets.GITHUB_TOKEN }}in. - Machtigingen: Je taak heeft de machtiging
packages: writenodig. - Images taggen: Images krijgen tags in de vorm van
ghcr.io/<OWNER>/<REPOSITORY>:<TAG>.
Voorbeeld van een GHCR-werkstroom
Deze werkstroom laat zien hoe je een image naar GitHub Container Registry pusht. Let op het blok permissions en de indeling van de imagetag.
name: Publish Docker image to GHCR
on:
push:
branches: [ "main" ]
jobs:
build-and-push:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write # Required for GHCR
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Log in to GHCR
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push Docker image
uses: docker/build-push-action@v5
with:
context: .
push: true
tags: ghcr.io/${{ github.repository }}:latestControleer je begrip
Laten we kort herhalen wat je hebt geleerd over het pushen van images naar containerregisters.
Herhaling: push je images!
Goed gedaan! Je hebt geleerd hoe je Docker-images naar containerregisters pusht met GitHub Actions.
- Containerregisters slaan je Docker-images op en beheren ze.
- Authenticatie met inloggegevens is een cruciale eerste stap.
docker/login-actionhelpt je om je veilig aan te melden.- Je hebt voorbeelden gezien voor zowel Docker Hub als GitHub Container Registry en begrijpt nu hun specifieke vereisten voor authenticatie en tags.
Vervolgens leer je hoe je deze images naar Kubernetes implementeert!
Leer DevOps-bootcamp met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 142
- Lessen
- 568
Veelgestelde vragen
Is de les “Images naar registries pushen” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad DevOps-bootcamp, waaronder “Images naar registries pushen”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus DevOps-bootcamp bevat in totaal 4 lessen.
Wat leer ik in “Images naar registries pushen”?
Configureer workflows om uw gebouwde Docker-images naar containerregistries zoals Docker Hub of GitHub Container Registry te pushen. Je oefent met DevOps-bootcamp door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met DevOps-bootcamp te beginnen?
Ervaring vooraf is niet nodig. DevOps-bootcamp op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.
Hoe lang duurt de les “Images naar registries pushen”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over DevOps-bootcamp?
Ja. Elke les over DevOps-bootcamp bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Docker-images bouwen met Actions
- Images naar registries pushen
- Implementeren in Kubernetes met Actions
- Helm-charts en Kubernetes-manifesten in CI/CD