Bii o ṣe le Fi sii ati Lo Docker lori Ubuntu 20.04


Docker jẹ olokiki julọ, pẹpẹ orisun-ṣiṣi fun awọn oludasile ati awọn alakoso eto lati kọ, ṣiṣe, ati pin awọn ohun elo pẹlu awọn apoti. Idojukọ (lilo awọn apoti lati fi awọn ohun elo ranṣẹ) ti di olokiki nitori awọn apoti jẹ irọrun, iwuwo fẹẹrẹ, gbe, ni idapọ pọ, ti iwọn, ati aabo siwaju sii.

Nkan yii jẹ ibẹrẹ ti o dara fun awọn olubere lati kọ bi a ṣe le fi sori ẹrọ ati lo Docker lori ẹrọ Linux Ubuntu 20.04 pẹlu diẹ ninu awọn ofin ipilẹ. Fun itọsọna yii, a yoo fi Edition Edition Community Docker sori ẹrọ (CE).

  • Fifi sori ẹrọ ti olupin Ubuntu 20.04.
  • Olumulo ti o ni awọn anfaani lati ṣiṣẹ pipaṣẹ sudo.

Fifi Docker sori Ubuntu 20.04

Lati lo ẹya tuntun ti Docker, a yoo fi sii lati ibi ipamọ Docker osise. Nitorinaa, bẹrẹ nipa fifi bọtini GPG kun fun ibi ipamọ Docker osise si eto rẹ, lẹhin eyi ṣafikun iṣeto ibi ipamọ si orisun APT pẹlu awọn ofin wọnyi.

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"

Bayi ṣe imudojuiwọn kaṣe package APT lati ṣafikun awọn idii Docker tuntun si eto nipa lilo pipaṣẹ atẹle.

$ sudo apt update

Nigbamii, fi sori ẹrọ package Docker bi o ti han.

$ sudo apt install docker-ce

Lakoko ilana fifi sori ẹrọ package Docker, olupilẹṣẹ package nfa eto (eto ati oluṣakoso iṣẹ) lati bẹrẹ laifọwọyi ati mu iṣẹ docker ṣiṣẹ laifọwọyi. Lilo awọn ofin wọnyi lati jẹrisi pe iṣẹ docker n ṣiṣẹ ati pe o ti ṣiṣẹ lati bẹrẹ laifọwọyi ni ibẹrẹ eto. Pẹlupẹlu, ṣayẹwo ipo rẹ:

$ sudo systemctl is-active docker
$ sudo systemctl is-enabled docker
$ sudo systemctl status docker

Ọpọlọpọ awọn aṣẹ systemctl miiran lo wa lati ṣakoso ati ṣakoso iṣẹ docker eyiti o pẹlu atẹle wọnyi:

$ sudo systemctl stop docker			#stop the docker service
$ sudo systemctl start docker			#start the docker service
$ sudo systemctl  restart docker		#restart the docker service

Lati ṣayẹwo ẹya Docker CE ti a fi sori ẹrọ rẹ, ṣiṣe aṣẹ wọnyi:

$ docker version

O le wo awọn ofin lilo docker ti o wa nipa ṣiṣe pipaṣẹ docker laisi awọn aṣayan tabi ariyanjiyan eyikeyi:

 
$ docker

Ṣakoso Docker bi Olumulo ti kii ṣe gbongbo pẹlu sudo Command

Nipa aiyipada, daemon Docker sopọ si iho UNIX (dipo ibudo TCP) eyiti o jẹ ti gbongbo olumulo. Nitorinaa daemon Docker nigbagbogbo n ṣiṣẹ bi olumulo gbongbo ati lati ṣiṣe aṣẹ docker, o nilo lati lo sudo.

Yato si, lakoko fifi sori ẹrọ package Docker, a ṣẹda ẹgbẹ kan ti a pe ni docker . Nigbati daemon Docker bẹrẹ, o ṣẹda iho UNIX ti o rọrun fun nipasẹ awọn ọmọ ẹgbẹ ti ẹgbẹ docker (eyiti o funni ni awọn anfani deede si olumulo gbongbo).

Lati ṣiṣe aṣẹ docker laisi sudo, ṣafikun gbogbo awọn olumulo ti ko ni gbongbo ti o yẹ ki o wọle si docker, ninu ẹgbẹ docker bi atẹle. Ninu apẹẹrẹ yii, aṣẹ naa ṣafikun ibuwolu wọle lọwọlọwọ lori olumulo ($USER) tabi orukọ olumulo si ẹgbẹ docker:

$ sudo usermod -aG docker $USER
OR
$ sudo usermod -aG docker username

Lati mu awọn ayipada ṣiṣẹ si awọn ẹgbẹ, ṣiṣe aṣẹ atẹle:

$ newgrp docker 
$ groups

Nigbamii, rii daju pe o le ṣiṣe awọn aṣẹ docker laisi sudo. Atẹle wọnyi ṣe igbasilẹ aworan idanwo kan ati ṣiṣe rẹ ninu apo eiyan kan. Ni kete ti eiyan ba n ṣiṣẹ, o tẹ ifiranṣẹ alaye ati jade. Eyi tun jẹ ọna miiran lati ṣe agbelebu-ṣayẹwo boya fifi sori rẹ n ṣiṣẹ daradara.

$ docker run hello-world

Nṣiṣẹ pẹlu Awọn aworan Docker

Aworan Docker jẹ faili awoṣe kika-nikan pẹlu awọn itọnisọna fun ṣiṣẹda apoti Docker kan. O le ṣẹda awọn aworan aṣa rẹ tabi o le lo awọn ti o ṣẹda nipasẹ awọn miiran ti o tẹjade ni Docker Hub, ile-ikawe ti o tobi julọ ni agbaye ati agbegbe fun awọn aworan apoti.

