Penggunaan imej Docker
Apabila menjalankan bekas, jika imej yang digunakan tidak wujud secara setempat, docker akan memuat turunnya secara automatik daripada gudang imej docker Secara lalai adalah untuk memuat turun daripada sumber imej awam Docker Hub.
Mari belajar di bawah:
1 Urus dan gunakan imej hos Docker tempatan
2
Senaraikan senarai imejKita boleh menggunakan
imej docker untuk menyenaraikan imej pada hos setempat.
php@php:~$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu 14.04 90d5884b1ee0 5 days ago 188 MB php 5.6 f40e9e0f10c8 9 days ago 444.8 MB nginx latest 6f8d099c3adc 12 days ago 182.7 MB mysql 5.6 f2e8d6c772c0 3 weeks ago 324.6 MB httpd latest 02ef73cf1bc0 3 weeks ago 194.4 MB ubuntu 15.10 4e3b13c8a266 4 weeks ago 136.3 MB hello-world latest 690ed74de00f 6 months ago 960 B training/webapp latest 6fae60ef3446 11 months ago 348.8 MBPenjelasan setiap pilihan:
REPOSTITORY: Mewakili sumber gudang imej
TAG: Tag imej
ID IMEJ: ID Imej
DICIPTA:Masa penciptaan imej
SAIZ: Saiz imej
php@php:~$ docker run -t -i ubuntu:15.10 /bin/bash root@d77ccb2e5cca:/#Jika kita mahu menggunakan imej sistem ubuntu versi 14.04 untuk menjalankan bekas, arahan Seperti berikut:
php@php:~$ docker run -t -i ubuntu:14.04 /bin/bash root@39e968165990:/#Jika anda tidak menentukan label versi imej, contohnya, jika anda hanya menggunakan ubuntu, docker akan menggunakan ubuntu:latest image secara lalai.
Dapatkan imej baharu Apabila kami menggunakan imej yang tidak wujud pada hos tempatan, Docker akan memuat turun imej tersebut secara automatik. Jika kita ingin memuat turun imej ini terlebih dahulu, kita boleh menggunakan arahan tarik docker untuk memuat turunnya.
Cphp@php:~$ docker pull ubuntu:13.10 13.10: Pulling from library/ubuntu 6599cadaf950: Pull complete 23eda618d451: Pull complete f0be3084efe9: Pull complete 52de432f084b: Pull complete a3ed95caeb02: Pull complete Digest: sha256:15b79a6654811c8d992ebacdfbd5152fcf3d165e374e264076aa435214a947a3 Status: Downloaded newer image for ubuntu:13.10Selepas muat turun selesai, kami boleh terus menggunakan imej ini untuk menjalankan bekas.
Cari imej
Kami boleh mencari imej dari tapak web Docker Hub ialah:
https://hub.docker.com/<. 🎜>Kami juga Anda boleh menggunakan arahan carian docker untuk mencari imej. Sebagai contoh, kami memerlukan cermin httpd sebagai perkhidmatan web kami. Kita boleh mencari httpd melalui arahan carian docker untuk mencari imej yang sesuai dengan kita.php@php:~$ docker search httpdNAMA:
Nama sumber gudang imej
PENERANGAN:Penerangan imej
RASMI:Sama ada docker dikeluarkan secara rasmi
Seret imejKami memutuskan untuk menggunakan versi rasmi imej httpd dalam gambar di atas, gunakan arahan docker pull untuk Muat turun imej.
php@php:~$ docker pull httpd Using default tag: latest latest: Pulling from library/httpd 8b87079b7a06: Pulling fs layer a3ed95caeb02: Download complete 0d62ec9c6a76: Download complete a329d50397b9: Download complete ea7c1f032b5c: Waiting be44112b72c7: Waiting
Selepas muat turun selesai, kita boleh menggunakan imej ini.
php@php:~$ docker run httpdBuat imej
Apabila imej yang kami muat turun dari gudang imej docker tidak memenuhi keperluan kami, kami boleh menukar imej itu dalam dua cara berikut.
- 1. Kemas kini imej daripada bekas yang telah dibuat dan serahkan imej
2. Gunakan arahan Dockerfile untuk mencipta imej baharu
Kemas kini imej
Sebelum mengemas kini imej, kita perlu menggunakan imej untuk mencipta bekas.php@php:~$ docker run -t -i ubuntu:15.10 /bin/bash root@e218edb10161:/#menggunakan arahan kemas kini apt-get dalam bekas yang sedang berjalan untuk mengemas kini.
Selepas menyelesaikan operasi, masukkan arahan keluar untuk keluar dari bekas.
Bekas dengan ID e218edb10161 pada masa ini adalah bekas yang telah diubah mengikut keperluan kita. Kami boleh menyerahkan salinan kontena melalui perintah docker commit.
php@php:~$ docker commit -m="has update" -a="php" e218edb10161 php/ubuntu:v2 sha256:70bf1840fd7c0d2d8ef0a42a817eb29f854c1af8f7c59fc03ac7bdee9545aff8
Perihalan setiap parameter:
-m:Maklumat perihalan yang diserahkan
-a:Nyatakan pengarang imej
e218edb10161: ID Bekas
php/ubuntu :v2:Nyatakan nama imej sasaran yang akan dibuat
Kita boleh menggunakan perintah imej docker untuk melihat imej baharu kamiphp/ubuntu : v2:
php@php:~$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE php/ubuntu v2 70bf1840fd7c 15 seconds ago 158.5 MB ubuntu 14.04 90d5884b1ee0 5 days ago 188 MB php 5.6 f40e9e0f10c8 9 days ago 444.8 MB nginx latest 6f8d099c3adc 12 days ago 182.7 MB mysql 5.6 f2e8d6c772c0 3 weeks ago 324.6 MB httpd latest 02ef73cf1bc0 3 weeks ago 194.4 MB ubuntu 15.10 4e3b13c8a266 4 weeks ago 136.3 MB hello-world latest 690ed74de00f 6 months ago 960 B training/webapp latest 6fae60ef3446 12 months ago 348.8 MB
Mulakan bekas menggunakan imej baharu kamiphp/ubuntu
php@php:~$ docker run -t -i php/ubuntu:v2 /bin/bash root@1a9fbdeb5da3:/#
Bina imej
Kami menggunakan Perintah binaan docker untuk mencipta imej baharu dari awal. Untuk melakukan ini, kita perlu mencipta Dockerfile yang mengandungi satu set arahan untuk memberitahu Docker cara membina imej kita.
php@php:~$ cat Dockerfile FROM centos:6.7 MAINTAINER Fisher "fisher@sudops.com" RUN /bin/echo 'root:123456' |chpasswd RUN useradd php RUN /bin/echo 'php:123456' |chpasswd RUN /bin/echo -e "LANG=\"en_US.UTF-8\"" > /etc/default/local EXPOSE 22 EXPOSE 80 CMD /usr/sbin/sshd -D
Setiap arahan akan mencipta lapisan baharu pada imej, dan awalan setiap arahan mestilah huruf besar.
FROM pertama menentukan sumber imej yang hendak digunakan
Arahan RUN memberitahu docker untuk melaksanakan arahan dalam imej dan memasang apa. . .
Kemudian, kami menggunakan fail Dockerfile untuk membina imej melalui arahan binaan docker.
php@php:~$ docker build -t php/centos:6.7 . Sending build context to Docker daemon 17.92 kB Step 1 : FROM centos:6.7 ---> d95b5ca17cc3 Step 2 : MAINTAINER Fisher "fisher@sudops.com" ---> Using cache ---> 0c92299c6f03 Step 3 : RUN /bin/echo 'root:123456' |chpasswd ---> Using cache ---> 0397ce2fbd0a Step 4 : RUN useradd php ......
Perihalan parameter:
-t: Tentukan nama imej sasaran yang akan dibuat
.: Direktori di mana fail Dockerfile terletak Anda boleh menentukan laluan mutlak fail Docker
Gunakan imej docker untuk menyemak sama ada imej yang dibuat sudah. wujud dalam senarai. ID imej ialah 860c279d2fec
php@php:~$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE php/centos 6.7 860c279d2fec About a minute ago 190.6 MB php/ubuntu v2 70bf1840fd7c 17 hours ago 158.5 MB ubuntu 14.04 90d5884b1ee0 6 days ago 188 MB php 5.6 f40e9e0f10c8 10 days ago 444.8 MB nginx latest 6f8d099c3adc 12 days ago 182.7 MB mysql 5.6 f2e8d6c772c0 3 weeks ago 324.6 MB httpd latest 02ef73cf1bc0 3 weeks ago 194.4 MB ubuntu 15.10 4e3b13c8a266 5 weeks ago 136.3 MB hello-world latest 690ed74de00f 6 months ago 960 B centos 6.7 d95b5ca17cc3 6 months ago 190.6 MB training/webapp latest 6fae60ef3446 12 months ago 348.8 MB
Kita boleh menggunakan imej baharu untuk mencipta bekas
php@php:~$ docker run -t -i php/centos:6.7 /bin/bash [root@41c28d18b5fb /]# id php uid=500(php) gid=500(php) groups=500(php)
Seperti yang anda lihat dari atas, imej baharu sudah mengandungi php pengguna kami cipta
Tetapkan tag imej
Kita boleh menggunakan arahan tag docker untuk menambah tag baharu pada imej.
php@php:~$ docker tag 860c279d2fec php/centos:dev
ID imej teg buruh pelabuhan, berikut ialah 860c279d2fec, nama pengguna, nama sumber imej (nama repositori) dan nama teg baharu (teg).
Menggunakan arahan imej docker, anda boleh melihat bahawa imej dengan ID 860c279d2fec mempunyai satu lagi label.
rreeee