TILLBEHÖR

Hur man skapar en anpassad bild från en Docker-behållare

Att få din egen anpassade bild gör det lättare att arbeta med behållare och det lägger till ett extra lager av säkerhet. Jack Wallen visar dig hur.

Dina behållare är alla baserade på bilder, varav de flesta du förmodligen hämtar från DockerHub eller något annat offentligt arkiv. Men varför inte skapa dina egna anpassade bilder? När allt kommer omkring är det lättare för dig att inte bara få den exakta bilden du behöver arbeta med, det är också en bättre väg till säkerhet. Det är också ett bra sätt att skapa en basbild som du kan använda för en repeterbar utvecklingsmiljö (så den har precis de verktyg du behöver).

Öppen källkod: Måste läsa täckning

SE: 40+ termer för öppen källkod och Linux du behöver känna till (TechRepublic Premium)

Jag ska visa dig hur du kan göra just det – skapa en bild från en behållare med Docker runtime-motorn.

Vad du behöver

Jag kommer att demonstrera på Ubuntu Server 20.04, men du kan göra detta på vilken plattform som helst som stöder Docker. Det enda du behöver ändra är installationsprocessen för Docker. Du behöver också en användare med sudo-privilegier (för installationen).

Med det sagt, låt oss börja jobba.

Hur man installerar Docker

Låt oss först installera Docker. Vi kommer att installera den senaste versionen av community-utgåvan av Docker. Logga in på din server och installera nödvändiga beroenden med:

sudo apt-get install ca-certificates curl gnupg lsb-release -y

När det är klart lägger du till Docker GPG-nyckeln:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Lägg sedan till Docker-förvaret med kommandot:

echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Uppdatera apt och installera Docker-ce med:

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io -y

Lägg till din användare till Docker-gruppen med:

sudo usermod -aG docker $USER

Logga ut och logga in igen för att ändringarna ska träda i kraft.

Hur du skapar din basbehållare

Vi kommer att använda den officiella Ubuntu-bilden för att skapa vår behållare (som kommer att användas för att skapa den nya bilden). Låt oss dra ner den senaste versionen av Ubuntu från DockerHub och skapa en behållare som heter ubuntu-test med kommandot:

docker run -ti --name=ubuntu-test ubuntu:latest

Vid det här laget bör du befinna dig vid bash-prompten för den körande Ubuntu-behållaren. Låt oss säga att den här nya bilden kommer att användas för Java-utveckling. Installera den senaste Java runtime-miljön. Första uppdateringen apt med:

apt-get update

Installera sedan den senaste JRE med:

apt-get install default-jre -y

När installationen är klar, lämna behållaren med:

exit

Hur man skapar den nya bilden

Det första som ska göras är att skapa en commit för den löpande behållaren. Gör så här med:

docker commit ubuntu-test

Därefter måste vi hitta behållar-ID:t för vår körande instans med kommandot:

hamnare ps -a

Starta behållaren med:

docker start ID

Där ID är container-ID för ubuntu-test.

Därefter måste vi hitta bild-ID:t med kommandot:

docker images

När vi gjorde commit tidigare skapade den en bild utan en tagg eller namn. Du kommer att se en bild listad med som både ID och namn. Det är bilden vi vill tagga. Använd de fyra första tecknen i bild-ID:t för den nya bilden och tagga den med:

docker tag ID ubuntu-test-base

Där ID är de fyra första tecknen i behållar-ID:t för ubuntu-test. Nu, om du utfärdar kommandot docker-bilder, kommer du att se din nya bild med namnet ubuntu-test-base. Du kan sedan distribuera en ny behållare, med den nya bilden, med ett kommando som:

docker create --name ubuntu-jre ubuntu-test-base

Och det är allt som finns för att skapa en anpassad Docker-bild, baserad på en modifierad behållare.

Prenumerera på TechRepublics How To Make Tech Work på YouTube för alla de senaste tekniska råden för affärsproffs från Jack Wallen.

Botón volver arriba

Ad blocker detected

You must remove the AD BLOCKER to continue using our website THANK YOU