Hvernig á að setja upp og nota Docker á Ubuntu 20.04


Docker er opinn vettvangur til að þróa, senda og keyra forrit sem nota sýndarvæðingu á stýrikerfi til að afhenda hugbúnað í pökkum sem kallast gámar. Þegar það hefur verið dreift, deilir notkun auðlindum gestgjafastýrikerfisins. Þetta þýðir að þeir eru mun skilvirkari en hypervisors (sýndarvélar) hvað varðar kerfisauðlindir. Í stað þess að sýna vélbúnað hvíla gámar ofan á einu Linux tilviki.

Í eftirfarandi námskeiði muntu læra hvernig á að setja upp og nota Docker á Ubuntu 20.04 stýrikerfinu þínu.

Forsendur

  • Mælt með stýrikerfi: ubuntu 20.04 - valfrjálst (Ubuntu 21.04)
  • Notendareikningur: Notendareikningur með sudo eða rót aðgang.
  • Nauðsynlegir pakkar: Curl

Uppfærir stýrikerfi

Uppfærðu þína ubuntu 20.04 stýrikerfi til að tryggja að allir núverandi pakkar séu það upp til dagsetning:

sudo apt update && sudo apt upgrade

Settu upp nauðsynlega pakka

Til að setja upp Docker með góðum árangri þarftu að setja upp eftirfarandi pakka; keyrðu þessa skipun ef þú ert ekki viss; það mun ekki skaða kerfið þitt.

sudo apt install apt-transport-https ca-certificates curl software-properties-common curl

Fáðu


Setja upp Docker

Flytja inn GPG lykil og geymslu

Fyrsta skrefið í uppsetningu Docker er að flytja inn GPG lykilinn með eftirfarandi skipun:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

Dæmi um úttak ef vel tekst:

OK

Næst skaltu flytja geymsluna inn í APT upprunalistann þinn sem hér segir:

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"

Uppfærðu nú APT geymslulistann þinn til að endurspegla nýju geymsluviðbótina:

sudo apt update

Setja upp Docker

Með GPG lykilinn og geymsluna flutt inn geturðu nú haldið áfram að setja upp Docker með því að nota eftirfarandi skipun:

sudo apt install docker-ce

Dæmi úttak:

Hvernig á að setja upp og nota Docker á Ubuntu 20.04

Gerð Y, ýttu síðan á ENTER HNAPPI til að halda áfram með uppsetninguna.

Næst skaltu staðfesta uppsetninguna með því að athuga útgáfuna/smíðina sem hér segir:

docker -v

Dæmi úttak:

Docker version 20.10.8, build 3967b7d

Annar valkostur er að nota apt-cache stefnuna:

sudo apt-cache policy docker-ce

Dæmi úttak:

Nú, sjálfgefið, ætti þjónustan fyrir Docker að vera sjálfkrafa ræst á Ubuntu 20.04. Til að staðfesta þetta skaltu nota systemctl stöðu skipun að athuga:

systemctl status docker

Dæmi úttak:

Ef af einhverjum tilviljun hefur Docker ekki verið virkjaður skaltu nota eftirfarandi skipun til að hefja þjónustuna:

sudo systemctl start docker

Til að gera Docker kleift að byrja við kerfisræsingu, notaðu eftirfarandi skipun:

sudo systemctl enable docker

Eitthvað annað gagnlegt systemctl skipanir að vita fyrir Docker:

Endurræstu Docker:

sudo systemctl restart docker

Hættu Docker:

sudo systemctl stop docker

Slökktu á Docker frá sjálfvirkri ræsingu við ræsingu kerfisins:

sudo systemctl disable docker

Valfrjálst – Bættu notanda við Docker Group

Sjálfgefið er að Docker er aðeins hægt að nota með rót og sudo skipunum. Fyrir flesta notendur, sérstaklega þá sem eru einu notendur stýrikerfisins, er það ekki mikið mál, en ef þú myndir hætta með aukaskipanirnar þarftu að bæta notendanafninu þínu við Docker hópinn.

