Instalacija Dockera na Linuxu: Ubuntu, Debian, RHEL | INTROSERV
EUR
european

EUR

usa

USD

Croatia Hr
Ex. VAT Ex. VAT 0%

Instalacija Dockera na popularnim Linux distribucijama: vodič za instalaciju Dockera na Linuxu

Razina: Srednja
Procijenjeno vrijeme: ~15 minuta
Cilj: Konfigurirati siguran, decentraliziran okoliš instalacijom Dockera za samostalno hostanje osobnih usluga poput Nextclouda, Bitwardena i Matrixa.

Uvod

Hostanje vlastitih »cloud« usluga jamči privatnost i potpuno vlasništvo nad podacima. Za implementaciju usluga kao što su Nextcloud (pohrana datoteka), Bitwarden (upravljanje lozinkama) ili Matrix (sigurna komunikacija) bez suočavanja sa složenim ovisnostima na razini hosta potrebna su izolirana okruženja. U ovom ćemo vodiču prikazati kako instalirati Docker na Linux i izgraditi robustan, ponovljiv temelj za samostalno hostanje. Trebate li potpunu postavu Dockera na Linuxu za jedan poslužitelj ili za cijelu flotu, svaki od sljedećih koraka vrijedi za Ubuntu, Debian i distribucije kompatibilne s RHEL-om. Na kraju ovog vodiča za instalaciju Dockera na Linux imat ćete okruženje spremno za produkciju, konfigurirano sigurnosnim zadanim postavkama prema najboljim praksama.

Terminologija

Prije nastavka provjerite razumijete li ove temeljne pojmove:

  • Docker: platforma za razvoj, isporuku i pokretanje aplikacija u izoliranim okruženjima.
  • Docker Engine: temeljna klijent-poslužitelj tehnologija koja stvara i pokreće kontejnere.
  • Kontejner (Container): standardizirana izvršna komponenta koja objedinjuje izvorni kod aplikacije s bibliotekama operacijskog sustava i ovisnostima potrebnima za njezino pokretanje.
  • Slika (Image): predložak samo za čitanje s uputama za stvaranje kontejnera.
  • Docker daemon: pozadinska usluga na hostu koja upravlja izgradnjom, pokretanjem i distribucijom kontejnera.
  • Docker CLI: sučelje naredbenog retka za komunikaciju s daemonom.
  • Docker Hub: javni registar koji održava Docker za pronalaženje i dijeljenje slika kontejnera.
  • Registar (Registry): sustav za pohranu i distribuciju slika kontejnera.
  • Instalacija: postupak kojim se programi pripremaju za izvršavanje.
  • Upravitelj paketa: softverski alat koji automatizira instaliranje, nadogradnju, konfiguriranje i uklanjanje programa.
  • Repozitorij: središnje mjesto na kojem se pohranjuju i održavaju softverski paketi.
  • Službeni Docker repozitorij: pouzdan izvor koji održava Docker za dobivanje stabilnih softverskih paketa.
  • Paket: komprimirana arhiva datoteka koja sadrži sve datoteke koje dolaze uz određenu aplikaciju.
  • Ovisnost: program ili biblioteka koju drugi program zahtijeva za ispravan rad.
  • Stabilno izdanje (Stable release): verzija softvera koja je temeljito testirana i smatra se pouzdanom za produkcijsku uporabu.
  • Verzija: jedinstveno stanje softvera koje odražava njegove specifične značajke i ispravke.

Preduvjeti

Prije početka provjerite jesu li ispunjeni sljedeći uvjeti:

  • Operacijski sustav: Ubuntu 20.04/22.04/24.04 LTS, Debian 11/12/13 ili kompatibilan s RHEL-om (AlmaLinux, Rocky, RHEL) 8/9/10
  • Pristup: sudo ili root pristup poslužitelju
  • Potrebno znanje: samouvjereno služenje naredbenim retkom Linuxa

Korak 1: Postavljanje Docker repozitorija

