Jinsi ya Kusakinisha Docker kwenye Ubuntu na Kuendesha Kontena ya Ubuntu (Mwongozo wa Hatua kwa Hatua)

目次

1. Docker ni Nini na Uhusiano Wake na Ubuntu

Docker ni teknolojia ya uhalisia wa bandia inayofunga mazingira ya utekelezaji wa programu katika vitengo vinavyoitwa “containers,” ikiwaruhusu kutekelezwa kwa uthabiti kwenye seva na kompyuta mbalimbali. Tofauti na mashine za bandia za jadi, Docker hufanya containers moja kwa moja kwenye mfumo wa uendeshaji wa mwenyeji, na kuifanya kuwa nyepesi zaidi na haraka.

Mifumo ya uendeshaji inayotegemea Linux kama Ubuntu inafaa sana kwa Docker, ndiyo sababu Docker inatumika sana na makampuni pamoja na wasanidi binafsi wa programu na wasimamizi wa seva. Hii ni kwa sababu Ubuntu yenyewe ni chanzo huria, imetumika sana katika mazingira ya seva, ni rahisi kudhibiti kwa mifumo ya vifurushi, na inaungwa mkono na nyaraka rasmi za kina.

Kwa kutumia Docker, unaweza kuondoa matatizo ya kawaida kama “inafanya kazi kwenye mashine yangu lakini si kwenye seva.” Iwe kwenye PC ya maendeleo au kwenye seva ya uzalishaji, containers za Docker hukuruhusu kurudia mazingira sawa kabisa popote. Ubuntu pia inaungwa mkono rasmi na Docker, hivyo miongozo ya usakinishaji na rasilimali za utatuzi wa matatizo ni nyingi.

Katika makala hii, tutaelezea wazi jinsi ya kusakinisha Docker kwenye Ubuntu na kuanzisha container ya Ubuntu. Iwe wewe ni mpya kwa Docker au tayari una uzoefu, mwongozo huu utakusaidia kuimarisha maarifa yako ya msingi.

2. Mazingira Yanayohitajika na Mahitaji ya Awali

Kabla ya kutumia Docker kwenye Ubuntu, mahitaji kadhaa ya awali na ukaguzi yanahitajika. Sehemu hii inahitimisha mazingira yanayohitajika na mambo muhimu ya kuthibitisha mapema ili kuhakikisha usakinishaji laini.

Toleo la Ubuntu

Docker inapendekezwa kwa Ubuntu 18.04 LTS au baadaye. Matoleo ya Long Term Support (LTS) kama Ubuntu 20.04 LTS, Ubuntu 22.04 LTS, na Ubuntu 24.04 LTS yanasaidiwa hasa. Matoleo ya zamani yanaweza kukutana na matatizo ya utegemezi au vifurushi, hivyo kutumia toleo la LTS jipya zaidi linashauriwa sana.

Mahitaji ya Mfumo

Ingawa Docker ni nyepesi, kuendesha containers nyingi au kuitumia katika maendeleo na upimaji kunahitaji rasilimali za kutosha za mfumo. Maelezo ya chini yanayopendekezwa ni haya:

  • Ubuntu 64-bit (32-bit haiauniwi)
  • CPU: Mipya 2 au zaidi inapendekezwa
  • Kumbukumbu: Angalau 2 GB (4 GB au zaidi inapendekezwa)
  • Nafasi ya diski huru: Angalau 10 GB

Muunganisho wa Mtandao

Muunganisho wa mtandao unahitajika ili kusakinisha Docker na kupakua picha. Usanidi wa awali unaweza kuhusisha kupakua data nyingi, hivyo muunganisho thabiti unashauriwa.

Ruhusa za Mtumiaji

Kusakinisha Docker na kudhibiti mipangilio ya mfumo kunahitaji ruhusa za sudo (msimamizi). Ikiwa una ruhusa za kawaida tu, omba ufikiaji wa muda au msaada kutoka kwa msimamizi.

