Kuidas paigaldada ja kasutada Dockerit Ubuntu peal: Samm-sammuline juhend algajatele ja edasijõudnutele

目次

1. Sissejuhatus

Mis on Docker?

Docker on platvorm, mis kasutab konteineripõhist virtualiseerimistehnoloogiat, et muuta rakenduste arendamine, levitamine ja käivitamine tõhusamaks. Erinevalt traditsioonilisest virtuaalmasinast (VM) jagavad konteinerid host-operatsioonisüsteemi kerneli, mistõttu käivitumine on kiire ja ressursikasutus väiksem.

Docker kasutamise eelised Ubuntu peal

Ubuntu on üks enim soovitatud Linuxi distributsioone Dockeri jaoks. Selle põhjused on järgmised:

  • Ametlik tugi: Docker toetab Ubuntu ametlikult ning seda on lihtne installida ametlikust repositooriumist.
  • Stabiilne paketihaldus: Ubuntu APT paketihaldur võimaldab hõlpsalt hallata Dockeri versioone.
  • Lai kogukonna tugi: Ubuntu on kogu maailmas väga populaarne, mistõttu on abi ja lahendusi lihtne leida.

Mida sellest artiklist õpid

Selles artiklis selgitatakse samm-sammult järgmisi teemasid:

  1. Kuidas paigaldada Docker Ubuntu-le
  2. Dockeri imagede põhikäitlus
  3. Kohandatud imagede loomine Dockerfile abil
  4. Jaapani keele toe seadistamine Ubuntu konteineris
  5. Dockeri imagede optimeerimine ja väiksemaks muutmine
  6. Rakenduste arendamine Ubuntu konteineris
  7. Levinumad vead ja nende lahendused

Sisu sobib nii algajatele kui ka edasijõudnutele – loodan, et leiate sellest kasu!

2. Dockeri installimine Ubuntu peal

Dockeri installimine ametliku repositooriumi kaudu

Ubuntus saab Dockeri hõlpsalt paigaldada ametliku repositooriumi kaudu. Järgi alltoodud samme:

1. Eemalda olemasolevad Dockeri paketid

Ubuntu sisaldab vaikimisi docker.io paketti, kuid see võib olla aegunud, seega eemalda see esmalt:

sudo apt remove docker docker-engine docker.io containerd runc

2. Vajalikud sõltuvused

Paigalda vajalikud sõltuvused enne installatsiooni.

sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common

3. Lisa Dockeri ametlik repositoorium

Lisa Dockeri ametlik GPG võti ja repositoorium:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
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

4. Dockeri installimine

Lisa repositoorium ja paigalda Docker:

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

5. Kontrolli paigaldust

Kontrolli, kas Docker paigaldus õnnestus, näidates versiooniinfot:

docker --version

Paigaldusjärgsed seadistused

1. Dockeri teenuse käivitamine ja lubamine

Käivita Dockeri teenus ja määra automaatne käivitumine:

sudo systemctl start docker
sudo systemctl enable docker

2. Docker kasutamine ilma root-õigusteta

Vaikimisi saab Dockeri käske käivitada ainult root. Tee tavaline kasutaja Dockeri grupi liikmeks:

sudo usermod -aG docker $USER

Muudatus jõustub peale välja- ja sisselogimist.

3. Kontrolli tööd

Käivita hello-world konteiner tavalise kasutajana:

docker run hello-world

Kui näed väljundis “Hello from Docker!”, on kõik korras.

3. Dockeri imagede põhikäitlus

Mis on Dockeri image?

Dockeri image on nagu mall, millest saab luua konteineri. Ubuntu-põhise Dockeri imaget kasutades saad kiiresti käivitada Ubuntu keskkonna.

Ubuntu image allalaadimine Docker Hub-ist

Docker Hubis on palju ametlikke imaget. Ubuntu imaget saad alla laadida järgmise käsuga:

docker pull ubuntu

Konteinerite käivitamine ja peatamine

Käivita Ubuntu image’ist konteiner:

docker run -it ubuntu bash

See avab Ubuntu konteineri shelli, kus saad tööd teha.

Konteinerite nimekiri

Kõik töötavad konteinerid näed käsuga:

docker ps

Kõik (ka peatatud) konteinerid saad näha lisades -a:

docker ps -a

Konteineri peatamine ja kustutamine

Peata töötav konteiner:

docker stop [konteineri ID või nimi]

Kustuta mittevajalik konteiner:

docker rm [konteineri ID või nimi]

Dockeri imagede haldus

Kõik allalaaditud imaget näed:

docker images

Kustuta mittevajalik image:

docker rmi [image ID]

4. Kohandatud image loomine Dockerfile abil

Mis on Dockerfile?

Dockerfile on konfiguratsioonifail Dockeri image loomiseks. Sellesse kirjutatud juhiste järgi ehitatakse kohandatud image, võimaldades ühtset arenduskeskkonda ja vajalike pakettide paigaldamist.

Dockerfile põhikäsklused

Dockerfile sisaldab tüüpiliselt järgmisi käske:

KäskSelgitus
FROMBaasimage valik
RUNKäskude täitmine image ehitamisel
COPYFailide kopeerimine konteinerisse
WORKDIRTöökataloogi seadistamine
CMDKonteineri käivitamisel vaikimisi käsk
ENTRYPOINTKonteineri käivitamisel määratud käsk

Ubuntu baasil kohandatud image loomine

Järgi järgmisi samme, et luua Ubuntu põhine kohandatud Docker image.

1. Töökaustiku loomine

Loo uus projektikaustik ja liigu sinna:

mkdir my-ubuntu-image
cd my-ubuntu-image

2. Dockerfile loomine

Loo kataloogi Dockerfile ja lisa sinna järgmine sisu:

# Ubuntu ametlik baasil image
FROM ubuntu:latest

# Hooldaja info (valikuline)
LABEL maintainer="your-email@example.com"

# Uuenda pakette ja paigalda vajalikud tööriistad
RUN apt update && apt install -y curl vim git

# Töökaustiku seadistamine
WORKDIR /workspace

# Vaikimisi käivitatav käsk
CMD ["bash"]

3. Dockeri image ehitamine

Ehita Dockerfile põhjal kohandatud image:

docker build -t my-ubuntu-image .

-t määrab image nime.

4. Imagede kontrollimine

Kontrolli ehitatud imaget:

docker images

5. Käivita konteiner

Käivita konteiner kohandatud imagest:

docker run -it my-ubuntu-image

Selles konteineris on paigaldatud tööriistad nagu curl ja vim.

5. Jaapani keele seadistamine Ubuntu konteineris

Vaikimisi on Ubuntu image ingliskeelne. Jaapani keele kasutamiseks on vaja täiendavaid seadistusi.

Jaapani locale seadistamine

Jaapani keele kuvamiseks ja sisestamiseks paigalda ja seadista locale:

1. Vajalikud paketid

apt update
apt install -y language-pack-ja locales

2. Locale seadistamine

Seadista ja rakenda locale:

locale-gen ja_JP.UTF-8
update-locale LANG=ja_JP.UTF-8

3. Muudatuste rakendamine

export LANG=ja_JP.UTF-8

Jaapani sisestuskeskkond

Terminalis jaapani keele sisestamiseks paigalda ibus-mozc:

apt install -y ibus-mozc

Kui kasutad GUI-d, lisa järgmised keskkonnamuutujad:

export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus

GUI rakendused Docker konteineris

Dockeris GUI rakenduste kasutamiseks kasuta X-serverit.

Paigalda X-server hosti ning käivita konteiner X11 toega:

docker run -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix my-ubuntu-image

6. Dockeri imagede optimeerimine ja väiksemaks muutmine

Imagede optimeerimine võimaldab käivitada konteinereid kiiremini ja vähendada salvestusmahtu. Siin on mõned meetodid väiksemate imagede loomiseks.

Kerge Ubuntu-põhine image

Vaikimisi ubuntu:latest image on suur, kuid ubuntu:minimal on palju väiksem.

FROM ubuntu:minimal

Veelgi väiksema image saab kasutada Alpine Linux:

FROM alpine:latest
RUN apk add --no-cache bash curl

Selle meetodiga saab vähendada image suurust sadade MB-de võrra.

Mittevajalike failide eemaldamine

Kustuta apt-get paigaldatud pakettide vahemälu:

RUN apt update && apt install -y curl vim     && apt clean     && rm -rf /var/lib/apt/lists/*

Käsk rm -rf /var/lib/apt/lists/* eemaldab mittevajaliku pakettide info.

Mitme-etapiline ehitamine (multi-stage build)

Näiteks võid kasutada kompilaatorit ainult ehitusetapis, jättes selle lõpp-image’ist välja:

FROM ubuntu as builder
RUN apt update && apt install -y gcc

FROM ubuntu:minimal
COPY --from=builder /usr/bin/gcc /usr/bin/gcc

Nii saad lõpp-image’i hoida kerge ja ilma arendustööriistadeta.

7. Praktika: rakenduse arendus Ubuntu konteineris

Siin selgitatakse, kuidas luua Ubuntu konteineris arenduskeskkond.

Python arenduskeskkonna seadistamine

Loo järgmine Dockerfile Python arenduseks:

FROM ubuntu:latest
RUN apt update && apt install -y python3 python3-pip
CMD ["python3"]

Ehita image ja käivita konteiner:

docker build -t python-dev .
docker run -it python-dev

Sellises keskkonnas saab kasutada python3 käske ja arendada/töödelda skripte.

Node.js arenduskeskkonna seadistamine

Node.js jaoks kasuta järgmise sisuga Dockerfile:

FROM ubuntu:latest
RUN apt update && apt install -y nodejs npm
CMD ["node"]

Ehita ja käivita:

docker build -t node-dev .
docker run -it node-dev

Selles keskkonnas saab kasutada node käske ja arendada JavaScripti rakendusi.

8. KKK ja tõrkeotsing

Dockeri kasutamisel võib ette tulla erinevaid probleeme. Siin leiad korduma kippuvad küsimused ja lahendused.

Dockeri ja virtuaalmasina erinevused

  • Docker: jagab hosti kerneli, on kerge ja konteinerid käivituvad kiiresti.
  • Virtuaalmasin (VM): igaüks töötab omaenda operatsioonisüsteemiga, nõuab rohkem ressursse ja käivitumine on aeglasem.

Docker võimaldab ressursse paremini optimeerida, sobides hästi arenduskeskkondade ja automaatse kasutuselevõtu jaoks.

Andmete püsivus Ubuntu konteineris

Kui soovid, et andmed säiliks ka pärast konteineri peatamist, kasuta mahtude (volumes) mountimist.

docker run -v my_data:/data ubuntu

Isegi kui konteiner kustutatakse, jääb my_data volume alles ja andmeid saab taaskasutada.

Levinumad vead ja lahendused

1. permission denied viga

Kui käskude käivitamisel ilmub permission denied, ei pruugi kasutaja kuuluda docker gruppi.

Lisa kasutaja Dockeri gruppi järgmise käsuga:

sudo usermod -aG docker $USER

Muudatuse rakendamiseks logi korraks välja ja siis uuesti sisse.

2. image not found viga

Kui Dockeri Hubist pilti ei leita, võib olla vaja määrata uusim silt (tag):

docker pull ubuntu:22.04

Kui määrad täpse versiooni, saad vastava image korrektselt alla laadida.

年収訴求