O le wa fun aworan centos ni Docker Hub pẹlu aṣẹ atẹle:

$ docker search centos 

Lati ṣe igbasilẹ aworan ni agbegbe, lo pipaṣẹ fa. Apẹẹrẹ yii fihan bi a ṣe le ṣe igbasilẹ aworan centos osise.

$ docker pull centos

Lọgan ti igbasilẹ ba pari, o le ṣe atokọ awọn aworan to wa lori eto agbegbe rẹ.

$ docker images

Ti o ko ba nilo aworan mọ, o le yọ kuro lati inu eto rẹ.

$ docker rmi centos
OR
$ docker rmi centos:latest    #where latest is the tag

Ṣiṣe ati Ṣiṣakoṣo Awọn Apoti Docker

Eiyan Docker jẹ ilana ti o nṣilẹ abinibi lori Lainos ati pin ekuro ti ẹrọ ogun pẹlu awọn apoti miiran. Nipa aworan Docker, apoti kan jẹ aworan ti nṣiṣẹ.

Lati bẹrẹ eiyan ti o da lori aworan rẹ centos tuntun, ṣiṣe aṣẹ atẹle ni ibi ti \"centos" ni orukọ aworan agbegbe ati\"cat/etc/centos-release” ni aṣẹ lati ṣiṣẹ ninu apo eiyan:

$ docker run centos cat /etc/centos-release

Eiyan kan n ṣe ilana ilana ti o yatọ ti o ya sọtọ ni pe o ni tirẹ: eto faili, nẹtiwọọki, ati igi ilana ti a ya sọtọ ti o yatọ si alejo naa. Akiyesi pe o le ṣe afọwọyi apo eiyan nipa lilo ID ID, prefix ID, tabi orukọ bi a ṣe han ni isalẹ. Ilana eiyan ti o wa loke jade lẹhin aṣẹ ti n ṣiṣẹ.

Lati ṣe atokọ awọn apoti Docker, lo aṣẹ docker ps bi atẹle. Lo asia -l lati ṣe afihan apoti tuntun ti o ṣẹda ni gbogbo awọn ipinlẹ:

$ docker ps
OR
$ docker ps -l

Lati fihan gbogbo awọn apoti pẹlu awọn ti o ti jade, lo asia -a .

$ docker ps -a

O tun le bẹrẹ apo eiyan nipa lilo ID idanimọ rẹ lẹhin ti o ti jade. Fun apẹẹrẹ, ninu aṣẹ ti tẹlẹ, ID apoti wa ni 94c35e616b91. A le bẹrẹ apoti naa bi o ti han (akiyesi pe yoo ṣiṣẹ aṣẹ ati ijade):

$ docker start 94c35e616b91

Lati da eiyan ti n ṣiṣẹ lọwọ lilo ID rẹ, lo pipaṣẹ iduro bi o ti han.

$ docker stop 94c35e616b91

Docker tun fun ọ laaye lati fi orukọ kan si apo eiyan nipa lilo aṣayan --name nigbati o ba n ṣiṣẹ.

$ docker run --name my_test centos cat /etc/centos-release
$ docker ps -l

Bayi o le lo orukọ apo eiyan lati ṣakoso (bẹrẹ, da duro, awọn iṣiro, yọ, ati bẹbẹ lọ) apoti:

$ docker stop my_test
$ docker start my_test
$ docker stats my_test
$ docker rm my_test

Ṣiṣe Ikasi Ibaṣepọ sinu Apoti Docker kan

Lati ṣe ifilọlẹ igba ikarahun ibaraenisọrọ ninu apo eiyan lati jẹ ki o ṣiṣe awọn aṣẹ laarin apo, ṣiṣe aṣẹ atẹle:

$ docker run --name my_test -it centos

Ninu aṣẹ ti o wa loke, awọn iyipada -it sọ fun Docker lati fi ipinfunni-TTY afarape kan ti o ni asopọ si stdin apoti naa nitorina ṣiṣẹda ikarahun bash ibanisọrọ ninu apo.

O le jade nipasẹ ipinfunni aṣẹ pipaṣẹ bi o ti han.

# exit

Ti o ba fẹran lati ma jade, o le ya kuro ninu apoti kan ki o fi silẹ ni ṣiṣiṣẹ. Lati ṣe eyi, lo CTRL + p lẹhinna CTRL + q ọkọọkan bọtini.

O le sopọ sẹhin si apo eiyan nipa lilo pipaṣẹ asopọ so eyi ti yoo so igbewọle boṣewa ti agbegbe, iṣẹjade, ati awọn ṣiṣan aṣiṣe si apo ti nṣiṣẹ:

$ docker attach my_test

Yato si, o le bẹrẹ apo eiyan ni ipo ti o ya sọtọ nipa lilo asia -d . Lẹhinna lo pipaṣẹ so lati so igbewọle boṣewa ti ebute rẹ pọ, ṣiṣejade, ati awọn ṣiṣan aṣiṣe si apo ti nṣiṣẹ:

$ docker run --name my_test -d -it centos
$ docker attach my_test

Ni ikẹhin ṣugbọn ko kere ju, o le da eiyan ṣiṣiṣẹ kan duro lati igba igbimọ nipasẹ ṣiṣe pipaṣẹ wọnyi:

$ docker kill my_test

Gbogbo ẹ niyẹn! Ninu itọsọna yii, a ti bo bii a ṣe le fi sori ẹrọ ati lo Docker CE ni Ubuntu 20.04 Linux. Ti o ba ni ibeere eyikeyi, lo fọọmu esi ni isalẹ lati beere lọwọ wa.