Da biste dobili najnovije, sigurno i stabilno izdanje, uvijek koristite službeni Docker repozitorij, a ne zadane repozitorije operacijskog sustava.

Za Ubuntu:

Najprije ažurirajte indeks upravitelja paketa Linuxa i instalirajte potrebne pakete kako bi apt mogao koristiti repozitorij preko HTTPS-a:

sudo apt update sudo apt install ca-certificates curl gnupg lsb-release

Dodajte službeni GPG ključ Dockera:

sudo mkdir -m 0755 -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \ sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

Postavite stabilni repozitorij:

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

Za Debian:

Koraci za instalaciju Dockera na Debian odgovaraju postupku za Ubuntu, ali upućuju na URL repozitorija specifičan za Debian. Najprije ažurirajte indeks upravitelja paketa Linuxa i instalirajte potrebne pakete:

sudo apt update sudo apt install ca-certificates curl gnupg lsb-release

Dodajte službeni GPG ključ Dockera:

sudo mkdir -m 0755 -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/debian/gpg | \ sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

Postavite stabilni repozitorij:

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

Za distribucije kompatibilne s RHEL-om (AlmaLinux, Rocky, RHEL):

Instalirajte paket yum-utils i postavite stabilni repozitorij:

sudo yum install -y yum-utils sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo

Info

Docker objavljuje pakete za sve distribucije kompatibilne s RHEL-om (uključujući AlmaLinux i Rocky Linux) pod putanjom repozitorija centos. Korištenje ovog URL-a očekivano je i u potpunosti podržano.

Rezultat: Docker repozitorij sada je dodan u vaš sustav, što upravitelju paketa omogućuje dohvaćanje najnovijih Docker paketa.

Korak 2: Instalacija Dockera na Ubuntu i Debian

Kad je Docker repozitorij konfiguriran, nastavite s instalacijom Docker Enginea na Ubuntu (ili Debian - naredbe su identične). Ovaj korak vrijedi za obje distribucije.

Najprije uklonite sve pakete u sukobu koje daju repozitoriji operacijskog sustava:

sudo apt remove docker.io podman-docker containerd runc

Ponovno ažurirajte apt indeks paketa i pomoću upravitelja paketa Linuxa instalirajte potrebne komponente:

sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin \ docker-compose-plugin

Rezultat: Naredba se izvršava i iz Docker repozitorija dohvaća pakete i sve potrebne ovisnosti. Upravitelj paketa trebao bi dovršiti instalaciju Docker Enginea bez pogrešaka.

Info

docker-ce označava Docker Community Edition, besplatnu inačicu idealnu za one koji hostaju samostalno.

Korak 3: Instalacija Dockera na distribucije kompatibilne s RHEL-om (AlmaLinux, Rocky, RHEL)

Na sustavima temeljenima na RHEL-u za instalaciju Docker Enginea koristite yum.

Najprije uklonite sve pakete u sukobu koje daju repozitoriji operacijskog sustava:

sudo yum remove docker docker-client docker-client-latest docker-common \ docker-latest docker-latest-logrotate docker-logrotate docker-engine \ podman runc

Pokrenite sljedeću naredbu:

sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin \ docker-compose-plugin

Rezultat: Upravitelj paketa instalira potrebne pakete. Od vas će se tražiti da prihvatite GPG ključ (osim ako proslijedite zastavicu -y); potvrdite ga. Po završetku ćete vidjeti poruku o uspjehu.

Korak 4: Provjera instalacije Docker Enginea

Nakon instalacije ponašanje Docker daemona ovisi o distribuciji. Na Ubuntuu i Debianu docker.service automatski se pokreće nakon instalacije. Na distribucijama iz obitelji RHEL ne pokreće se.

Warning

Samo obitelj RHEL: ako je postupak instalacije ažurirao jezgru (na primjer putem ovisnosti kernel-core), ponovno pokrenite poslužitelj prije pokretanja Docker usluge:

sudo reboot

Preskakanje ovog koraka može uzrokovati da systemctl start docker ne uspije s pogreškama br_netfilter / addrtype, jer pokrenuta jezgra više ne odgovara instaliranim modulima.

