A Docker telepítése Ubuntura

A Docker Engine támogatja a 64 bites Ubuntu kiadásokat, beleértve a 24.10 (Oracular), 24.04 LTS (Noble) és 22.04 LTS (Jammy) verziókat olyan architektúrákon, mint az amd64 (x86_64), arm64, armhf, s390x és ppc64le. A Docker a kernel iptables háttérprogramjára támaszkodik, és az iptables-nft vagy iptables-legacy interfésszel működik; közvetlenül anfteszközt nem tiszteli a Docker hálózat. Ha egy gazdagép tűzfalat kezel azzalufwvagyfirewalld, ügyeljen arra, hogy a konténerportok közzététele sok gazdagépszintű szabályt megkerül. Adja hozzá az engedélyezési/megtagadási szabályzatot aDOCKER-USERlánc a Docker-szabályok előtti szűrés kényszerítésére.

Telepítés előtt,távolítsa el az ütköző disztribúciós csomagokat, hogy elkerülje a verziók ütközését. Nem hivatalos csomagok, mint pldocker.io, örökségdocker-compose, vagy korábban telepítvecontainerd/runcblokkolhatja a tiszta beállítást.

1. lépés:Távolítsa el a régi vagy ütköző csomagokat.

for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove -y "$pkg"; done

2. lépés:Erősítse meg az Ubuntu kiadását és architektúráját a megfelelő lerakat hozzáadásához.

source /etc/os-release && echo "Ubuntu codename: ${UBUNTU_CODENAME:-$VERSION_CODENAME}"; dpkg --print-architecture

1. módszer: Telepítse a Docker Engine-t a Docker megfelelő tárolójából

Ez a módszer telepíti a legújabb stabil Docker Engine-t és a beépülő modulokat az apt-n keresztül, így a jövőbeni frissítések egyszerűvé válnak a csomagkezelőn keresztül.

1. lépés:Telepítse a szükséges csomagokat, és adja hozzá a Docker GPG-kulcsát egy modern kulcstartó útvonal használatával (elkerülje az elavultapt-keyhasználat).

sudo apt-get update
sudo apt-get install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

2. lépés:Adja hozzá a Docker tárházát, majd frissítse a csomagindexeket.

echo 
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu 
  $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | 
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update

3. lépés:Telepítse a Docker Engine, a CLI, a konténeres, a Buildx és a Compose beépülő modult.

sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

4. lépés:Győződjön meg arról, hogy a szolgáltatás fut, és futtassa a teszttárolót.

sudo systemctl status docker --no-pager
sudo docker run hello-world

5. lépés:Engedélyezze a felhasználó számára a Docker futtatását sudo nélkül (opcionális, de kényelmes). Ezzel hozzáadja fiókját adockercsoport, amely root-egyenértékű hozzáféréssel rendelkezik a Docker démonhoz – csak megbízható felhasználókat adjon hozzá.

sudo usermod -aG docker $USER
newgrp docker  # or log out and back in
docker run hello-world

6. lépés:Frissítse később az apt. Rögzíthet egy adott verziót, ha egy környezethez kell illeszkednie.

# Show available engine versions
apt-cache madison docker-ce | awk '{ print $3 }'

# Install a specific version (example version string)
VERSION_STRING=5:28.3.3-1~ubuntu.24.04~noble
sudo apt-get install -y docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING containerd.io docker-buildx-plugin docker-compose-plugin

2. módszer: Telepítés letöltött .deb csomagokból (offline/manuális frissítések)

Használja ezt, ha a gazdagépek nem férnek hozzá a tárolóhoz, vagy ha reprodukálható offline telepítésre van szüksége. Manuálisan kell letöltenie az Ubuntu kiadásának és architektúrájának megfelelő .deb fájlokat.

1. lépés:Böngészőben keresse meg a Docker Ubuntu tárházát, és válassza ki a verziót az alattdists/. Ezután nyissa megpool/stable/<arch>/(például,amd64vagyarm64).

