Docker telepítése Ubuntura
Ezen az oldalon
A Docker konténerekben futtatja az alkalmazásokat: mindegyik mindent magával visz, amire szüksége van, így ugyanúgy fut a laptopodon és a szerveren. Weboldalak, adatbázisok, botok és játékszerverek indíthatók egyetlen paranccsal vagy egyetlen Compose fájllal.
Ez az útmutató a Docker hivatalos tárolójából telepíti a Docker Engine-t és a Docker Compose-t Ubuntu 24.04 vagy 22.04 rendszerre, majd sorra veszi azokat a beállításokat, amelyek egy éles szerveren számítanak: jogosultságok, naplók és a tűzfal.
Mielőtt elkezded
- Támogatott Ubuntu: a Docker az Ubuntu 26.04, 24.04 és 22.04 LTS 64 bites verzióit támogatja. A sajátodat a
cat /etc/os-releaseparanccsal ellenőrizheted. - KVM szerver, nem konténer: a Dockernek saját kernelfunkciók kellenek. Bármely KVM VPS-en fut, de konténeralapú (OpenVZ vagy LXC) csomagokon gyakran nem.
- Root vagy sudo joggal rendelkező felhasználó. Az alábbi parancsok
sudo-t használnak; ha rootként vagy bejelentkezve, elhagyhatod.
Szervereken kerüld az Ubuntu saját tárolójából származó docker.io csomagot és a Snap verziót: a Docker tárolója kapja meg elsőként az új verziókat, és a Docker saját dokumentációja is ezt használja.
A Dockernek valódi virtuális gép kell: a HytHost KVM VPS csomagjai Ubuntuval és teljes root hozzáféréssel €2.92/hó-tól indulnak.
VPS csomagok megtekintése1. lépés: Az ütköző csomagok eltávolítása
Ha korábban más forrásból telepítetted a Dockert, először távolítsd el ezeket a csomagokat. Egy friss szerveren az apt egyszerűen jelzi, hogy egyik sincs telepítve:
sudo apt remove $(dpkg --get-selections docker.io docker-compose docker-compose-v2 docker-doc docker-buildx podman-docker containerd runc | cut -f1)
A /var/lib/docker/ könyvtárban lévő image-ek és kötetek ettől nem törlődnek.
2. lépés: A Docker tárolójának hozzáadása
Ezek a parancsok a Docker dokumentációjából származnak, és hozzáadják a Docker aláírókulcsát és apt tárolóját az Ubuntu-verziódhoz:
sudo apt update
sudo apt install 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
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
sudo apt update
3. lépés: A Docker és a Compose telepítése
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Ez telepíti a Docker Engine-t, a parancssori eszközt, a Buildx buildert és a Compose bővítményt. Ellenőrizd, hogy működik:
sudo docker run hello-world docker compose version
Az első parancs letölt egy apró teszt image-et, és kiír egy üdvözlő üzenetet. Ubuntun a Docker rendszerindításkor automatikusan elindul, így nincs mit engedélyezni.
A Compose a docker compose parancs, szóközzel. A régi, kötőjeles docker-compose a már kivezetett első verzió; az azt használó útmutatók az új paranccsal is működnek.
4. lépés: Jogosultságok és naplórotáció
A docker futtatása sudo nélkül. Add hozzá a felhasználódat a docker csoporthoz, majd jelentkezz ki és be újra:
sudo usermod -aG docker $USER
Ne feledd, maga a Docker is figyelmeztet, hogy ez a csoport root szintű jogosultságot ad: aki benne van, az egész szervert irányíthatja. Csak olyan felhasználókat adj hozzá, akiknek rootot is adnál.
A naplóméret korlátozása. Alapértelmezés szerint a konténernaplók korlát nélkül nőnek, és megtölthetik a lemezt. Hozd létre a /etc/docker/daemon.json fájlt:
{
"log-driver": "json-file",
"log-opts": { "max-size": "10m", "max-file": "3" }
}
Ezután futtasd: sudo systemctl restart docker. A korlát a módosítás után létrehozott konténerekre vonatkozik, ezért a meglévőket hozd létre újra.
Az első Compose fájl
A Compose egyetlen fájlban írja le a konténereidet. Hozz létre egy mappát egy compose.yaml fájllal:
services:
web:
image: nginx:stable
ports:
- "127.0.0.1:8080:80"
restart: unless-stopped
Indítsd el a docker compose up -d paranccsal, ellenőrizd a docker compose ps paranccsal, a naplókat pedig a docker compose logs paranccsal olvashatod. A restart: unless-stopped összeomlás vagy újraindítás után visszahozza a konténert. A port szándékosan van a 127.0.0.1 címhez kötve, ahogy a következő szakasz elmagyarázza.
Docker és ufw: a tűzfalcsapda
Ebbe szinte mindenki belefut. Amikor közzéteszel egy portot, például -p 8080:80, a Docker saját tűzfalszabályokat ad hozzá, amelyek az ufw szabályai előtt érvényesülnek. A port nyitva van az internet felé, még ha az ufw szerint zárva is.
- Kösd a portokat a localhosthoz, ha csak magának a szervernek van rájuk szüksége, például egy adatbázisnál vagy egy reverse proxy mögötti alkalmazásnál:
127.0.0.1:8080:80. - Az adatbázisportokat egyáltalán ne tedd közzé; a konténerek inkább egy Docker hálózaton keresztül érjék el egymást.
- Forráscím szerinti szűréshez adj szabályokat a
DOCKER-USERiptables lánchoz, amelyet a Docker a sajátjai előtt ellenőriz.
Ugyanez vonatkozik a Dockerben futó játékszerverekre is; lásd: VPS beállítása játékszerverekhez.
Docker HytHost VPS-en
A HytHost VPS csomagok KVM-en futnak, így minden VPS-nek saját kernele van, és a Docker korlátozások nélkül fut. Rendeléskor válaszd az Ubuntu 24.04 vagy a 22.04 rendszert, csatlakozz SSH-n, és kövesd a fenti lépéseket. Teljes root hozzáférést, SSD tárhelyet és DDoS védelmet kapsz, és később nagyobb csomagra válthatsz, ahogy a konténereid nőnek.
Gyakori kérdések
A Docker az Ubuntu 26.04, 24.04 és 22.04 LTS 64 bites verzióit támogatja. Más Ubuntu-alapú rendszerek, például a Linux Mint, hivatalosan nem támogatottak.
Éles szerveren ne. A Docker szerint ez a kényelmi szkript fejlesztői környezetekhez készült, és éles használatra nem ajánlott; ráadásul új főverzióra is ugorhat. Használd helyette a tárolós módszert.
A kötőjeles docker-compose a régi, kivezetett verzió. Ma a Compose egy Docker bővítmény, amelyet docker compose formában használsz, és a docker-compose-plugin csomaggal telepítesz.
A Docker által közzétett portok megkerülik az ufw-t. Kösd a portot a 127.0.0.1 címhez, ha helyi maradjon, vagy szűrd a DOCKER-USER láncban.
KVM VPS-en igen. A konténeralapú VPS csomagok, például az OpenVZ, gyakran nem tudnak Dockert futtatni, vagy a szolgáltatótól különleges beállításokat igényelnek.
Futtasd a konténereidet VPS-en
A HytHost KVM VPS csomagjai korlátozás nélkül futtatják a Dockert, teljes root hozzáféréssel és Ubuntu 24.04-gyel, €2.92/hó-tól.
Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hoursHasznos volt ez az útmutató?