Docker-veiledning for nybegynnere
I vår Docker-veiledning gir vi deg en innføring i virtualiseringsplattformen Docker og viser deg hvordan du bruker Docker på Ubuntu 22.04-systemet ditt ved hjelp av enkle instruksjoner.
Dockers oppbygning og funksjoner
«Bygg, distribuer og kjør hvilken som helst app, hvor som helst» – dette er Dockers motto. Den åpne kildekode-baserte containerplattformen tilbyr et fleksibelt og ressursbesparende alternativ for emulering av maskinvarekomponenter basert på virtuelle maskiner (VM-er).
Mens tradisjonell maskinvarevirtualisering går ut på å kjøre flere gjestesystemer på et felles vertsystem, kjøres Docker-applikasjoner som isolerte prosesser på samme system ved hjelp av containere. Dette kalles containerbasert virtualisering, også kjent som virtualisering på operativsystemnivå.

En stor fordel med containerbasert virtualisering er at applikasjoner med ulike krav kan kjøres isolert fra hverandre uten at det kreves ekstra ressurser i form av et eget gjestesystem. I tillegg kan applikasjoner med containere distribueres på tvers av plattformer og i ulike infrastrukturer uten at de må tilpasses vertsystemets maskinvare- eller programvarekonfigurasjoner.
Docker er det mest populære programvareprosjektet som gir brukerne tilgang til containerbasert virtualiseringsteknologi. Denne åpen kildekode-plattformen bygger på tre grunnleggende komponenter. For å kunne kjøre containere trenger brukerne kun Docker-motoren samt spesielle Docker-bilder, som kan hentes fra Docker Hub eller lages selv.
Docker-bilder
I likhet med virtuelle maskiner er Docker-containere basert på Docker-bilder. Et bilde er en skrivebeskyttet mal som inneholder alle instruksjonene Docker-motoren trenger for å opprette en container. Et Docker-bilde beskrives som et portabelt bilde av en container i form av en tekstfil, også kalt en Dockerfile. Hvis en container skal startes på et system, lastes først en pakke med det aktuelle bildet inn, forutsatt at den ikke finnes lokalt. Det lastede bildet gir det nødvendige filsystemet, inkludert alle parametere for kjøretiden. En container kan betraktes som en kjørende prosess av et bilde.
Docker Hub
Docker Hub er et skybasert register for programvarearkiver, en slags bibliotek for Docker-bilder. Nettjenesten er delt inn i en offentlig og en privat del. Den offentlige delen gir brukerne muligheten til å laste opp egne bilder og dele dem med fellesskapet. Her finnes det en rekke offisielle bilder fra Docker-utviklerteamet og etablerte åpen kildekode-prosjekter. Bilder som lastes opp til den private delen av registeret er ikke offentlig tilgjengelige og kan derfor deles, for eksempel innenfor et selskaps interne krets eller med venner eller bekjente. Docker Hub er tilgjengelig på hub.docker.com.
Docker-motoren
Kjernen i Docker-prosjektet er Docker-motoren. Dette er et åpen kildekode-program med klient-server-arkitektur, som i sin nåværende versjon er tilgjengelig for alle brukere på alle etablerte plattformer.
Docker-motorens grunnleggende arkitektur består av tre komponenter: En daemon med serverfunksjoner, et programmeringsgrensesnitt (API) basert på REST-paradigmet (Representational State Transfer) og operativsystemets terminal (kommandolinjegrensesnitt, CLI) som brukergrensesnitt (klient).
- Docker-daemon: Som server for Docker-motoren benyttes en daemon-prosess. Docker-daemonen kjører i bakgrunnen på vertsystemet og brukes til sentral styring av Docker-motoren. Denne funksjonen oppretter og administrerer alle bilder, containere og nettverk.
- REST-API: REST-API spesifiserer et sett med grensesnitt som gjør det mulig for andre programmer å kommunisere med Docker-daemonen og gi den instruksjoner. Et av disse programmene er operativsystemets terminal.
- Terminal: Som klientprogram bruker Docker operativsystemets terminal. Dette, integrert med Docker-daemonen via REST-API, gjør det mulig for brukere å styre den gjennom skript eller brukerinngang.
I 2017 ble Docker-motoren omdøpt til Docker Community Edition (forkortet til Docker CE), men den offisielle dokumentasjonen og Docker-repositoriene bruker for det meste fortsatt det gamle navnet. I tillegg til Docker CE finnes det også Docker Enterprise Edition (Docker EE), som har noen premiumfunksjoner. Den er imidlertid ikke gratis og passer bedre for bedrifter.
Med Docker-kommandoer kan brukerens programvarekontainere startes, stoppes og administreres direkte fra terminalen. Daemonen adresseres via kommandoen docker og instruksjoner som build, pull eller run. Klient og server kan befinne seg på samme system. Brukere har også muligheten til å få tilgang til en Docker-daemon på et annet system. Avhengig av hvilken type tilkobling som opprettes, foregår kommunikasjonen mellom klienten og serveren via REST-API, via UNIX-sockets eller via et nettverksgrensesnitt.
Følgende figur illustrerer samspillet mellom de enkelte Docker-komponentene ved hjelp av eksempelkommandoene docker build, docker pull og docker run:

