Hvordan installere og bruke Docker på Ubuntu 20.04


Docker er en mest populær åpen kildekode-plattform for utviklere og systemadministratorer for å bygge, kjøre og dele applikasjoner med containere. Containerisering (bruk av containere for å distribuere applikasjoner) blir populært fordi containere er fleksible, lette, bærbare, løst koblede, skalerbare og sikrere.

Denne artikkelen er et godt utgangspunkt for nybegynnere for å lære hvordan du installerer og bruker Docker på et Ubuntu 20.04 Linux-system med noen grunnleggende kommandoer. For denne veiledningen vil vi installere Docker Community Edition (CE).

Forutsetninger:

  • En installasjon av Ubuntu 20.04-serveren.
  • En bruker med rettigheter til å kjøre sudo-kommando.

Installere Docker på Ubuntu 20.04

For å bruke den nyeste versjonen av Docker, vil vi installere den fra det offisielle Docker-lageret. Så start med å legge til GPG-nøkkelen for det offisielle Docker-depotet til systemet ditt, deretter legger du til depotkonfigurasjonen til APT-kilden med følgende kommandoer.

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"

Oppdater nå APT-pakkebufferen for å inkludere de nye Docker-pakkene til systemet ved å bruke følgende kommando.

sudo apt update

Deretter installerer du Docker-pakken som vist.

sudo apt install docker-ce

Under Docker-pakkeinstallasjonsprosessen, utløser pakkeinstallasjonsprogrammet systemd (system- og tjenestebehandling) for automatisk å starte og aktivere docker-tjenesten. Bruke følgende kommandoer for å bekrefte at docker-tjenesten er aktiv og er aktivert for å starte automatisk ved systemstart. Sjekk også statusen:

sudo systemctl is-active docker
sudo systemctl is-enabled docker
sudo systemctl status docker

Det er flere andre systemctl-kommandoer for å administrere og kontrollere docker-tjenesten som inkluderer følgende:

sudo systemctl stop docker			#stop the docker service
sudo systemctl start docker			#start the docker service
sudo systemctl  restart docker		#restart the docker service

For å sjekke versjonen av Docker CE installert på systemet ditt, kjør følgende kommando:

docker version

Du kan se tilgjengelige docker-brukskommandoer ved å kjøre docker-kommandoen uten noen alternativer eller argumenter:

 
docker

Administrer Docker som en ikke-rootbruker med sudo Command

Som standard bindes Docker-daemonen til en UNIX-socket (i stedet for en TCP-port) som eies av brukerroten. Derfor kjører Docker-daemonen alltid som root-bruker, og for å kjøre docker-kommandoen, må du bruke sudo.

Dessuten, under Docker-pakkeinstallasjonen, opprettes en gruppe kalt docker. Når Docker-daemonen starter, oppretter den en UNIX-socket som er tilgjengelig for medlemmer av docker-gruppen (som gir rettigheter tilsvarende rotbrukeren).

For å kjøre docker-kommandoen uten sudo, legg til alle ikke-rootbrukere som skal ha tilgang til docker, i docker-gruppen som følger. I dette eksemplet legger kommandoen til den påloggede brukeren ($USER) eller brukernavnet til docker-gruppen:

sudo usermod -aG docker $USER
OR
sudo usermod -aG docker username

For å aktivere endringene i grupper, kjør følgende kommando:

newgrp docker 
groups

Deretter bekrefter du at du kan kjøre docker-kommandoer uten sudo. Følgende kommando laster ned et testbilde og kjører det i en beholder. Når beholderen kjører, skriver den ut en informasjonsmelding og avsluttes. Dette er også en annen måte å krysssjekke om installasjonen din fungerer bra på.

docker run hello-world

Arbeide med Docker Images

Et Docker-bilde er en skrivebeskyttet malfil med instruksjoner for å lage en Docker-beholder. Du kan enten lage dine egendefinerte bilder, eller du kan bare bruke de som er laget av andre og publisert i Docker Hub, verdens største bibliotek og fellesskap for containerbilder.