2. lépés:Töltse le a következő csomagokat, amelyek megegyeznek az azonos verzióval:

  • containerd.io_<version>_<arch>.deb.
  • docker-ce_<version>_<arch>.deb.
  • docker-ce-cli_<version>_<arch>.deb.
  • docker-buildx-plugin_<version>_<arch>.deb.
  • docker-compose-plugin_<version>_<arch>.deb.

3. lépés:Telepítse a csomagokat adpkg. Cserélje le az elérési utat arra, ahová a fájlokat letöltötte.

sudo dpkg -i ./containerd.io_*_*.deb 
  ./docker-ce_*_*.deb 
  ./docker-ce-cli_*_*.deb 
  ./docker-buildx-plugin_*_*.deb 
  ./docker-compose-plugin_*_*.deb

4. lépés:Indítsa el a szolgáltatást, ha nem indult el automatikusan, és ellenőrizze a tesztképpel.

Lásd még:A Wake-on-LAN engedélyezése az Ubuntuban

sudo service docker start
sudo docker run hello-world

Karbantartási tipp:Ismételje meg a letöltést és a telepítést, ha frissítenie kell; a kézi telepítések nem követik az apt rendszeres frissítéseit.

3. módszer: Telepítés a Docker kényelmi szkriptjével (gyors beállítás a fejlesztőhöz/teszthez)

A forgatókönyv atget.docker.comészleli a disztribúcióját, és nem interaktív módon telepíti a Dockert. Gyors, de megfontolt, és nem gyártási frissítésekre tervezték.

1. lépés:Tekintse meg, mit fog tenni a szkript.

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh ./get-docker.sh --dry-run

2. lépés:Futtassa a szkriptet a legújabb stabil Docker Engine, a konténer és a runc telepítéséhez.

sudo sh ./get-docker.sh

3. lépés:Ellenőrizze és opcionálisan konfigurálja a nem root használatot.

sudo docker run hello-world
sudo usermod -aG docker $USER && newgrp docker

Vigyázat:A szkript újbóli futtatása a frissítéshez függőséget hagyhat a váratlan verzióknál. Használja a csomagkezelőt a folyamatos frissítéshez a kezdeti rendszerindítás után.

Opcionális: Telepítse a Docker Desktopot az Ubuntu (GUI) rendszerre

A Docker Desktop a fejlesztői munkafolyamatokhoz grafikus felhasználói felületet, Docker Engine-t, Docker CLI-t, Docker Compose V2-t és opcionális Kuberneteset tartalmaz. Ubuntu 22.04, 24.04 vagy a legújabb nem LTS x86-64-re van szüksége. A nem GNOME asztali számítógépeket telepíteni kellgnome-terminalintegrált terminálok támogatására. A Docker feltételei szerint a nagyobb vállalatoknál történő kereskedelmi használathoz fizetős előfizetésre lehet szükség.

1. lépés:Állítsa be a Docker csomagtárát (ugyanaz a kulcstartó és repo lépés, mint az 1. módszerben), hogy a függőségek tisztán feloldódjanak.

# If not already configured:
sudo apt-get update
sudo apt-get install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo 
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu 
  $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | 
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

2. lépés:Töltse le a Docker Desktop .deb for Linux (amd64) fájlt, és telepítse.

# Example for amd64; replace with the file you downloaded
sudo apt-get install -y ./docker-desktop-amd64.deb

3. lépés:Indítsa el a Desktopot, és állítsa be az automatikus indításra, ha úgy tetszik.

# Start for current user session
systemctl --user start docker-desktop

# Enable on login (optional)
systemctl --user enable docker-desktop

Megjegyzések:A Docker Desktop egy dedikált Docker-környezetet hoz létre, hogy elkerülje az ütközést a gazdagépen található helyi motorokkal. Szerverkörnyezetek esetén a Docker Engine egyedüli futtatása általában egyszerűbb, és elkerüli az asztali függőségeket.