Kommandoen docker build gir Docker-demonen beskjed om å opprette et bilde (stiplet linje). For dette må en tilhørende Dockerfile være tilgjengelig. Hvis bildet ikke skal opprettes, men i stedet lastes inn fra et arkiv i Docker Hub, brukes kommandoen docker pull (strekket linje). Hvis Docker-daemonen får beskjed via docker run om å starte en container, sjekker bakgrunnsprogrammet om det tilhørende containerbildet er tilgjengelig lokalt. Hvis det er det, kjøres containeren (hel linje). Hvis daemonen ikke finner bildet, starter den automatisk en henting fra repositoriet.
Arbeide med Docker
Nå er det på tide å bli kjent med applikasjoner for containerplattformer. Hvis du ennå ikke har installert Docker-motoren, kan du gjøre det via Linux-terminalen. Du finner instruksjoner om hvordan du gjør dette i artikkelen vår med tittelen«Installer Docker på Ubuntu 22.04». Les videre for å lære hvordan du styrer Docker-motoren fra terminalen, hva Docker Hub kan tilby deg, og hvorfor Docker-containere kan revolusjonere måten du jobber med applikasjoner på.
Slik styrer du Docker-motoren
Siden versjon 16.04 har Ubuntu brukt bakgrunnsprogrammet systemd(forkortelse for «system daemon») til å administrere prosesser.Systemd eren init-prosess som også brukes i andre Linux-distribusjoner som RHEL, CentOS eller Fedora. Vanligvistildeles systemdprosess-ID 1. Som systemets første prosess har denne daemonen ansvaret for å starte, overvåke og avslutte alle påfølgende prosesser. I tidligere Ubuntu-versjoner (14.10 og eldre) var detbakgrunnsprogrammet upstart som hadde denne funksjonen.
Docker-demonen kan også styres via systemd. I standardinstallasjonen er containerplattformen konfigurert slik at demonen starter automatisk når systemet startes opp. Denne standardinnstillingen kan tilpasses via kommandolinjeverktøyet systemctl.
Med systemctl sender du kommandoer til systemd for å styre en prosess eller be om statusopplysninger. Syntaksen for en slik kommando er som følger:
systemctl [OPTION] [COMMAND]bashNoen kommandoer refererer til bestemte ressurser (for eksempel Docker). I systemd-terminologien kalles disse for enheter. I dette tilfellet består kommandoen av den aktuelle instruksjonen og navnet på enheten som skal adresseres.
Hvis du ønsker å aktivere (enable) eller deaktivere (disable) automatisk oppstart av Docker-demonen, bruker du kommandolinjeverktøyet systemctl med følgende kommandoer:
sudo systemctl enable docker
sudo systemctl disable dockerbashKommandolinjeverktøyet systemctl lar deg sjekke statusen til en enhet:
sudo systemctl status dockerbashHvis Docker-motoren på Ubuntu-systemet ditt er aktiv, bør utdataene i terminalen se ut som på skjermbildet nedenfor:

