För Docker-containrar är Alpine Linux ett optimalt val på grund av låg vikt, låg RAM-förbrukning och optimering. Men ändå är Ubuntu bäst.
Alpine Linux är ett gratis Linux-operativsystem med öppen källkod för routrar, brandväggar, VPN, VoIP-datorer, servrar, virtuella maskiner och behållare. Den har proaktiva säkerhetsfunktioner som förhindrar att säkerhetshål i programvaran utnyttjas. Den lilla, lätta Linux-distributionen baserad på musl libc och busybox.
Steg för att installera Docker på Alpine Linux
Jag tänker inte prata mycket om Docker här för om du läser den här handledningen så skulle du redan veta vad det är. Tja, i korthet Docker är en containeriserad virtualiseringsplattform som tillåter att köra olika virtuella maskiner i form av isolerade containrar. Det bästa med det, lätt och lätt att hantera; man kan helt enkelt dra befintliga Linux- eller app-bilder för att ställa in en behållare från hub.docker.com.
Steg 1: Ladda ner och installera Alpine Linux
Om du redan har en fungerande Alpine Linux, gå helt enkelt till nästa steg och om inte, gå till dettalänk och ladda ner en. Alpine Linux är tillgängligt i flera former såsom Standard, Utökad med några extra paket, Net-installation, Optimerad virtuell ISO-avbildning, för Xen med inbyggt stöd för Xen Hypervisor och i Minimalt rotfilsystem för behållare. Du kan ladda ner en enligt ditt val, men här använder vi Alpine Linux Extended version 3.11.
Efter nedladdning starta din PC eller VirtualBox med den och kör kommandotsetup-alpine
för att följa installationsstegen.
Steg 2: Kommando för att installera Docker på Alpine
Kör följande enstaka kommando för att hämta Docker-paket för dess installation på Alpine.
apk add docker
Steg 3: Apk add misslyckas med otillfredsställande begränsningsfel
Om du efter att ha utfört kommandot ovan får ett felmeddelande "apk add misslyckas med otillfredsställande begränsningar” då måste vi lägga till följande förråd till Alpine.
Redigera filen Alpine repository:
vi /etc/apk/repositories
Tryck sedan påInfogaknappen på tangentbordet och lägg till följande rad i filen.
https://dl-cdn.alpinelinux.org/alpine/latest-stable/community
För att spara och avsluta tryck förstEscoch skriv sedan:wq
efter det tryck påSkriva inknapp.
När du är klar, kör kommandot paketuppdatering för att låta systemet veta om det uppdaterade förvaret, så att det kan indexera detsamma.
apk update
Steg 4: Lägg till Docker-tjänsten till systemstartnivån
För att säkerställa att Docker-tjänsten startas automatiskt varje gång tillsammans med uppstarten av Alpine, måste vi lägga till den i våra systemtjänster.
rc-update add docker boot
Nu kan vi starta Docker-tjänsten
service docker start
Steg 5: Installera Docker Compose
Användare som också vill ha Docker Compose på Alpine, först måste de installera pip.
apk add py-pip
Få dev beroenden
apk add python-dev libffi-dev openssl-dev gcc libc-dev make
Slutligen, kör kommandot för att installera docker-compose
pip install docker-compose
Steg 6: Isolera behållare med ett användarnamnområde
adduser -SDHs /sbin/nologin dockremap addgroup -S dockremap echo dockremap:$(cat /etc/passwd|grep dockremap|cut -d: -f3):65536 >> /etc/subuid echo dockremap:$(cat /etc/passwd|grep dockremap|cut -d: -f4):65536 >> /etc/subgid
Steg 7: Kontrollera nu din installation av Docker
Använd kommandot nedan för att kontrollera information om installerad Docker-version.
docker info
Steg 8 Dra Docker-bilden på Alpine
För att veta att allt fungerar bra, låt oss ta upp en bild av hej världen
docker pull hello-world
Så här kör du bilden:
docker run -t hello-world
Ytterligare: Fel som vi stötte på när vi konfigurerade det
1: felsvar från daemon https //registry-1.docker.io/v2/ timeout
Vi fick ovanstående fel eftersom i resolv.conf i Alpine namnservrarna inte var korrekt konfigurerade, så vi redigerade det:
vi /etc/resolv.conf
Och la till följande namnservrar:
nameserver 8.8.8.8 nameserver 8.8.4.4
2.Efter installationen av Alpine gick det inte att nå nätverket, så vi redigerade:
vi /etc/network/interfaces
Och la till följande:
auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp
På detta sätt kan vi använda denna lätta Alpine Linux för Docker som kör virtuella maskiner i container.