Kuidas paigaldada Docker Ubuntule
Sellel lehel
Docker käitab rakendusi konteinerites: igaüks sisaldab kõike vajalikku, nii et see töötab ühtmoodi nii sinu sülearvutis kui ka serveris. Veebilehti, andmebaase, boteid ja mänguservereid saab käivitada ühe käsu või ühe Compose-failiga.
See juhend paigaldab Docker Engine'i ja Docker Compose'i Ubuntu 24.04 või 22.04 peale Dockeri ametlikust hoidlast ning käsitleb seejärel seadeid, mis päris serveris loevad: õigused, logid ja tulemüür.
Enne alustamist
- Toetatud Ubuntu: Docker toetab Ubuntu 26.04, 24.04 ja 22.04 LTS 64-bitiseid versioone. Oma versiooni näed käsuga
cat /etc/os-release. - KVM-server, mitte konteiner: Docker vajab oma kerneli funktsioone. See töötab igal KVM VPS-il, kuid konteineripõhistel (OpenVZ või LXC) pakettidel sageli mitte.
- Root või sudo-õigustega kasutaja. Allolevad käsud kasutavad
sudo; kui oled sisse logitud root-kasutajana, võid selle ära jätta.
Väldi serverites Ubuntu enda hoidla paketti docker.io ja Snapi versiooni: Dockeri hoidla saab uued versioonid esimesena ja just seda kasutab Dockeri enda dokumentatsioon.
Docker vajab päris virtuaalmasinat: HytHosti KVM VPS-paketid Ubuntu ja täieliku root-ligipääsuga alates €2.92/kuus.
Vaata VPS-pakette1. samm: eemalda konfliktsed paketid
Kui oled varem Dockeri mõnest muust allikast paigaldanud, eemalda need paketid kõigepealt. Värskes serveris teatab apt lihtsalt, et ühtegi neist pole paigaldatud:
sudo apt remove $(dpkg --get-selections docker.io docker-compose docker-compose-v2 docker-doc docker-buildx podman-docker containerd runc | cut -f1)
Kaustas /var/lib/docker/ olevaid image'eid ja köiteid see ei kustuta.
2. samm: lisa Dockeri hoidla
Need Dockeri dokumentatsioonist pärit käsud lisavad Dockeri allkirjavõtme ja tema apt-hoidla sinu Ubuntu versiooni jaoks:
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. samm: paigalda Docker ja Compose
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
See paigaldab Docker Engine'i, käsureatööriista, Buildx-ehitaja ja Compose'i plugina. Kontrolli, et kõik töötab:
sudo docker run hello-world docker compose version
Esimene käsk laadib alla pisikese test-image'i ja kuvab tervitussõnumi. Ubuntus käivitub Docker alglaadimisel automaatselt, nii et midagi pole vaja sisse lülitada.
Compose on käsk docker compose, tühikuga. Vana sidekriipsuga docker-compose on kasutusest kõrvaldatud esimene versioon; juhendid, mis seda veel kasutavad, töötavad ka uue käsuga.
4. samm: õigused ja logide rotatsioon
Dockeri kasutamine ilma sudota. Lisa oma kasutaja gruppi docker, seejärel logi välja ja uuesti sisse:
sudo usermod -aG docker $USER
Pea meeles, et Docker ise hoiatab: see grupp annab root-taseme õigused ja igaüks selles saab kogu serverit juhtida. Lisa ainult kasutajaid, kellele annaksid ka root-ligipääsu.
Piira logide suurust. Vaikimisi kasvavad konteinerite logid piiramatult ja võivad ketta täis ajada. Loo fail /etc/docker/daemon.json:
{
"log-driver": "json-file",
"log-opts": { "max-size": "10m", "max-file": "3" }
}
Seejärel käivita sudo systemctl restart docker. Piirang kehtib pärast muudatust loodud konteineritele, seega loo olemasolevad uuesti.
Esimene Compose-fail
Compose kirjeldab sinu konteinereid ühes failis. Loo kaust, milles on fail compose.yaml:
services:
web:
image: nginx:stable
ports:
- "127.0.0.1:8080:80"
restart: unless-stopped
Käivita see käsuga docker compose up -d, kontrolli olekut käsuga docker compose ps ja loe logisid käsuga docker compose logs. restart: unless-stopped käivitab konteineri pärast krahhi või taaskäivitust uuesti. Port on meelega seotud aadressiga 127.0.0.1, nagu selgitab järgmine jaotis.
Docker ja ufw: tulemüüri lõks
Sellesse komistavad peaaegu kõik. Kui avaldad pordi, näiteks -p 8080:80, lisab Docker oma tulemüürireeglid, mida rakendatakse enne ufw reegleid. Port on internetile avatud isegi siis, kui ufw ütleb, et see on suletud.
- Seo pordid localhostiga, kui neid vajab ainult server ise, näiteks andmebaas või pöördproksi taga olev rakendus:
127.0.0.1:8080:80. - Ära avalda andmebaasiporte üldse; lase konteineritel suhelda omavahel hoopis Dockeri võrgu kaudu.
- Lähteaadressi järgi filtreerimiseks lisa reeglid iptablesi ahelasse
DOCKER-USER, mida Docker kontrollib enne oma reegleid.
Sama kehtib Dockeris käivitatud mänguserverite kohta; vaata kuidas seadistada VPS mänguserverite jaoks.
Docker HytHosti VPS-is
HytHosti VPS-paketid töötavad KVM-il, seega on igal VPS-il oma kernel ja Docker töötab piiranguteta. Vali tellimisel Ubuntu 24.04 või 22.04, ühendu SSH kaudu ja järgi ülaltoodud samme. Saad täieliku root-ligipääsu, SSD-salvestuse ja DDoS-kaitse ning konteinerite kasvades saad hiljem minna üle suuremale paketile.
Korduma kippuvad küsimused
Docker toetab Ubuntu 26.04, 24.04 ja 22.04 LTS 64-bitiseid versioone. Teised Ubuntul põhinevad süsteemid, näiteks Linux Mint, ei ole ametlikult toetatud.
Tootmisserveris mitte. Docker ütleb, et tema mugavusskript on mõeldud arenduskeskkondadele ja seda ei soovitata tootmises kasutada; see võib ka hüpata uuele põhiversioonile. Kasuta selle asemel hoidlapõhist meetodit.
Sidekriipsuga docker-compose on vana, kasutusest kõrvaldatud versioon. Tänapäeval on Compose Dockeri plugin, mida kasutatakse kujul docker compose ja mis paigaldatakse paketiga docker-compose-plugin.
Dockeri avaldatud pordid lähevad ufw-st mööda. Seo port aadressiga 127.0.0.1, kui see peab jääma lokaalseks, või filtreeri seda ahelas DOCKER-USER.
KVM VPS-il jah. Konteineripõhised VPS-paketid, näiteks OpenVZ, ei suuda sageli Dockerit käitada või vajavad teenusepakkujalt erilisi seadeid.
Käita oma konteinereid VPS-il
HytHosti KVM VPS-paketid käitavad Dockerit piiranguteta, täieliku root-ligipääsu ja Ubuntu 24.04-ga, alates €2.92/kuus.
Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hoursKas see juhend oli abiks?