Hvis Docker-motoren din for øyeblikket er deaktivert, vil du få statusmeldingen «inaktiv (død)». I så fall må du starte Docker-demonen manuelt for å kunne kjøre containere.

Hvis du ønsker å starte, stoppe eller starte Docker-motoren manuelt, kan du bruke systemd med en av følgende kommandoer.
For å starte den deaktiverte demonen, bruk systemctl sammen med kommandoen start:
sudo systemctl start dockerbashHvis Docker-demonen skal avsluttes, bruk i stedet kommandoen stop:
sudo systemctl stop dockerbashDet blir bedt om å starte motoren på nytt med kommandoen restart:
sudo systemctl restart dockerbashSlik bruker du Docker Hub
Hvis Docker-motoren utgjør hjertet i containerplattformen, er Docker Hub sjelen i dette åpen kildekode-prosjektet. Det er her fellesskapet samles. I det skybaserte registeret kan brukerne finne alt de trenger for å gi liv til sin Docker-installasjon.
Nettjenesten tilbyr en rekke offisielle arkiver med over 100 000 gratisapper. Brukerne har muligheten til å opprette et bildearkiv og dele det med arbeidsgrupper. I tillegg til den profesjonelle støtten fra utviklingsteamet, kan nybegynnere her finne kontaktflater til brukerfellesskapet. Det finnes et forum for brukerstøtte på GitHub.

Registrering i Docker Hub
Det er gratis å registrere seg på Docker Hub. Brukere trenger bare en e-postadresse og den valgte Docker-ID-en. Denne fungerer senere som et personlig navnerom for repositorier og gir brukerne tilgang til alle Docker-tjenester. For øyeblikket inkluderer dette tilbudet Docker Cloud, Docker Store og utvalgte betaprogrammer i tillegg til Docker Hub. Det gjør det også mulig å bruke Docker-ID-en som pålogging for Docker Support Center, samt Docker Success Portal og Docker Forum.
Registreringsprosessen består av fem trinn:
- Velg din Docker-ID: Som første trinn i registreringen må du velge et brukernavn som senere vil bli brukt som din personlige Docker-ID.
- Skriv inn en e-postadresse: Skriv inn din nåværende e-postadresse. Merk at du må bekrefte registreringen din hos Docker Hub via e-post.
- Velg et passord: Velg et hemmelig passord.
- Send inn registreringen: Klikk på «Registrer deg» for å sende inn registreringen. Når dataene er fullstendig overført, vil Docker sende en lenke til den angitte innboksen din, slik at du kan bekrefte e-postadressen din.
- Bekreft e-postadressen din: Bekreft e-postadressen din ved å klikke på bekreftelseslenken.
Nettjenestene til Docker-prosjektet er tilgjengelige umiddelbart etter at du har registrert deg i nettleseren. Her kan du opprette repositorier og arbeidsgrupper, eller søke etter offentlige ressurser på Docker Hub ved hjelp av «Explore».