Kad poslužitelj radi na aktualnoj jezgri, pokrenite i omogućite uslugu. Sljedeće su naredbe idempotentne i sigurne za izvršavanje na svim sustavima:

sudo systemctl start docker sudo systemctl enable docker

Rezultat: Docker daemon se pokreće, a sustav stvara simboličku vezu kako bi se automatski pokretao pri svakom ponovnom pokretanju.

Provjerite je li instalacija Docker Enginea uspjela pokretanjem slike hello-world:

sudo docker run hello-world

Rezultat: Docker CLI kontaktira Docker daemon, povlači sliku hello-world s Docker Huba i pokreće kontejner. U terminalu biste trebali vidjeti poruku »Hello from Docker!«.

Korak 5: Koraci nakon instalacije Dockera

Prema zadanim postavkama pokretanje Docker naredbi zahtijeva sudo. Da biste Docker naredbe pokretali kao korisnik bez root ovlasti, morate svog korisnika dodati u grupu docker. To su ključni koraci nakon instalacije Dockera za ugodno upravljanje vlastitom infrastrukturom.

Stvorite grupu docker (ako već ne postoji):

getent group docker || sudo groupadd docker

Dodajte svog korisnika u grupu docker:

sudo usermod -aG docker $USER

Rezultat: Vaš je korisnik dodan u grupu. Da bi promjene stupile na snagu, morate se odjaviti i ponovno prijaviti ili aktivirati novo članstvo u grupi u trenutnoj sesiji:

newgrp docker

Info

newgrp docker stvara novu ljusku s ažuriranim članstvom u grupama. Svaka docker naredba koju nakon toga pokrenete radit će bez sudo, ali samo unutar te nove ljuske. Otvaranje drugog terminala i dalje zahtijeva potpunu ponovnu prijavu.

Warning

Članstvo u grupi docker daje ovlasti jednake root pristupu na hostu. U okruženjima samostalnog hostanja kojima je prioritet sigurnost ozbiljno razmotrite pokretanje Dockera u rootless načinu rada (vidi Korak 6).

Nakon pokretanja newgrp docker (ili odjave i ponovne prijave) testirajte konfiguraciju pokretanjem naredbe bez sudo:

docker run hello-world

Rezultat: Ponovno biste trebali vidjeti poruku »Hello from Docker!«, što potvrđuje da su vaši koraci nakon instalacije Dockera uspjeli.

Alternativa: brza instalacija putem praktične skripte

Za testna ili razvojna okruženja Docker nudi praktičnu skriptu (convenience script).

Warning

Ova metoda nije preporučena za produkciju. Izvršava se bez fiksiranja verzija, bezuvjetno nadograđuje Docker ako je već instaliran i povlači sve ovisnosti bez provjere.

Preporučuje se preuzeti skriptu i pregledati je prije izvršavanja:

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

Korak 6 (neobavezno): Pokretanje Dockera u rootless načinu rada

U okruženjima samostalnog hostanja pokretanje Dockera u rootless načinu rada povećava sigurnost jer se Docker daemon i kontejneri izvršavaju kao korisnik bez root ovlasti.

6.1 Preduvjeti

Najprije zaustavite i onemogućite Docker uslugu i socket na razini sustava te uklonite datoteku socketa:

sudo systemctl stop docker.service docker.socket sudo systemctl disable docker.service docker.socket sudo rm -f /var/run/docker.sock

Provjerite ima li vaš korisnik konfigurirane subuid i subgid (obično se postavljaju automatski):

cat /etc/subuid cat /etc/subgid

Omogućite lingering za svog korisnika kako bi se daemon mogao pokrenuti pri podizanju sustava:

sudo loginctl enable-linger $USER

6.2 Instalacija dodatnih paketa

Za Ubuntu/Debian:

sudo apt install docker-ce-rootless-extras uidmap dbus-user-session

Za AlmaLinux/RHEL (shadow-utils pruža uidmap i obično je unaprijed instaliran):