Telepítés utáni ellenőrzések és gyakori feladatok

Ellenőrizze, hogy a Docker működik:A tesztkép lehívása és futtatása bizonyítja, hogy a démon, a hálózat és a rendszerleíró adatbázis-hozzáférés működik.

docker run hello-world

Futtasson egy gyors webtárolót:A port közzétételének ellenőrzéséhez jelöljön ki egy gazdagépportot:

docker run -d -p 8080:80 --name web nginx
docker ps

Indítás a rendszerindításkor (motor a szervereken):Győződjön meg arról, hogy a démon elindul az újraindítás után.

sudo systemctl enable docker

Hibaelhárítás

Elavult apt-key figyelmeztetések:Használja a fent bemutatott kulcstartó megközelítést (/etc/apt/keyrings/docker.asc) helyettapt-key. Ez eltávolítja a figyelmeztetést, és a kulcsot a Docker repójához köti.

GPG-kulcslekérési hibák (nincs útvonal-, proxy- vagy TLS-probléma):Ellenőrizze a kimenő 443-as kapcsolatot, a vállalati proxykat vagy a DNS-t. Ha proxy mögött van, állítsa behttps_proxy/http_proxya kagylódért és azértcurl. Ellenőrizze, hogy el tudja-e érnihttps://download.docker.com/egy egyszerűvelcurl -I.

docker: command not found:A CLI nincs telepítve, vagy nincs bennePATH. Telepítse újra a csomagokat az 1. módszerből, vagy ellenőrizze/usr/bin/dockerlétezik.

Nem lehet csatlakozni a Docker démonhoz:Győződjön meg arról, hogy a szolgáltatás fut, és Ön adockercsoport, ha sudo nélkül fut.

sudo systemctl status docker
sudo systemctl start docker
sudo usermod -aG docker $USER && newgrp docker

A kép lefagy vagy meghiúsul a TLS-kézfogás időtúllépésével:Ellenőrizze az internetes útválasztást, a DNS-t vagy a vállalati proxykonfigurációt. Szinkronizálja a rendszeridőt (NTP), mivel a nagy ferdítések megszakíthatják a TLS-t. Tesztelje újra egy könnyű képpel, példáulhello-worlda rendszerleíró adatbázis hozzáférési problémáinak elkülönítésére.

UFW/tűzfal és közzétett portok:A Docker nat/forward szabályai megkerülhetik a közzétett portokhoz tartozó gazdatűzfalszabályzatokat. Helyezzen engedélyezési/megtagadási szabályokat aDOCKER-USERígy a Docker-szabályok előtt értékelik őket. Győződjön meg arról is, hogy rendszere a Docker által támogatott iptables interfészt (nft vagy legacy) használja a raw helyettnftszabályokat.

WSL rendszer nélkül:Ha azt látja, hogy „A rendszer nem indult el a systemd segítségével”, kezelje a Dockert a Docker Desktop for Windows segítségével, vagy engedélyezze a systemd-t a WSL disztribúció beállításaiban. KözvetlensystemctlA parancsok nem működnek a systemd nélkül.

Távolítsa el teljesen a Docker Engine-t

1. lépés:Távolítsa el a csomagokat.

sudo apt-get purge -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras

2. lépés:Docker adatkönyvtárak törlése (ez eltávolítja a képeket, tárolókat, köteteket).

sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

3. lépés:Távolítsa el a tárolót és a kulcstartót, ha nem telepíti újra.

sudo rm -f /etc/apt/sources.list.d/docker.list
sudo rm -f /etc/apt/keyrings/docker.asc

A telepített és ellenőrzött Dockerrel azonnal elindíthatja a tárolókat, és szükség szerint kezelheti őket a Compose vagy a Buildx segítségével. Tartsa pontos rendszeridőt, figyelje a tűzfal viselkedését, és frissítsen az apt-on keresztül, hogy naprakész legyen a biztonsági javításokkal.

Related Posts