Du kan også logge inn direkte i operativsystemets terminal ved å bruke kommandoen docker login. En detaljert beskrivelse av kommandoen finner du i Docker-dokumentasjonen.
I prinsippet er Docker Hub også tilgjengelig for de som ikke har en konto eller en Docker-ID. I dette tilfellet kan man imidlertid bare laste ned bilder fra offentlige arkiver. Det er ikke mulig å laste opp (push) egne bilder uten en Docker-ID.
Opprett repositorier i Docker Hub
Den gratis Docker Hub-kontoen inneholder ett privat arkiv og gir deg muligheten til å opprette et ubegrenset antall offentlige arkiver. Hvis du trenger flere private arkiver, kan du få tilgang til disse ved å oppgradere til en betalt versjon.
Gjør følgende for å opprette et arkiv:
- Velg et navnerom: Nylig opprettede repositorier blir automatisk tilordnet navnerommet til din Docker-ID. Du har også muligheten til å oppgi ID-en til en organisasjon du tilhører.
- Gi repositoriet et navn: Skriv inn et navn for det nyopprettede repositoriet.
- Legg til en beskrivelse: Legg til en kort beskrivelse av repositoriet ditt.
- Angi synlighet: Bestem om repositoriet skal være offentlig synlig (offentlig) eller bare tilgjengelig for deg eller organisasjonen din (privat).
Bekreft opplysningene dine ved å klikke på «Opprett».

Opprett team og organisasjoner
Med Docker Hub tilbyr Docker en skybasert plattform der brukerdefinerte bilder administreres sentralt og enkelt kan deles med arbeidsgrupper. I Docker-terminologien kalles disse «organisasjoner». Akkurat som brukerkontoer tildeles organisasjoner unike ID-er som brukes til å dele og laste ned bilder. Rettigheter og roller innenfor en organisasjon kan tildeles via team. For eksempel har brukere som er tilordnet teamet «Eiere» rett til å opprette private eller offentlige repositorier og tildele tilgangsrettigheter.
Arbeidsgrupper kan også opprettes og administreres direkte via dashbordet. Du finner mer informasjon om organisasjoner og team i Docker-dokumentasjonen.
Arbeid med bilder og beholdere
Som det første kontaktpunktet for offisielle Docker-ressurser er Docker Hub utgangspunktet vårt for denne introduksjonen til håndtering av bilder og containere. Utviklerteamet har laget demobildet «whalesay», som vil danne grunnlaget for den følgende Docker-veiledningen.
Last ned Docker-bilder
Du finner «whalesay »-bildet ved å gå til Docker Hub-nettstedet og skrive inn «whalesay» i søkefeltet ved siden av Docker-logoen.

I søkeresultatene klikker du på ressursen med tittelen docker/whalesay for å få tilgang til det offentlige arkivet for dette bildet.
Docker-arkiver er alltid bygget opp etter samme mønster. Øverst på siden finner brukerne navnet på bildet, arkivets kategori og tidspunktet for den siste opplastingen (siste push).

Hvert Docker-repositorium inneholder også følgende informasjonsbokser:
- Beskrivelse: Detaljert beskrivelse, som vanligvis inneholder bruksanvisning
- Docker pull-kommando: Kommandolinjedirektiv som brukes til å laste ned bildet fra arkivet (
pull) - Eier: Informasjon om opphavsmannen til depotet
- Kommentarer: Kommentarfeltet nederst på siden
Informasjonsfeltene i arkivet viser at whalesay er en videreutvikling av det åpne kildekode-Perl-skriptet cowsay. Programmet, som ble utviklet av Tony Monroe i 1999, genererer en ASCII-grafikk i form av en ku, som vises sammen med en melding på brukerens terminal.
For å laste ned docker/whalesay, bruk kommandoen docker pull:
docker pull [OPTIONS] NAME [:TAG|@DIGEST]bashKommandoen docker pull gir demonen beskjed om å laste inn et bilde fra arkivet. Du angir hvilket bilde det dreier seg om ved å skrive inn bildets navn (NAME). Du kan også gi Docker instruksjoner om hvordan den ønskede kommandoen skal utføres (OPTIONS). Valgfrie opplysninger inkluderer tagger (:TAG) og individuelle identifikasjonsnumre (@DIGEST), som gjør det mulig å laste ned en bestemt versjon av et bilde.
En lokal kopi av docker/whalesay-bildet hentes med følgende kommando:
docker pull docker/whalesaybashVanligvis kan du hoppe over dette trinnet. Hvis du ønsker å starte en container, laster Docker-demonen automatisk ned bildene fra arkivet som den ikke finner på det lokale systemet.
Start Docker-bilder som containere
For å starte et Docker-bilde, bruk kommandoen docker run:
docker run [OPTIONS] IMAGE [:TAG|@DIGEST] [CMD] [ARG...]bashDen eneste obligatoriske delen av docker run er navnet på det ønskede Docker-bildet. Men når du starter en container, har du også muligheten til å angi ekstra alternativer, TAG-er og DIGEST-er. I tillegg kan docker run kombineres med andre kommandoer som kjøres så snart containeren starter. I dette tilfellet overskrives CMD (COMMAND, definert av bildeskaperen og utført automatisk når containeren startes). Andre valgfrie konfigurasjoner kan defineres gjennom tilleggsargumenter (ARG…). Dette gjør det for eksempel mulig å legge til brukere eller overføre miljøvariabler.
Bruk kommandolinjedirektivet
docker run docker/whalesay cowsay boobashfor å laste ned det eksisterende Perl-skriptet som et bilde og kjøre det i en container. Du vil se at whalesay skiller seg betydelig fra kildeskriptet.