Dæmi:

docker: Cannot connect to the Docker daemon. Is the docker daemon running on this host?.
See 'docker run --help'.

Til að forðast þetta og forðast að nota rót eða sudo skipun skaltu bæta notendanafninu þínu við Docker við það notendahópur. Til að gera þetta, notaðu eftirfarandi skipun:

sudo usermod -aG docker ${USER}

Næst, til að beita breytingunni, þarftu að skrá þig út og inn aftur. Til að gera þetta skaltu nota eftirfarandi skipun:

su - ${USER}

Nú ættir þú að staðfesta að notandanum þínum sé bætt við bryggju flokka með því að slá inn:

id -nG

Dæmi úttak:

joshua sudo docker

Að öðrum kosti, til að bæta öðrum notanda við tengiliðahópinn, geturðu gert það með eftirfarandi skipun:

sudo usermod -aG docker username

Fáðu


Hvernig á að nota Docker

Hvernig á að nota skipanir

Til að nota Docker þarftu að læra valkostina og skipanirnar. Dæmi um hvernig þetta lítur út:

sudo docker [option] [command]

Nú, góður upphafspunktur er að skoða allar tiltækar skipanir:

Usage:  docker [OPTIONS] COMMAND

A self-sufficient runtime for containers

Options:
      --config string      Location of client config files (default
                           "/home/joshua/.docker")
  -c, --context string     Name of the context to use to connect to the
                           daemon (overrides DOCKER_HOST env var and
                           default context set with "docker context use")
  -D, --debug              Enable debug mode
  -H, --host list          Daemon socket(s) to connect to
  -l, --log-level string   Set the logging level
                           ("debug"|"info"|"warn"|"error"|"fatal")
                           (default "info")
      --tls                Use TLS; implied by --tlsverify
      --tlscacert string   Trust certs signed only by this CA (default
                           "/home/joshua/.docker/ca.pem")
      --tlscert string     Path to TLS certificate file (default
                           "/home/joshua/.docker/cert.pem")
      --tlskey string      Path to TLS key file (default
                           "/home/joshua/.docker/key.pem")
      --tlsverify          Use TLS and verify the remote
  -v, --version            Print version information and quit

Management Commands:
  app*        Docker App (Docker Inc., v0.9.1-beta3)
  builder     Manage builds
  buildx*     Build with BuildKit (Docker Inc., v0.6.1-docker)
  config      Manage Docker configs
  container   Manage containers
  context     Manage contexts
  image       Manage images
  manifest    Manage Docker image manifests and manifest lists
  network     Manage networks
  node        Manage Swarm nodes
  plugin      Manage plugins
  scan*       Docker Scan (Docker Inc., v0.8.0)
  secret      Manage Docker secrets
  service     Manage services
  stack       Manage Docker stacks
  swarm       Manage Swarm
  system      Manage Docker
  trust       Manage trust on Docker images
  volume      Manage volumes

Commands:
  attach      Attach local standard input, output, and error streams to a running container
  build       Build an image from a Dockerfile
  commit      Create a new image from a container's changes
  cp          Copy files/folders between a container and the local filesystem
  create      Create a new container
  diff        Inspect changes to files or directories on a container's filesystem
  events      Get real time events from the server
  exec        Run a command in a running container
  export      Export a container's filesystem as a tar archive
  history     Show the history of an image
  images      List images
  import      Import the contents from a tarball to create a filesystem image
  info        Display system-wide information
  inspect     Return low-level information on Docker objects
  kill        Kill one or more running containers
  load        Load an image from a tar archive or STDIN
  login       Log in to a Docker registry
  logout      Log out from a Docker registry
  logs        Fetch the logs of a container
  pause       Pause all processes within one or more containers
  port        List port mappings or a specific mapping for the container
  ps          List containers
  pull        Pull an image or a repository from a registry
  push        Push an image or a repository to a registry
  rename      Rename a container
  restart     Restart one or more containers
  rm          Remove one or more containers
  rmi         Remove one or more images
  run         Run a command in a new container
  save        Save one or more images to a tar archive (streamed to STDOUT by default)
  search      Search the Docker Hub for images
  start       Start one or more stopped containers
  stats       Display a live stream of container(s) resource usage statistics
  stop        Stop one or more running containers
  tag         Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
  top         Display the running processes of a container
  unpause     Unpause all processes within one or more containers
  update      Update configuration of one or more containers
  version     Show the Docker version information
  wait        Block until one or more containers stop, then print their exit codes

