Yadda ake Sanya Docker da Gudun Kwantena Docker a cikin Ubuntu
Docker buɗaɗɗen tushe ne kuma mashahurin tsarin aiki da tsarin aiki (wanda akafi sani da ''containerization') fasaha wacce ke gudana da farko akan Linux da Windows.
Tare da kwantena, masu haɓakawa (da masu gudanar da tsarin) na iya haɗa aikace-aikacen tare da duk abin da ake buƙata don gudanar da aikace-aikacen - lambar, lokacin gudu, ɗakunan karatu, masu canjin yanayi, da fayilolin sanyi, da jigilar su duka azaman fakiti ɗaya. Ee, yana da kyau haka!
A cikin wannan labarin, za mu nuna muku yadda ake shigar da Docker CE (Community Edition), ƙirƙira da gudanar da kwantena Docker akan rarrabawar Ubuntu.
Shigar da Docker CE (Tsarin Al'umma) a cikin Ubuntu
1. Don shigar da Docker CE, da farko, kuna buƙatar cire tsoffin nau'ikan Docker ana kiran su docker
, docker.io
, ko docker-engine
daga tsarin ta amfani da umarni mai zuwa.
$ sudo apt-get remove docker docker-engine docker.io containerd runc
2. Na gaba, kuna buƙatar saita wurin ajiyar Docker don shigarwa da sabunta Docker daga ma'ajiyar ta amfani da bin umarni.
$ sudo apt-get update $ 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 $(lsb_release -cs) stable"
3. Sabunta fihirisar fakitin dacewa kuma shigar da sabon sigar Docker CE ta amfani da bin umarni.
$ sudo apt-get update $ sudo apt-get install docker-ce docker-ce-cli containerd.io
Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: aufs-tools cgroupfs-mount pigz The following NEW packages will be installed: aufs-tools cgroupfs-mount containerd.io docker-ce docker-ce-cli pigz 0 upgraded, 6 newly installed, 0 to remove and 167 not upgraded. Need to get 50.7 MB of archives. After this operation, 243 MB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 http://archive.ubuntu.com/ubuntu bionic/universe amd64 pigz amd64 2.4-1 [57.4 kB] Get:2 https://download.docker.com/linux/ubuntu bionic/stable amd64 containerd.io amd64 1.2.4-1 [19.9 MB] Get:3 http://archive.ubuntu.com/ubuntu bionic/universe amd64 aufs-tools amd64 1:4.9+20170918-1ubuntu1 [104 kB] Get:4 http://archive.ubuntu.com/ubuntu bionic/universe amd64 cgroupfs-mount all 1.4 [6,320 B] Get:5 https://download.docker.com/linux/ubuntu bionic/stable amd64 docker-ce-cli amd64 5:18.09.3~3-0~ubuntu-bionic [13.1 MB] Get:6 https://download.docker.com/linux/ubuntu bionic/stable amd64 docker-ce amd64 5:18.09.3~3-0~ubuntu-bionic [17.4 MB] Fetched 50.7 MB in 7s (7,779 kB/s) ...
4. Bayan an samu nasarar shigar da kunshin Docker CE, sabis ɗin ya kamata a fara shi ta atomatik kuma a kunna shi ta atomatik don farawa daga tsarin boot, zaku iya duba matsayinsa ta amfani da umarni mai zuwa.
$ sudo systemctl status docker
● docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2019-03-06 08:06:42 UTC; 2min 18s ago Docs: https://docs.docker.com Main PID: 5274 (dockerd) Tasks: 8 CGroup: /system.slice/docker.service └─5274 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock Mar 06 08:06:41 tecmint dockerd[5274]: time="2019-03-06T08:06:41.562587408Z" level=warning msg="Your kernel does not support cgroup rt runtime" Mar 06 08:06:41 tecmint dockerd[5274]: time="2019-03-06T08:06:41.562767803Z" level=warning msg="Your kernel does not support cgroup blkio weight" Mar 06 08:06:41 tecmint dockerd[5274]: time="2019-03-06T08:06:41.562966844Z" level=warning msg="Your kernel does not support cgroup blkio weight_device" Mar 06 08:06:41 tecmint dockerd[5274]: time="2019-03-06T08:06:41.565298457Z" level=info msg="Loading containers: start." Mar 06 08:06:41 tecmint dockerd[5274]: time="2019-03-06T08:06:41.950942467Z" level=info msg="Default bridge (docker0) is assigned with an IP address 172.17.0.0/16. Daemon option --bip can be used to set a prefer Mar 06 08:06:42 tecmint dockerd[5274]: time="2019-03-06T08:06:42.036964493Z" level=info msg="Loading containers: done." Mar 06 08:06:42 tecmint dockerd[5274]: time="2019-03-06T08:06:42.156279378Z" level=info msg="Docker daemon" commit=774a1f4 graphdriver(s)=overlay2 version=18.09.3 Mar 06 08:06:42 tecmint dockerd[5274]: time="2019-03-06T08:06:42.157145045Z" level=info msg="Daemon has completed initialization" Mar 06 08:06:42 tecmint systemd[1]: Started Docker Application Container Engine. Mar 06 08:06:42 tecmint dockerd[5274]: time="2019-03-06T08:06:42.224229999Z" level=info msg="API listen on /var/run/docker.sock"
5. A ƙarshe, tabbatar da cewa an shigar da Docker CE daidai ta hanyar gudanar da hoton hello-world
.
$ sudo docker run hello-world
Hello from Docker! This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. (amd64) 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal. To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash Share images, automate workflows, and more with a free Docker ID: https://hub.docker.com/ For more examples and ideas, visit: https://docs.docker.com/get-started/
Koyi Docker Basic Docker a cikin Ubuntu
6. Don samun bayani game da Docker, gudanar da umarni mai zuwa.
$ sudo docker info Kernel Version: 5.0.0-050000-generic Operating System: Ubuntu 18.04.1 LTS OSType: linux Architecture: x86_64 CPUs: 1 Total Memory: 1.452GiB Name: tecmint ID: FWSB:IRIF:DYL7:PRB5:Y66E:37MY:ISPO:HZVY:6YJO:2IYL:TO6Y:GNB7 Docker Root Dir: /var/lib/docker Debug Mode (client): false Debug Mode (server): false Registry: https://index.docker.io/v1/ Labels: Experimental: false Insecure Registries: 127.0.0.0/8 Live Restore Enabled: false Product License: Community Engine
7. Don samun bayani game da sigar Docker, gudanar da umarni mai zuwa.
$ sudo docker version Client: Version: 18.09.3 API version: 1.39 Go version: go1.10.8 Git commit: 774a1f4 Built: Thu Feb 28 06:53:11 2019 OS/Arch: linux/amd64 Experimental: false Server: Docker Engine - Community Engine: Version: 18.09.3 API version: 1.39 (minimum version 1.12) Go version: go1.10.8 Git commit: 774a1f4 Built: Thu Feb 28 05:59:55 2019 OS/Arch: linux/amd64 Experimental: false
8. Don samun jerin duk umarnin Docker da ke akwai, yi docker
akan tashar ku.
$ docker Usage: docker [OPTIONS] COMMAND A self-sufficient runtime for containers Options: --config string Location of client config files (default "/home/tecmint/.docker") -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/tecmint/.docker/ca.pem") --tlscert string Path to TLS certificate file (default "/home/tecmint/.docker/cert.pem") --tlskey string Path to TLS key file (default "/home/tecmint/.docker/key.pem") --tlsverify Use TLS and verify the remote -v, --version Print version information and quit Management Commands: builder Manage builds config Manage Docker configs container Manage containers engine Manage the docker engine image Manage images network Manage networks node Manage Swarm nodes plugin Manage plugins 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 ....
Zazzage Hoton Docker a cikin Ubuntu
9. Don gudanar da akwati na Docker, da farko, kuna buƙatar zazzage hoto daga Docker Hub - yana ba da hotuna kyauta daga ma'ajiyar sa.
Misali, don zazzage hoton Docker mai suna CentOS 7
, ba da umarni mai zuwa.
$ sudo docker search centos NAME DESCRIPTION STARS OFFICIAL AUTOMATED centos The official build of CentOS. 5227 [OK] ansible/centos7-ansible Ansible on Centos7 120 [OK] jdeathe/centos-ssh CentOS-6 6.10 x86_64 / CentOS-7 7.5.1804 x86… 107 [OK] consol/centos-xfce-vnc Centos container with "headless" VNC session… 81 [OK] imagine10255/centos6-lnmp-php56 centos6-lnmp-php56 50 [OK] centos/mysql-57-centos7 MySQL 5.7 SQL database server 47 tutum/centos Simple CentOS docker image with SSH access 43 gluster/gluster-centos Official GlusterFS Image [ CentOS-7 + Glust… 40 [OK] openshift/base-centos7 A Centos7 derived base image for Source-To-I… 39 centos/postgresql-96-centos7 PostgreSQL is an advanced Object-Relational … 37 centos/python-35-centos7 Platform for building and running Python 3.5… 33 kinogmt/centos-ssh CentOS with SSH 26 [OK] openshift/jenkins-2-centos7 A Centos7 based Jenkins v2.x image for use w… 20 centos/php-56-centos7 Platform for building and running PHP 5.6 ap… 19 pivotaldata/centos-gpdb-dev CentOS image for GPDB development. Tag names… 10 openshift/wildfly-101-centos7 A Centos7 based WildFly v10.1 image for use … 6 openshift/jenkins-1-centos7 DEPRECATED: A Centos7 based Jenkins v1.x ima… 4 darksheer/centos Base Centos Image -- Updated hourly 3 [OK] pivotaldata/centos Base centos, freshened up a little with a Do… 2 pivotaldata/centos-mingw Using the mingw toolchain to cross-compile t… 2 pivotaldata/centos-gcc-toolchain CentOS with a toolchain, but unaffiliated wi… 1 openshift/wildfly-81-centos7 A Centos7 based WildFly v8.1 image for use w… 1 blacklabelops/centos CentOS Base Image! Built and Updates Daily! 1 [OK] smartentry/centos centos with smartentry 0 [OK] jameseckersall/sonarr-centos Sonarr on CentOS 7 0 [OK]
10. Bayan kun tantance wane hoton da kuke son aiwatarwa bisa ga buƙatunku, zazzage shi a gida ta hanyar bin umarnin da ke ƙasa (a cikin wannan yanayin ana saukar da hoton CentOS kuma ana amfani da shi).
$ docker pull centos Using default tag: latest latest: Pulling from library/centos a02a4930cb5d: Pull complete Digest: sha256:184e5f35598e333bfa7de10d8fb1cebb5ee4df5bc0f970bf2b1e7c7345136426 Status: Downloaded newer image for centos:latest
11. Don jera duk hotunan Docker da ke akwai akan mai gidan ku gudanar da umarni mai zuwa.
$ sudo docker images REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest fce289e99eb9 2 months ago 1.84kB centos latest 1e1148e4cc2c 3 months ago 202MB
12. Idan ba kwa son hoton Docker kuma za ku iya cire shi ta amfani da umarni mai zuwa.
$ sudo docker rmi centos Untagged: centos:latest Untagged: [email :184e5f35598e333bfa7de10d8fb1cebb5ee4df5bc0f970bf2b1e7c7345136426 Deleted: sha256:1e1148e4cc2c148c6890a18e3b2d2dde41a6745ceb4e5fe94a923d811bf82ddb Deleted: sha256:071d8bd765171080d01682844524be57ac9883e53079b6ac66707e192ea25956
Gudanar da Akwatin Docker a cikin Ubuntu
13. Domin ƙirƙirar da gudanar da akwati na Docker, da farko kuna buƙatar aiwatar da umarni a cikin hoton da aka zazzage CentOS
, don haka babban umarni zai kasance don duba fayil ɗin rarrabawa a cikin akwati ta amfani da umarnin cat. , kamar yadda aka nuna.
$ docker run centos cat /etc/issue
14. Don sake gudanar da kwantena, da farko kuna buƙatar samun ID ko Sunan Container ta hanyar aiwatar da umarni mai zuwa, wanda zai nuna jerin kwantena masu gudana da dakatarwa:
$ sudo docker ps -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0ddfa81c5779 centos "cat /etc/issue" About a minute ago Exited (0) About a minute ago elastic_shirley
15. Da zarar an sami ID na Container ko Suna, zaku iya fara akwati ta amfani da umarni mai zuwa:
$ sudo docker start 0ddfa81c5779 OR $ sudo docker start elastic_shirley
Anan, kirtani 0ddfa81c5779
tana wakiltar ID ɗin akwati kuma elastic_shirley
tana wakiltar Sunan akwati.
16. Don dakatar da kwantena mai gudu gudu docker stop
umarni ta hanyar tantance ID ko Sunan Kwantena.
$ sudo docker stop 0ddfa81c5779 OR $ sudo docker stop elastic_shirley
17. Hanya mafi kyau, don kada ku tuna ID ɗin akwati shine don ayyana suna na musamman ga kowane akwati da kuka ƙirƙira ta amfani da zaɓin --name
kamar yadda aka nuna.
$ docker run --name myname centos cat /etc/issue
18. Domin haɗawa da gudanar da umarnin Linux a cikin akwati bayar da umarni mai zuwa.
$ docker run -it centos bash uname -a Linux 6213ec547863 5.0.0-050000-generic #201903032031 SMP Mon Mar 4 01:33:18 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core)
19. Don barin kuma komawa zuwa masauki daga wurin kwantena mai gudana dole ne ku rubuta exit
umarni kamar yadda aka nuna.
$ exit
Wannan duka don sarrafa kwantena na asali. Idan kuna da wasu tambayoyi ko tsokaci game da wannan labarin, yi amfani da fom ɗin amsa da ke ƙasa don isa gare mu.