Hvis bildet docker/whalesay kjøres, viser skriptet en ASCII-grafikk i form av en hval samt tekstmeldingen «boo», som sendes med kommandoen cowsay i terminalen.
Akkurat som ved testkjøringen, søker daemonen først etter det ønskede bildet i den lokale filkatalogen. Siden det ikke finnes noen pakke med samme navn, startes en henting fra Docker-depotet. Deretter starter daemonen det modifiserte cowsay-programmet. Hvis dette har kjørt ferdig, avsluttes containeren automatisk.
I likhet med cowsay gir også Dockers whalesay muligheten til å gripe inn i programforløpet for å påvirke tekstutdataene i terminalen. Test denne funksjonen ved å erstatte «boo» i utdatakommandoen med en hvilken som helst streng eller med en dårlig hvalvits, for eksempel.
sudo docker run docker/whalesay cowsay What did the shark say to the whale? What are you blubbering about?bash
Vis alle Docker-bilder på det lokale systemet
Hvis du ikke er sikker på om du allerede har lastet ned et bestemt bilde, kan du få en oversikt over alle bildene på din lokale datamaskin. Bruk følgende kommandolinjekommando:
sudo docker imagebashKommandoen docker images (alternativ docker image ls) viser alle lokale bilder, inkludert filstørrelse, tag og bilde-ID.