Du kan søke etter et centos-bilde i Docker Hub med følgende kommando:

docker search centos 

For å laste ned et bilde lokalt, bruk pull-kommandoen. Dette eksemplet viser hvordan du laster ned det offisielle centos-bildet.

docker pull centos

Når nedlastingen er fullført, kan du liste de tilgjengelige bildene på ditt lokale system.

docker images

Hvis du ikke lenger trenger et bilde, kan du fjerne det fra systemet.

docker rmi centos
OR
docker rmi centos:latest    #where latest is the tag

Kjøre og administrere Docker-containere

En Docker-beholder er en prosess som kjører naturlig på Linux og deler kjernen til vertsmaskinen med andre beholdere. Når det gjelder et Docker-bilde, er en container bare et løpende bilde.

For å starte en beholder basert på ditt nye centos-bilde, kjør følgende kommando der “centos ” er det lokale bildenavnet og “cat /etc/centos-release ” er kommandoen som skal kjøres i beholderen:

docker run centos cat /etc/centos-release

En beholder kjører en diskret prosess som er isolert ved at den har sitt eget: filsystem, nettverk og isolert prosesstre atskilt fra verten. Merk at du kan manipulere en beholder ved å bruke beholderens ID, ID-prefiks eller navn som vist nedenfor. Beholderprosessen ovenfor avsluttes etter at kommandoen er kjørt.

For å liste Docker-beholdere, bruk docker ps-kommandoen som følger. Bruk -l-flagget for å vise den sist opprettede beholderen i alle stater:

docker ps
OR
docker ps -l

For å vise alle beholdere inkludert de som har gått ut, bruk -a-flagget.

docker ps -a

Du kan også starte en beholder ved å bruke dens beholder-ID etter at den er avsluttet. For eksempel, i den forrige kommandoen, er beholder-ID-en vår 94c35e616b91. Vi kan starte beholderen som vist (merk at den vil kjøre kommandoen og avslutte):

docker start 94c35e616b91

For å stoppe en kjørende container ved å bruke ID-en, bruk stopp-kommandoen som vist.

docker stop 94c35e616b91

Docker lar deg også tilordne et navn til en beholder ved å bruke --name-alternativet når du kjører den.

docker run --name my_test centos cat /etc/centos-release
docker ps -l

Nå kan du bruke beholdernavnet til å administrere (starte, stoppe, statistikk, fjerne osv.) beholderen:

docker stop my_test
docker start my_test
docker stats my_test
docker rm my_test

Kjøre en interaktiv økt inn i en Docker-beholder

For å starte en interaktiv skalløkt i en beholder slik at du kan kjøre kommandoer i beholderen, kjør følgende kommando:

docker run --name my_test -it centos

I kommandoen ovenfor forteller -it-bryterne Docker om å tildele en pseudo-TTY koblet til containerens stdin og dermed skape et interaktivt bash-skall i containeren.

Du kan avslutte ved å gi exit-kommandoen som vist.

exit

Hvis du foretrekker å ikke gå ut, kan du løsne fra en beholder og la den gå. For å gjøre det, bruk CTRL+p og deretter CTRL+q-tastsekvensen.

Du kan koble tilbake til beholderen ved å bruke attach-kommandoen som vil knytte lokale standardinndata, utdata og feilstrømmer til den kjørende beholderen:

docker attach my_test

Dessuten kan du starte en beholder i frakoblet modus ved å bruke -d-flagget. Deretter bruker du kommandoen attach for å legge ved terminalens standard input-, output- og feilstrømmer til den kjørende containeren:

docker run --name my_test -d -it centos
docker attach my_test

Sist, men ikke minst, kan du stoppe en kjørende beholder fra vertsøkten ved å kjøre følgende kommando:

docker kill my_test

Det er alt! I denne veiledningen har vi dekket hvordan du installerer og bruker Docker CE i Ubuntu 20.04 Linux. Hvis du har spørsmål, bruk tilbakemeldingsskjemaet nedenfor for å spørre oss.