Kuondoa Vifurushi vya Docker vya Zamani

Kama ulikuwa umesakinisha vifurushi kama docker au docker.io kwa mkono, inapendekezwa kuviondoa ili kuepuka migogoro.

sudo apt-get remove docker docker-engine docker.io containerd runc

Hii inazuia matatizo yanayoweza kutokea kutokana na vifurushi vya urithi vinavyokinzana.

Muhtasari

Baada ya kuthibitisha mahitaji ya awali katika sehemu hii, endelea kwa hatua za usakinishaji na usanidi katika sura zinazofuata.
Kwa maandalizi sahihi, kusakinisha Docker kwenye Ubuntu ni mchakato laini sana.

3. Kusakinisha na Kusanidi Docker Engine

Sehemu hii inaelezea jinsi ya kusakinisha Docker Engine kwenye Ubuntu na kufanya usanidi wa msingi. Kutumia hazina rasmi ya Docker huhakikisha upata toleo la karibuni la thabiti.

Kuongeza Hazina Rasmi na Maandalizi

Kwanza, ongeza hazina rasmi ya Docker kwenye apt. Hatua zote zinafanywa kwenye terminal.

  1. Sakinisha vifurushi vinavyohitajika
    sudo apt-get update
    sudo apt-get install \
        ca-certificates \
        curl \
        gnupg \
        lsb-release
    
  1. Ongeza ufunguo wa GPG
    sudo mkdir -p /etc/apt/keyrings
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
    
  1. Ongeza hazina ya Docker
    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
    

Kusakinisha Docker Engine

Baada ya kuongeza hazina, sakinisha Docker Engine.

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

Mara usakinishaji ukamilika, thibitisha kwa kuangalia toleo:

docker --version

Ukiona matokeo kama Docker version 25.0.3, usakinishaji umefanikiwa.

Kuhusu Docker Desktop (Hiari)

Kwenye Ubuntu, Docker Engine kawaida inatosha. Docker Desktop kwa Linux pia inapatikana ikiwa unahitaji kiolesura cha picha, lakini kwa mtiririko wa kazi unaotegemea CLI, Docker Engine pekee inatosha.

Utatuzi wa Tatizo la Usakinishaji

Ukikumbana na makosa kama “pakiti haijapatikana,” hakikisha usanidi wa hazina na ufungaji wa ufunguo wa GPG. Migogoro na pakiti za Docker za zamani pia inaweza kusababisha matatizo, hivyo rudia hatua za kuondoa ikiwa inahitajika.

4. Kutumia Docker Bila sudo

Kwa chaguo-msingi, amri za Docker zinahitaji ruhusa za sudo. Kuomba sudo kwa kila amri ni usumbufu na inaweza kuwa hatari ikiwa amri zimeandikwa vibaya. Njia inayopendekezwa ni kuongeza akaunti yako ya mtumiaji kwenye kundi la docker, kukuruhusu kutumia Docker kwa usalama bila sudo.

Kuongeza Mtumiaji kwenye Kundi la docker

  1. Ongeza mtumiaji wa sasa kwenye kundi la docker
    sudo usermod -aG docker $USER
    
  1. Tumia mabadiliko

Toka nje na uingia tena ili kutekeleza uanachama mpya wa kundi. Vinginevyo, unaweza kutekeleza mara moja kwa kutumia:

newgrp docker
  1. Thibitisha
    docker version
    

Vidokezo vya Usalama

Watumiaji katika kundi la docker wana ruhusa za juu. Katika mazingira ya watumiaji wengi, simamia uanachama wa kundi la docker kwa uangalifu. Kwa matumizi ya kibinafsi au ya maendeleo, hii kwa kawaida si tatizo.

5. Kuanzisha Daemon ya Docker na Kuwezesha Kuanzisha Kiotomatiki