Når du starter en container, lastes det underliggende bildet ned som en kopi fra arkivet og lagres permanent på datamaskinen din. Dette sparer deg tid hvis du ønsker å hente frem bildet senere. En ny nedlasting startes bare hvis bildekilden endres, for eksempel hvis en nyere versjon er tilgjengelig i arkivet.
Vis alle beholdere på det lokale systemet
Hvis du vil få en oversikt over alle containere som kjører på systemet ditt eller som har kjørt tidligere, bruker du kommandolinjeparameteren docker ps sammen med alternativet --all (forkortet: -a):
sudo docker ps -abash
Terminalutdataene inneholder opplysninger som den aktuelle container-ID-en, det underliggende bildet, kommandoen som ble kjørt da containeren ble startet, tidspunktet da containeren ble startet og statusen.
Hvis du bare vil vise beholderne som for øyeblikket kjører på systemet ditt, bruker du kommandolinjedirektivet docker ps uten andre alternativer:
sudo docker psbashFor øyeblikket bør det imidlertid ikke være noen aktive containere på systemet ditt.
Opprett Docker-bilder
Som du sikkert vet, har vår Docker-veiledning vist deg hvordan du finner bilder i Docker Hub, laster dem ned og kjører dem på ethvert system der Docker-motoren er installert. Men med Docker får du ikke bare tilgang til det omfattende utvalget av apper som finnes i registret. Plattformen tilbyr også en rekke muligheter for å lage dine egne bilder og dele dem med andre utviklere.
I de innledende kapitlene i denne Docker-veiledningen har du allerede lært at hvert Docker-bilde er basert på en Dockerfile. Du kan tenke på Dockerfiles som en slags byggemal for bilder. Dette er enkle tekstfiler som inneholder alle instruksjonene Docker trenger for å opprette et bilde. I de følgende trinnene skal du lære hvordan du skriver en slik Dockerfile og gir Docker beskjed om å bruke denne som grunnlag for ditt eget bilde.
- Opprett ny mappe: Docker-utviklerteamet anbefaler å opprette en ny mappe for hver Dockerfile. Under Linux er det enkelt å opprette mapper i terminalen. Bruk følgende kommandolinje for å opprette en mappe med navnet mydockerbuild:
mkdir mydockerbuildbash
- Naviger i den nye katalogen: Bruk kommandoen
cdfor å navigere i den nyopprettede arbeidskatalogen.
cd mydockerbuildbash
- Opprett ny tekstfil: Du kan også enkelt opprette tekstfiler via terminalen i Ubuntu. Bruk et tekstredigeringsprogram som Nano eller Vim til dette. Opprett en tekstfil med navnet Dockerfile i katalogen mydockerbuild.
nano Dockerfilebash
- Skriv Dockerfile: Den nyopprettede tekstfilen fungerer som en byggeplan for det bildet du skal utvikle selv. I stedet for å programmere bildet helt fra bunnen av, skal vi i denne Docker-veiledningen bruke demobildet docker/whalesay som mal. Dette integreres ved hjelp av kommandoen FROM i Dockerfile-filen din. Bruk taggen :latest for å henvise til den nyeste versjonen av bildet.
FROM docker/whalesay:latestSå langt fungerer docker/whalesay ved at du selv legger inn ordene. I terminalen vises den eksakte teksten du har skrevet inn sammen med kommandoen for å starte containeren. Men det ville vært mer interessant om skriptet automatisk genererte ny tekst. Dette kan for eksempel gjøres ved å bruke programmet «fortunes», som finnes på alle Linux-systemer. Den grunnleggende funksjonen til fortunes er å generere ordtak fra lykkekaker og humoristiske aforismer. Bruk følgende kommando for å oppdatere din nåværende lokale pakkeindeks og installere fortunes:
RUN apt-get -y update && apt-get install -y fortunesDefiner deretter en CMD-setning. Denne utføres etter RUN-kommandoen, med mindre den er overskrevet av call (docker run image CMD). Bruk følgende kommando for å kjøre programmet fortunes med alternativet -a («Velg fra alle databaser») og vise utdataene via programmet cowsay i terminalen:
CMD /usr/games/fortune -a | cowsayDockerfilen din bør se slik ut:
FROM docker/whalesay:latest
RUN apt-get -y update && apt-get install -y fortunes
CMD /usr/games/fortune -a | cowsayMerk: Kommandoer i en Dockerfile skrives alltid med enkelt linjeavstand og begynner alltid med et nøkkelord. Syntaksen er ikke skiftesensitiv, så det spiller ingen rolle om du skriver med store eller små bokstaver. Det er imidlertid fastsatt en ensartet bruk av store bokstaver for nøkkelordene.

