"Docker" yra populiari konteinerių kūrimo programinė įranga. Konteineriai yra standartinis programinės įrangos vienetas, kuriame supakuojamas kodas ir visos jo priklausomybės, kad programą būtų galima greitai ir patikimai paleisti skirtingose operacinėse sistemose ir kompiuterinėse aplinkose.
Technine prasme konteineris yra veikiantis procesas, kuris yra izoliuotas nuo kitų procesų ir turi prieigą prie kompiuterio išteklių. Toliau panagrinėkime, kaip įdiegti "Docker" "Debian 11" sistemoje ir paleisti pirmąją programą.
Įdiegti galima dviem būdais: naudojant standartines "Debian" saugyklas arba oficialią "Docker" saugyklą. Debian'o saugyklose nėra naujausios versijos, todėl aptarsime diegimą iš oficialios Docker'io saugyklos.
Prieš pridėdami saugyklą, turite atnaujinti paketų sąrašą paleisdami komandą:
$ sudo apt update
Taip pat įdiekite papildomus paketus, reikalingus darbui su nuotolinėmis saugyklomis. Norėdami įdiegti šiuos paketus, vykdykite komandą:
$ sudo apt -y install ca-certificates curl gnupg lsb-release
Tada atsisiųskite ir pridėkite PGP raktą iš saugyklos. Norėdami tai padaryti, paleiskite komandą:
$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Kad pridėtumėte saugyklą, reikia paleisti komandą:
$ 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
Norėdami įdiegti paketą, pirmiausia turite atnaujinti paketų sąrašus, kad sistemoje atsirastų nauja saugykla. Norėdami tai padaryti, tiesiog paleiskite komandą: :
$ sudo apt update
Galiausiai galite įdiegti papildomus paketus. Įdiegimas atliekamas naudojant komandą:
$ sudo apt -y install docker-ce docker-ce-cli containerd.io
Žodis ce
paketo pavadinime docker-ce
reiškia community
, o tai reiškia, kad bus įdiegta nemokama versija (dar vadinama bendruomenės versija). Dabar jau žinote, kaip įdiegti "docker debian".
Įdiegus, pagal numatytuosius nustatymus jis bus išjungtas. Norėdami paleisti programą, turite paleisti komandą:
$ sudo systemctl start docker
Kad ji veiktų kartu su operacine sistema, ją reikia įtraukti į automatinio paleidimo programą naudojant komandą:
$ sudo systemctl enable docker
Pagal numatytuosius nustatymus tik root naudotojas gali naudoti ir vykdyti jos komandas terminale. Jei bet kokią komandą įvykdysite iš įprasto naudotojo, terminale bus rodoma ši klaida:
Bandant prisijungti prie "Docker" demono lizdo unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied
Norėdami paleisti komandą kaip įprastas naudotojas ir nenaudodami komandos sudo
, turite pridėti naudotoją prie " docker"
grupės. Docker
grupė sukuriama automatiškai diegimo metu. Tačiau jei dėl kokių nors priežasčių ji nesukuriama automatiškai, ją reikia sukurti rankiniu būdu, vykdant šią komandą:
$ sudo groupadd docker
Tada, norėdami įtraukti dabartinį naudotoją į "docker" grupę, paleiskite:
$ sudo usermod -aG docker $USER
Kintamasis $USER
reiškia, kad dabartinis naudotojas, kurio vardu pradedama sesija, bus įtrauktas į "docker"
grupę. Šis kintamasis yra visuose šiuolaikiniuose "Linux" distributyvuose. Taip pat verta paminėti, kad docker grupei suteikiamos privilegijos, lygiavertės root naudotojo privilegijoms.
Pridėjus naudotoją, būtina iš naujo prisijungti prie sistemos ir tik tada galima paleisti bet kurią "Docker"
komandą, skirtą bandymams atlikti. Kaip pavyzdys buvo paleista komanda docker ps
, kuri parodo veikiančių konteinerių sąrašą:
$ docker ps
Kaip matote pirmiau pateiktoje ekrano nuotraukoje, ji buvo įvykdyta be klaidų ir įprasto naudotojo vardu.
Norėdami visapusiškai išbandyti "Docker", galite atsisiųsti bandomąjį atvaizdą iš hello-world
ir jį patikrinti. Norėdami tai padaryti, turite įvykdyti:
$ docker run hello-world
paleidimo
komandą " Docker Run"
, kuri atsisiųs programinės įrangos atvaizdą iš "Docker Hub"
internetinės saugyklos - oficialaus "Docker" programinės įrangos atvaizdų saugojimo registro, naudojamo pagal nutylėjimą, ir automatiškai jį paleis. Pavyzdyje išvedama frazė Hello from Docker! (Sveiki iš "Docker!"
), o tai reiškia, kad atvaizdas buvo sėkmingai atsisiųstas ir paleistas.