Docker inafanya kazi kama huduma ya nyuma inayoitwa daemon ya Docker (dockerd). Ingawa kawaida huanzishwa kiotomatiki baada ya usakinishaji, kuelewa jinsi ya kuisimamia ni muhimu.

Anzisha, Simamisha, na Anzisha Upya Docker

sudo systemctl start docker
sudo systemctl stop docker
sudo systemctl restart docker
sudo systemctl status docker

Wezesha au Zima Kuanzisha Kiotomatiki Wakati wa Kuanzisha

sudo systemctl enable docker
sudo systemctl disable docker

Kuangalia Logi

journalctl -u docker

6. Kuanzisha Kontena ya Ubuntu

Sehemu hii inaelezea jinsi ya kuanzisha kontena ya Ubuntu kwenye Docker.

Kurejesha (Pull) Picha ya Ubuntu

docker pull ubuntu:22.04

Kuendesha Kontena ya Ubuntu

docker run -it --name myubuntu ubuntu:22.04 /bin/bash

Kuendesha kwa Nyuma

docker run -d --name myubuntu ubuntu:22.04 tail -f /dev/null

Kusimamisha na Kuanzisha Upya Kontena

docker stop myubuntu
docker start myubuntu

Kuangalia Hali ya Kontena

docker ps
docker ps -a

7. Amri Muhimu za Docker kwa Usimamizi wa Kontena

Sehemu hii inahitimisha amri za Docker zinazotumika mara kwa mara kwa shughuli za kila siku.

Orodha ya Kontena

docker ps
docker ps -a

Anzisha, Simamisha, Anzisha Upya

docker start [container]
docker stop [container]
docker restart [container]

Kufikia Kontena

docker exec -it [container] /bin/bash

Kuondoa Kontena na Picha

docker rm [container]
docker rm -f [container]
docker images
docker rmi [image]

Logi na Matumizi ya Diski

docker logs [container]
docker system df

8. Utatuzi wa Tatizo na Maswali Yanayoulizwa Mara kwa Mara

Sehemu hii inashughulikia masuala ya kawaida ya Docker na jinsi ya kuyatatua.

Haiwezi Kuunganisha na Daemon ya Docker

Hakikisha Docker inaendesha na kwamba mtumiaji wako ana ruhusa sahihi.

Migogoro ya Pakiti

sudo apt-get remove docker docker-engine docker.io containerd runc

Kushindwa kwa Kuanzisha Kontena

Angalia majina ya picha, kumbukumbu inayopatikana, na nafasi ya diski.

9. Muhtasari na Hatua Zifuatazo

Makala hii ilijumuisha usakinishaji wa Docker kwenye Ubuntu na kuendesha kontena za Ubuntu, kutoka dhana za msingi hadi matumizi ya vitendo.

Hatua Zifuatazo

  • Kujenga picha maalum kwa kutumia Dockerfile
  • Kusimamia kontena nyingi kwa Docker Compose
  • Kutumia volumu na mitandao
  • Kuchunguza usimamizi wa kontena kwa Kubernetes

10. Maswali Yanayoulizwa Mara kwa Mara (FAQ)

Sehemu hii inajibu maswali yanayoulizwa mara kwa mara kuhusu Docker kwenye Ubuntu.

Je, Docker inaweza kutumika kwenye Ubuntu Desktop na Server?

Ndiyo. Ubuntu Server mara nyingi hupendekezwa kwa uzalishaji kutokana na matumizi ya rasilimali kidogo.

Je, Docker Desktop inahitajika?

Hapana. Docker Engine pekee inatosha kwenye Ubuntu.

Ni nini hali ya rootless?

Hali ya rootless inaruhusu Docker kuendesha bila ruhusa za root, ikiboresha usalama kwa vikwazo vichache.

Nifanyeje kuhifadhi data?

docker run -v /host/path:/container/path ubuntu:22.04

Nifanyeje kuanzisha kontena kiotomatiki?

docker run --restart=unless-stopped -d ubuntu:22.04
年収訴求