- Lagre tekstfil: Lagre oppføringen din. Hvis du bruker Nano-redigeringsprogrammet, lagrer du med tastkombinasjonen [CTRL] + [O] og bekrefter med [ENTER]. Nano viser en melding om at tre linjer er skrevet til den valgte filen. Lukk tekstredigeringsprogrammet med tastkombinasjonen [CTRL] + [X].
- Opprett bilde som Dockerfile: For å opprette et bilde fra en Dockerfile, naviger først til katalogen der tekstfilen ligger. Start opprettelsen av bildet med kommandolinjedirektivet
docker build. Hvis du vil gi bildet et individuelt navn eller en tag, bruk alternativet-tetterfulgt av ønsket kombinasjon av etikett og tag. Standardformatet ername:tag.
I dette eksemplet skal det opprettes et bilde med navnet docker-whale:
docker build -t docker-whale .bashDen siste delen angir at den underliggende Dockerfilen finnes i den valgte katalogen. Du har også muligheten til å angi en filbane eller en URL for kildefilene.
Byggprosessen starter så snart kommandoen bekreftes med [ENTER]. Først sjekker Docker-demonen om den har alle filene den trenger for å opprette bildet. I Docker-terminologi kalles dette «kontekst».
Da finnes Docker-bildet «whalesay » med taggen :latest her:
Hvis den nødvendige konteksten for å opprette bildet allerede finnes i sin helhet, starter Docker-demonen bildet som er angitt via FROM i en midlertidig container og går videre til neste kommando i Dockerfile. I dette eksemplet er dette RUN-kommando en, som fører til at programmet fortunes blir installert.
Ved slutten av hvert trinn i prosessen med å lage et bilde tildeler Docker deg en ID for det tilhørende laget som opprettes i det aktuelle trinnet. Dette betyr at hver linje i den underliggende Dockerfilen tilsvarer et lag i bildet som bygges på grunnlag av den.
Når RUN-kommandoen er fullført, stopper Docker-demonen containeren som ble opprettet for den, sletter den og starter en ny midlertidig container for laget i CMD-uttrykket. Ved slutten av opprettelsesprosessen avsluttes også denne midlertidige containeren og slettes. Docker gir deg ID-en til det nye bildet:
Successfully built a8f2048c9ab8
Det nyopprettede bildet ditt finner du under navnet docker-whale i oversikten over bildene du har lagret lokalt.
sudo docker imagesbash
For å starte en container fra det nyopprettede bildet, bruker du kommandolinjen sudo docker run sammen med navnet på bildet:
sudo docker run docker-whalebashHvis bildet ble opprettet riktig fra Dockerfile, bør hvalen din nå inspirere deg med mer eller mindre kloke ord. Merk: Hver gang du starter containeren på nytt, genereres det en ny setning.

Merk Docker-bilder og last dem opp til Docker Hub
Hvis du vil laste opp ditt eget «docker-whale »-bilde til hubben og gjøre det tilgjengelig for enten fellesskapet eller en arbeidsgruppe, må du først knytte det til et arkiv med samme navn i ditt eget personlige navnerom. I Docker-terminologien kalles dette trinnet «tagging».
Gjør følgende for å publisere et bilde på Docker Hub:
- Opprett et arkiv: Logg inn på Docker Hub med Docker-ID-en din og ditt personlige passord, og opprett et offentlig arkiv med navnet docker-whale.

- Finn bilde-ID-en: Finn ID-en til det tilpassede bildet «docker-whale» ved hjelp av kommandolinjeparameteren
docker images.

I vårt tilfelle er bilde-ID-en a8f2048c9ab8. Vi trenger denne til merking i neste trinn.
- Merk bildet: Merk «docker-whale »-bildet ved hjelp av kommandolinjeprogrammet
docker tagi henhold til følgende:
sudo docker tag [Image-ID][Docker-ID]/[Image-Name]:[TAG]bashI dette eksemplet lyder kommandolinjedirektivet for tagging slik:
sudo docker tag a8f2048c9ab8 [Namespace]/docker-whale:latestbashDu kan sjekke om du har merket bildet riktig ved å bruke oversikten docker images. Navnet på repositoriet skal nå inneholde Docker-ID-en din.

- Last opp bildet: For å laste opp bildet må du først logge inn på Docker Hub. Dette gjøres ved hjelp av kommandoen
docker login.
sudo docker loginbashTerminalen ber deg deretter om å oppgi brukernavn (Docker-ID) og passord.

