Docker on suosittu konttiohjelmisto. Kontit ovat vakio-ohjelmistoyksikkö, joka paketoi koodin ja kaikki sen riippuvuudet niin, että sovellusta voidaan ajaa nopeasti ja luotettavasti eri käyttöjärjestelmissä ja laskentaympäristöissä.
Teknisesti kontti on käynnissä oleva prosessi, joka on eristetty muista prosesseista ja jolla on pääsy tietokoneen resursseihin. Seuraavaksi tarkastellaan Dockerin asentamista Debian 11:een ja ensimmäisen sovelluksen ajamista.
Asennus voidaan tehdä kahdella tavalla, käyttämällä Debianin vakiovarastoja tai virallista Docker-varastoa. Debianin arkistot eivät sisällä uusinta versiota, joten harkitsemme asentamista virallisesta Docker-arkistosta.
Ennen arkiston lisäämistä sinun on päivitettävä pakettiluettelo suorittamalla komento:
$ sudo apt update
Asenna myös muita paketteja, joita tarvitaan työskentelyyn etätietovarastojen kanssa. Asenna nämä paketit suorittamalla komento:
$ sudo apt -y install ca-certificates curl gnupg lsb-release
Lataa ja lisää seuraavaksi PGP-avain arkistosta. Suorita tätä varten komento:
$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Lisätäksesi arkiston sinun on suoritettava komento:
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Paketin asentamiseksi sinun on ensin päivitettävä pakettiluettelot niin, että uusi arkisto näkyy järjestelmässä. Suorita tätä varten komento:
$ sudo apt update
Lopuksi voit asentaa lisää paketteja. Asennus tehdään komennolla:
$ sudo apt -y install docker-ce docker-ce-cli containerd.io
Paketin nimessä oleva sana ce
docker-ce
tarkoittaa community
, mikä tarkoittaa, että asennetaan ilmainen versio (eli community-versio). Nyt tiedät, miten docker debian asennetaan.
Asennuksen jälkeen se kytkeytyy oletusarvoisesti pois päältä. Käynnistääksesi ohjelman sinun täytyy suorittaa komento:
$ sudo systemctl start docker
Jotta se toimisi käyttöjärjestelmän kanssa, se on lisättävä autoloaderiin komennolla:
$ sudo systemctl enable docker
Oletusarvoisesti vain pääkäyttäjä voi käyttää ja suorittaa sen komentoja päätelaitteessa. Jos suoritat minkä tahansa komennon tavalliselta käyttäjältä, pääte näyttää seuraavan virheilmoituksen:
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied
Jos haluat suorittaa komennon tavallisena käyttäjänä ja ilman sudo-komentoa
, sinun on lisättävä käyttäjä docker-ryhmään
. Docker-ryhmä
luodaan automaattisesti asennuksen aikana. Jos sitä ei kuitenkaan jostain syystä luoda automaattisesti, se on luotava manuaalisesti suorittamalla seuraava komento:
$ sudo groupadd docker
Seuraavaksi voit lisätä nykyisen käyttäjän docker-ryhmään suorittamalla komennon
$ sudo usermod -aG docker $USER
$USER-muuttuja
tarkoittaa, että nykyinen käyttäjä, jonka puolesta istunto käynnistetään, lisätään docker-ryhmään
. Tämä muuttuja on kaikissa nykyaikaisissa Linux-jakeluissa. On myös syytä huomata, että docker-ryhmä antaa root-käyttäjän oikeuksia vastaavat oikeudet.
Käyttäjän lisäämisen jälkeen järjestelmään on kirjauduttava uudelleen, ja vasta sen jälkeen voit suorittaa minkä tahansa Docker-komennon
testausta varten. Esimerkkinä ajettiin komento docker ps
, joka näyttää luettelon käynnissä olevista konteista:
$ docker ps
Kuten yllä olevasta kuvakaappauksesta näkyy, se suoritettiin ilman virheitä ja tavallisen käyttäjän puolesta.
Jos haluat testata Dockerin täysin, voit ladata testikuvan hello-worldista
tarkistusta varten. Tätä varten sinun on suoritettava:
$ docker run hello-world
Docker run
-komento lataa ohjelmistokuvan docker hub
-verkkovarastosta, Dockerin virallisesta ohjelmistokuvien tallennusrekisteristä, jota käytetään oletusarvoisesti, ja suorittaa sen automaattisesti. Esimerkki tulostaa lauseen Hello from Docker!
mikä tarkoittaa, että imago on ladattu ja ajettu onnistuneesti.