Containers har blivit en del av IT-landskapet. Faktum är att containeriseringen av applikationer och tjänster har gjort det möjligt för företag att bli ännu smidigare än tidigare.

Och vem vill inte ha lite mer smidighet för sitt företag?

Men vad är en container? En container är ett sätt att rulla in programvara i små, fristående paket som innehåller alla bibliotek och inställningar som krävs för att programvaran ska fungera som om den hade installerats via standardmetoden. Om du till exempel vill distribuera en NGINX-server kan du i stället för att installera servern och alla dess beroenden på antingen standardhårdvara eller virtuell maskinvara helt enkelt hämta NGINX-avbildningen och distribuera en behållare baserad på den avbildningen. På några sekunder har du NGINX-webbservern klar att arbeta med.

Du kanske tänker: ”Varför inte bara använda en virtuell maskin?”. Till skillnad från en virtuell maskin kräver en container inte ett komplett operativsystem för att den ska kunna köras. Faktum är att containrar är plattformsneutrala. Så länge du har ett system som stöder din container kan den distribueras. Ännu bättre är att containrar alltid körs på samma sätt, oavsett vilken plattform de distribueras på.

Men vad används för att distribuera containrar? Ett system är Docker. Docker är ett av de enklaste verktygen som finns för att rulla ut containeriserad programvara. Det är gratis och kan installeras på de flesta plattformar.

Vad är fördelarna med containers?

Fördelarna med att använda containers (jämfört med antingen traditionella metoder eller virtuella maskiner) är många. Här är några av dem:

  • Snabb driftsättning: Med en avbildning hämtad från Docker Hub kan du snabbt distribuera en container med ett enda kommando).
  • Skapa en, distribuera många: Skapa en, distribuera många: Du kan skapa så många behållare som du vill från en enda avbildning.
  • Mindre overhead: Du kan skapa så många behållare som du vill från en enda avbildning: Containers kräver mycket mindre systemresurser än traditionella metoder.
  • Portabilitet: Containers kräver mycket mindre systemresurser än traditionella metoder: Program som körs som behållare kan distribueras till olika operativsystem och hårdvaruplattformar.
  • Enklare programutveckling: Containers stöder agila utvecklingscykler.
  • Närmast omedelbar start: Containers kan startas nästan omedelbart, medan en virtuell maskin kan ta tid att starta upp.
  • Modularitet: Containers kan startas nästan omedelbart, medan en virtuell maskin kan ta tid att starta upp: Komplexa applikationer kan delas upp i moduler, t.ex. en databas, webbserver och front-end.

Nu när du har fått lite mer förståelse för vad containrar är och varför du bör använda dem, ska vi ta reda på hur du installerar Docker på två av de mest populära serveroperativsystemen med öppen källkod, Ubuntu Server (version 18.04) och CentOS 7.

Installation av Docker på CentOS 7

Först ska vi installera Docker CE (Community Edition) på CentOS 7. Installationen sker via kommandoraden, så logga in på din CentOS 7-server och gör dig redo att skriva.

Det första steget är att installera alla nödvändiga beroenden för Docker. För att göra detta utfärdar du följande kommando:

1
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

När det kommandot är klart, måste du lägga till docker-ce-förrådet med kommandot:

1
sudo yum-config-manager –add-repo https://download.docker.com/linux/centos/docker-ce.repo

Med förvaret på plats installerar du docker-ce med kommandot:

1
sudo yum install docker-ce

Du kommer att bli ombedd att godkänna installationen (och importen av dess GPG-nyckel – Figur A).

Figur A

När detta är klart måste du lägga till din användare i Docker-gruppen. Om du hoppar över det här steget kan du bara köra Docker-kommandon med sudo, vilket är en säkerhetsrisk. Du lägger till din användare i Docker-gruppen genom att utfärda följande kommando:

1
sudo usermod -aG docker $(whoami)

Logga ut från CentOS 7 och logga in igen för att ändringen ska börja gälla.

Slutligt måste du starta Docker-daemon och aktivera den så att den startar vid systemstart. Detta kan göras med följande två kommandon:

1
2
3

sudo systemctl enable docker
. sudo systemctl start docker

Om du utfärdar kommandot docker images (vilket är kommandot för att lista alla tillgängliga avbildningar som finns i systemet), ser du inte bara att Docker fungerar, utan att det för närvarande inte finns några tillgängliga avbildningar (Figur B).

docker_b.jpg

Docker är igång, men innehåller inga avbildningar.

Om du vill hämta NGINX-avbildningen från Docker Hub, utför kommandot:

1
docker pull nginx

Släpp kommandot för docker images igen och du ser den nyss hämtade avbildningen tillgänglig (figur C).

Figur C

NGINX-avbildningen är redo att användas för containerutplacering.

Installation av Docker på Ubuntu Server 18.04

Installation av Docker på Ubuntu Server är faktiskt ganska mycket enklare. Eftersom Docker finns i standardförrådet är allt du behöver göra att logga in på din Ubuntu Server och ge kommandot:

1
sudo apt-get install docker.io -y

Ovanstående kommando kommer att installera alla nödvändiga beroenden för att Docker ska kunna köras. När det är klart aktiverar och startar du dockertjänsten med kommandona:

1
2
3

sudo systemctl enable docker
sudo systemctl start docker

Äntligen, lägga till dig själv i docker-gruppen med kommandot:

1
sudo usermod -aG docker $(whoami)

Logga ut från servern och logga in igen. Du kan nu utfärda samma kommandon som du gjorde på CentOS 7. Lista tillgängliga avbildningar med kommandot:

1
docker images

Som väntat ser du att det inte finns några avbildningar listade (figur D).

Figur D

Ingen avbildningar är tillgängliga ännu för Ubuntu Server.

Hämta ner NGINX-avbildningen med kommandot:

1
docker pull nginx

När avbildningen har laddats ner, gör du om kommandot docker images igen för att se att den är listad (figur E).

Figur E

Den NGINX-avbildning som finns tillgänglig på Ubuntu Server.

Slutsats

Och så installerar du Docker på både CentOS 7 och Ubuntu Server 18.04. I nästa installation i den här serien ska vi lära oss att distribuera en container med hjälp av NGINX-avbildningen som hämtas från Docker Hub.

Feature image by _jinnie_ from .

Lämna ett svar

Din e-postadress kommer inte publiceras.