Hvis påloggingen lyktes, bruker du kommandolinjeparameteren docker push for å laste opp bildet ditt til det nyopprettede arkivet.
sudo docker push [Namespace]/docker-whalebashOpplastingsprosessen bør bare ta noen sekunder. Den aktuelle statusen vises i terminalen.

Logg inn på Docker Hub via nettleseren for å se det opplastede bildet.
![Docker hub: The repository [Namespace]/docker-whale in the detailed view Image: Docker hub: The repository [Namespace]/docker-whale in the detailed view](https://www.ionos.com/nb-no/digitalguide/fileadmin/_processed_/5/e/csm_docker-hub-push-result_56530d8ebc.webp)
Hvis du vil laste opp flere bilder per arkiv, kan du bruke forskjellige tagger for å tilby bildene i ulike versjoner. For eksempel:
[Namespace]/docker-whale:latest
[Namespace]/docker-whale:version1
[Namespace]/docker-whale:version2En oversikt over de ulike bildeversjonene finner du i Docker Hub-arkivet under fanen «Tags».

Bilder fra ulike prosjekter bør imidlertid legges ut i egne arkiver.
Hvis opplastingen lyktes, vil det tilpassede bildet ditt nå være tilgjengelig i det offentlige arkivet for alle Docker-brukere over hele verden.
- Test: Sjekk om opplastingen har lyktes ved å prøve å laste ned bildet.
Merk at den lokale versjonen av bildet må slettes først for å kunne laste ned en ny kopi med samme tag. Ellers vil Docker melde at det ønskede bildet allerede finnes i den nåværende versjonen.

For å slette det lokale Docker-bildet, bruk kommandolinjedirektivet docker rmi sammen med den tilhørende bilde-ID-en. Denne finner du som vanlig via docker images. Hvis Docker melder om en konflikt, for eksempel fordi en bilde-ID brukes i flere repositorier eller i en container, må du gjenta kommandoen med alternativet --force (forkortet*-f* ) for å tvinge gjennom slettingen.
sudo docker rmi -f a8f2048c9ab8bash
Vis oversikten over alle lokale bilder på nytt:
sudo docker ImagesbashDe slettede elementene skal ikke lenger vises i terminalutdataene. Bruk nå «pull»-kommandoen som er angitt i repositoriet for å laste ned en ny kopi av bildet fra Docker Hub.
sudo docker pull [Namespace]/docker-whalebash
Flere Docker-emner og veiledninger
Docker-universet er stort, og over tid har det utviklet seg et levende økosystem rundt Docker-verktøyene. Docker er spesielt nyttig for administratorer, særlig hvis de driver komplekse applikasjoner med flere containere parallelt på ulike systemer. Docker tilbyr en rekke funksjoner for orkestrering av slike klynger. Du finner mer informasjon om dette i vår artikkel om Docker-orkestrering med Swarm og Compose.
Den digitale veiledningen inneholder flere opplæringsvideoer om hvordan du bruker Docker:
- Opprette et Docker-repositorium
- Docker-containervolum
- Docker: Sikkerhetskopiering og gjenoppretting
- Installere og kjøre Docker på en Linux-server
- Veiledning i Docker Compose
Docker egner seg for ulike bruksområder. Du finner følgende veiledninger i den digitale veiledningen:
- Implementering av WordPress i Docker-containere
- Kjør et VPN i en Docker-container ved hjelp av SoftEther
- Nextcloud-installasjon med Docker
- Installer Portainer under Docker
- Redis i Docker-containere
- Valheim Docker-server
Docker er ikke alltid det beste valget for alle applikasjoner. I en av artiklene våre tar vi for oss de mest populære alternativene til Docker. I tillegg har vi mange artikler som sammenligner Docker med andre plattformer:
- Kubernetes vs. Docker
- Openshift vs. Docker
- Podman vs. Docker