Til að skoða frekari upplýsingar um skipun, notaðu eftirfarandi skipun til að birta frekari upplýsingar.

sudo docker <command> --help

Til dæmis mun kennsla sýna hjálparupplýsingar um ýta skipunina í docker:

Til að skoða kerfisupplýsingar um docker á kerfinu þínu skaltu nota eftirfarandi skipun:

sudo docker info

Dæmi úttak:

Client:
 Context:    default
 Debug Mode: false
 Plugins:
  app: Docker App (Docker Inc., v0.9.1-beta3)
  buildx: Build with BuildKit (Docker Inc., v0.6.1-docker)
  scan: Docker Scan (Docker Inc., v0.8.0)

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 0
 Server Version: 20.10.8
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: e25210fe30a0a703442421b0f60afac609f950a3
 runc version: v1.0.1-0-g4144b63
 init version: de40ad0
 Security Options:
  apparmor
  seccomp
   Profile: default
 Kernel Version: 5.11.0-34-generic
 Operating System: Ubuntu 20.04.3 LTS
 OSType: linux
 Architecture: x86_64
 CPUs: 4
 Total Memory: 3.81GiB
 Name: ubuntu
 ID: CLA2:OOBD:5BJW:4WPT:4Y7L:ZGS6:VNIL:JGV4:ZTUA:IG3S:BGX7:Z626
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

Hvernig á að prófa Docker Myndir eru aðgengilegar

Til að skilja hvernig Docker virkar eru Docker gámar smíðaðir úr Docker myndum sem dregnar eru úr Docker miðstöð sem er í eigu og viðhaldi fyrirtækisins sem stofnaði Docker. Docker Hub gerir öllum kleift að hýsa Docker myndina sína, þannig að flest forrit og Linux dreifingar eru hýst á Hub.

Fyrsta prófið er að ganga úr skugga um að Docker Hub sé aðgengilegur og þú getur halað niður myndum frá Docker Hub. Til að gera þetta, notaðu eftirfarandi skipun:

sudo docker run hello-world

Nú, það fyrsta sem þú gætir tekið eftir er framleiðslan „Get ekki fundið mynd „halló-heimur: nýjasta“ á staðnum.“ Ekki hafa áhyggjur; þetta er eðlilegt og allt eftir nettengingunni þinni ætti docker forritið að draga nýja mynd úr Docker Hub, sjálfgefna geymslunni.

Dæmi um úttak ef vel tekst:

Nú þegar Docker myndinni hefur verið hlaðið niður eins og hér að ofan, bjó Docker til nýjan ílát úr myndinni sem heitir Halló heimur.

Hvernig á að leita að Docker myndum

Til að leita að myndum sem eru staðsettar á Docker Hub með því að nota docker leitarskipun.

Dæmi:

docker search ubuntu

Dæmi úttak:

Eins og hér að ofan, listi yfir allar myndir sem nöfn passa við leitarskipunarstrenginn sem þú framkvæmdir. Eftir lýsinguna má finna þrjá dálka.

  • STJÖRNUR - Fjöldi atkvæða sem berast í samfélaginu, hærra er alltaf gott.
  • OPINBER - Myndir sem eru smíðaðar og studdar af Docker fyrirtækinu.
  • Sjálfvirkt – Myndir sem eru byggðar úr samfélaginu, ekki opinberlega samþykktar af Docker fyrirtækinu. Notkun á eigin ábyrgð.

Hvernig á að draga Docker Image

Eftir að hafa leitað að mynd geturðu dregið þær með docker pull skipun.

docker pull ubuntu

Dæmi úttak:

Næst skaltu ganga úr skugga um að myndin sé til á kerfinu þínu:

docker images

Dæmi úttak:

Eins og hér að ofan fékkstu ubuntu mynd og upprunalega halló heimsins mynd þú bjóst til fyrr í kennslunni í prófunarskyni. Úttakið gefur einnig upplýsingar um merkið, myndauðkenni, gerð og stærð.

Hvernig á að keyra Docker Container frá mynd

Nú þegar þú hefur lært grunnatriðin geturðu nú keyrt ubuntu myndina sem þú hleður niður. Til að gera þetta, notaðu eftirfarandi skipun með -it fánanum sem gerir þér kleift að fá aðgang með ílátinu með því að nota skel aðgang:

docker run -it ubuntu

Athugið, eins og með halló-orð til dæmis, ef mynd hefur ekki verið hlaðið niður, docker run skipun er keyrt, mun Docker viðskiptavinurinn fyrst hala niður myndinni og keyra síðan ílátið með því að nota hana.

Þú verður nú í skeljaílátinu, eins og þú sérð með eftirfarandi úttak:

root@75b1115bacfd:/# 

Úttakið mun sýna þitt auðkenni gáma, sem í tilviki kennslunnar er 75b1115bacfd. Vinsamlegast athugaðu þetta auðkenni, þar sem þú þarft það í stjórnunartilgangi, svo sem að fjarlægja ílátið síðar.

Hvernig á að setja upp pakka í Docker Container

Það er frekar auðvelt að setja upp pakka inni í Docker ílátinu þínu; það er í grundvallaratriðum það sama og að starfa í aðal Ubuntu kerfinu þínu.

Til dæmis geturðu prófað með því að setja upp nokkra pakka.

Settu upp Nginx vefforrit:

apt install nginx

Dæmi úttak:

Gerð Y, ýttu síðan á ENTER HNAPPI til að halda áfram með uppsetninguna.

Þú munt líklega fá leiðbeiningar um að velja landsvæði þitt þegar þú setur upp pakka í fyrsta skipti.

Dæmi:

Veldu landfræðilega staðsetningu næst þér með því að slá inn númerið og ýta svo á ENTER LYKILL.

Næst verðurðu beðinn um að velja skápaborgina; eins og með landfræðilega staðsetningu, veldu staðsetningu skápsins og ýttu á ENTER LYKILL.

Dæmi:

Staðfestu Nginx uppsetninguna á Docker ílátinu þínu með því að nota eftirfarandi útgáfuskipun:

nginx -v
nginx version: nginx/1.18.0 (Ubuntu)

Hvernig á að uppfæra pakka í Docker Container

Til að uppfæra pakka inni í Docker ílátinu geturðu notað apt update skipunina án sudo eða rótar vegna þess að þú starfar nú þegar sem rót notandi ílátsins.

Dæmi:

apt update

Uppfærðu síðan eins og þú værir að vinna í Ubuntu stýrikerfinu þínu:

apt upgrade 

Hvernig á að fjarlægja pakka í Docker Container

Ferlið við að fjarlægja pakka í Docker ílátinu þínu er það sama og að setja þá upp á ílátinu þínu. Til að fjarlægja pakkann sem þú settir upp áður, til dæmis var það Nginx, notaðu eftirfarandi skipun:

apt autoremove nginx

Dæmi úttak:

Gerð Y, ýttu síðan á ENTER HNAPPI til að halda áfram með fjarlæginguna.

Hvernig á að hætta í Docker Container

Til að hætta í Docker ílátinu þínu skaltu nota eftirfarandi skipun:

exit

Hvernig á að skrá Docker Containers

Nú þegar þú hefur farið eins og hér að ofan aftur í aðalstýrikerfið þitt. Þú getur notað docker ps skipun sem mun skrá virkjaða Docker skipunina í kerfinu þínu:

sudo docker ps

Dæmi úttak:

Önnur skipun er að nota bryggju ps með -fáni, og þetta mun skrá alla Docker gáma sem eru bæði virkir og óvirkir.

sudo docker ps -a

Dæmi úttak:

Eins og þú sérð hér að ofan er einn virkur ílát og tveir óvirkir.

Önnur handhæg skipun er docker ps með -l fáni, skráning síðasta búna ílátið.

sudo docker ps -l

Dæmi úttak:

Athugið nöfnin á gámunum; þú getur notað þetta í stað IDS ílátsins; til dæmis, hér að ofan, er gámaauðkenni 5c9785bbfd75 nefnt musing_lehmann.

Hvernig á að hefja Docker gám

Til að hefja Docker gám þarftu að fá auðkenni gáma sem, ef gleymist, er fljótt að finna með því að nota docker ps skipunina. Næst skaltu framkvæma eftirfarandi skipun sem dæmi um að hefja ílát:

sudo docker start 5c9785bbfd75

Til að staðfesta stöðuna til að sjá hvort hún sé virk, notaðu docker ps skipunina:

sudo docker ps

Dæmi úttak:

Eins og þú sérð er auðkenni gáma 5c9785bbfd75 nú virkt.

Hvernig á að stöðva Docker gám

Að stöðva Docker gám er það sama og að ræsa gáminn en öfugt með stöðvunarvalkostinum sem notaður er.

sudo docker stop 5c9785bbfd75

Notaðu nú docker ps skipunina aftur til að sjá stöðuna:

Dæmi úttak:

Eins og hér að ofan geturðu séð gámaauðkennið 5c9785bbfd75 er nú óvirkt.

Hvernig á að fjarlægja Docker gám

Þegar þú hefur lokið við eða þarfnast ekki lengur ílátsins geturðu fjarlægt hann með því að nota docker rm skipunina með auðkenni gáma eða heiti gáms. Til dæmis, fjarlægðu prófunarílátið hello-world.

sudo docker rm 7f00ad33be63

Að öðrum kosti geturðu eytt gámaauðkenninu þínu með nafninu sem Docker úthlutaði. Í kennslunni er gámaauðkenni 7f00ad33be63 (hello-world gámur) heitir nifty_gagarin. Til fjarlægðu það, notaðu eftirfarandi:

sudo docker rm nifty_gagarin

Dæmi úttak:

Athugasemdir og niðurstaða

Í kennslunni lærðir þú hvernig á að setja upp Docker á Ubuntu 20.04, vinna með myndir og ílát. Héðan geturðu haldið áfram að læra um hvernig á að ýta og framfylgja breytingum á Docker Hub ef þú þarft að deila eða taka öryggisafrit af myndum. Að skrá sig fyrir reikning er ókeypis og flestar áætlanir eru mjög hagkvæmar, þar sem viðskipti eru hæst á 21 dollara; ef áhugi er fyrir, farðu á skráningarsíðuna og stofnaðu reikning.

Á heildina litið er Docker mjög vinsælt þar sem það gjörbylti því hvernig þróun fer fram þessa dagana þar sem auðvelt er í notkun, öryggi og kröfur um líkamlegar auðlindir eru síður sýndarvél þar sem vettvangurinn hefur rokið upp í hugbúnaðariðnaðinum. Umræðan á sér nú stað um það hvort sé öruggara á milli sýndarvéla og docker. Hins vegar getur bæði verið hættulegt og góðar venjur geta stöðvað flest öryggisvandamál með hvaða sýndarvæðingu sem þú velur.

Gerast áskrifandi
Tilkynna um
1 athugasemd
Inline endurgjöf
Skoða allar athugasemdir

þú átt að stefna!
<3

Síðast breytt fyrir 21 dögum síðan af coucou
1
0
Vilt elska hugsanir þínar, vinsamlegast skrifaðu athugasemdir.x