sudo yum install docker-ce-rootless-extras

6.3 Instalacija rootless daemona

Instalacijsku skriptu pokrenite iz potpune sesije prijave ciljnog korisnika (ne iz sudo su ni iz SSH ljuske bez prijave). Ako ste u kontekstu bez prijave, najprije izvezite potrebne varijable:

export XDG_RUNTIME_DIR=/run/user/$(id -u) export DBUS_SESSION_BUS_ADDRESS=unix:path=$XDG_RUNTIME_DIR/bus

Zatim pokrenite instalacijsku skriptu:

dockerd-rootless-setuptool.sh install

Info

Prvo pokretanje instalacijske skripte neposredno nakon omogućavanja lingeringa može biti nestabilno. Ako se daemon ne pokrene, jednostavno ponovno pokrenite instalacijsku skriptu.

6.4 Konfiguracija varijabli okoline

Dodajte sljedeće varijable u konfiguracijsku datoteku svoje ljuske (npr. ~/.bashrc):

export PATH=/usr/bin:$PATH export DOCKER_HOST=unix:///run/user/$(id -u)/docker.sock

Učitajte datoteku (source) ili ponovno pokrenite ljusku kako biste primijenili promjene.

6.5 Ograničenja rootless načina rada

  • Nije moguće objavljivati portove < 1024 (Docker nudi zaobilazna rješenja poput setcap, prosljeđivanja portova putem slirp4netns ili usmjeravanja).
  • Nema podrške za --net=host.
  • Swarm način rada i overlay mreže nisu podržani.
  • AppArmor nije podržan.
  • Zastavica --privileged ne daje root pristup na razini hosta.
  • Podaci se pohranjuju u ~/.local/share/docker (uzmite to u obzir za sigurnosne kopije i kvote).
  • Zahtijeva cgroup v2.
  • Koristi upravljački program za pohranu overlayfs umjesto overlay2.

Povrat promjena (rollback)

Ako trebate poništiti instalaciju Dockera na Linuxu - bilo da je riječ o standardnoj postavi ili rootless konfiguraciji - slijedite korake u nastavku redom.

1. Povrat rootless načina rada (preskočite ako rootless nije bio konfiguriran):

Ako ste konfigurirali rootless način rada, najprije poništite te promjene, a tek zatim uklonite pakete:

dockerd-rootless-setuptool.sh uninstall rm -rf ~/.local/share/docker sudo loginctl disable-linger $USER

Info

Deinstalacija rootless načina rada nakon što su paketi uklonjeni (purge) neće uspjeti jer je instalacijska skripta dio paketa docker-ce-rootless-extras. Rootless način rada uvijek deinstalirajte dok su paketi još prisutni.

2. Uklanjanje paketa:

Debian/Ubuntu:

sudo apt purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin \ docker-compose-plugin docker-ce-rootless-extras sudo rm -rf /var/lib/docker /var/lib/containerd sudo rm -f /etc/apt/sources.list.d/docker.list /etc/apt/keyrings/docker.gpg

AlmaLinux/Rocky/RHEL:

sudo yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin \ docker-compose-plugin docker-ce-rootless-extras sudo rm -rf /var/lib/docker /var/lib/containerd sudo rm -f /etc/yum.repos.d/docker-ce.repo

3. Uklanjanje grupe:

sudo groupdel docker || true

Warning

Uklanjanje paketa ne uklanja automatski slike, kontejnere, volumene ni prilagođene konfiguracijske datoteke. Naredbe rm -rf trajno brišu ove direktorije s podacima.

Zaključak

Vaša instalacija Dockera na Linuxu je dovršena i provjerena. Temelj je sada sigurno postavljen. Možete nastaviti s implementacijom kontejnera za svoje samostalno hostane alate, uz potpunu kontrolu nad datotekama u Nextcloudu, Bitwarden trezorima i Matrix komunikacijom.

Verzija dokumenta: 1.0
Zadnje ažuriranje: svibanj 2026
Vlasnik: Tim za tehničku dokumentaciju

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA