Docker 基礎及安裝 原

Docker 是一個開源工具,它可以讓創建和管理 Linux 容器變得簡單。容器就像是輕量級的虛擬機,並且可以以毫秒級的速度來啓動或停止。Docker 幫助系統管理員和程序員在容器中開發應用程序,並且可以擴展到成千上萬的節點。
容器和 VM(虛擬機)的主要區別是,容器提供了基於進程的隔離,而虛擬機提供了資源的完全隔離。虛擬機可能需要一分鐘來啓動,而容器只需要一秒鐘或更短。容器使用宿主操作系統的內核,而虛擬機使用獨立的內核。
Docker 的侷限性之一是,它只能用在 64 位的操作系統上。

Docker是一個開源的引擎,可以輕鬆的爲任何應用創建一個輕量級的、可移植的、自給自足的容器。開發者在筆記本上編譯測試通過的容器可以批量地在生產環境中部署,包括VMs(虛擬機)、bare metal、OpenStack 集羣和其他的基礎應用平臺。 
Docker通常用於如下場景:
web應用的自動化打包和發佈;
自動化測試和持續集成、發佈;
在服務型環境中部署和調整數據庫或其他的後臺應用;
從頭編譯或者擴展現有的OpenShift或Cloud Foundry平臺來搭建自己的PaaS環境。

centos7安裝docker

Centos7安裝docker需要能上網,通過默認的yum源配置。
必須得要:
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7


[root@server01 yum.repos.d]# yum -y install docker
^[[DLoaded plugins: fastestmirror
base                                                                                                                                    | 3.6 kB  00:00:00
extras                                                                                                                                  | 3.4 kB  00:00:00
updates                                                                                                                                 | 3.4 kB  00:00:00
(1/4): extras/7/x86_64/primary_db                                                                                                       | 145 kB  00:00:02
(2/4): base/7/x86_64/primary_db                                                                                                         | 5.7 MB  00:00:03
(3/4): base/7/x86_64/group_gz                                                                                                           | 156 kB  00:00:05
(4/4): updates/7/x86_64/primary_db                                                                                                      | 6.0 MB  00:00:09
Determining fastest mirrors
 * base: mirrors.zju.edu.cn
 * extras: mirrors.zju.edu.cn
 * updates: mirrors.zju.edu.cn
Resolving Dependencies
--> Running transaction check
---> Package docker.x86_64 2:1.12.6-68.gitec8512b.el7.centos will be installed
--> Processing Dependency: docker-common = 2:1.12.6-68.gitec8512b.el7.centos for package: 2:docker-1.12.6-68.gitec8512b.el7.centos.x86_64
--> Processing Dependency: docker-client = 2:1.12.6-68.gitec8512b.el7.centos for package: 2:docker-1.12.6-68.gitec8512b.el7.centos.x86_64
--> Processing Dependency: libseccomp.so.2()(64bit) for package: 2:docker-1.12.6-68.gitec8512b.el7.centos.x86_64
--> Running transaction check
---> Package docker-client.x86_64 2:1.12.6-68.gitec8512b.el7.centos will be installed
---> Package docker-common.x86_64 2:1.12.6-68.gitec8512b.el7.centos will be installed
--> Processing Dependency: skopeo-containers >= 0.1.24-3 for package: 2:docker-common-1.12.6-68.gitec8512b.el7.centos.x86_64
--> Processing Dependency: oci-umount >= 2:2.0.0-1 for package: 2:docker-common-1.12.6-68.gitec8512b.el7.centos.x86_64
--> Processing Dependency: oci-systemd-hook >= 1:0.1.4-9 for package: 2:docker-common-1.12.6-68.gitec8512b.el7.centos.x86_64
--> Processing Dependency: oci-register-machine >= 1:0-3.10 for package: 2:docker-common-1.12.6-68.gitec8512b.el7.centos.x86_64
--> Processing Dependency: lvm2 >= 2.02.112 for package: 2:docker-common-1.12.6-68.gitec8512b.el7.centos.x86_64
--> Processing Dependency: container-storage-setup >= 0.7.0-1 for package: 2:docker-common-1.12.6-68.gitec8512b.el7.centos.x86_64
--> Processing Dependency: container-selinux >= 2:2.21-2 for package: 2:docker-common-1.12.6-68.gitec8512b.el7.centos.x86_64
---> Package libseccomp.x86_64 0:2.3.1-3.el7 will be installed
--> Running transaction check
---> Package container-selinux.noarch 2:2.33-1.git86f33cd.el7 will be installed
--> Processing Dependency: policycoreutils >= 2.5-11 for package: 2:container-selinux-2.33-1.git86f33cd.el7.noarch
--> Processing Dependency: policycoreutils-python for package: 2:container-selinux-2.33-1.git86f33cd.el7.noarch
---> Package container-storage-setup.noarch 0:0.8.0-3.git1d27ecf.el7 will be installed
---> Package lvm2.x86_64 7:2.02.171-8.el7 will be installed
--> Processing Dependency: lvm2-libs = 7:2.02.171-8.el7 for package: 7:lvm2-2.02.171-8.el7.x86_64
--> Processing Dependency: device-mapper-persistent-data >= 0.7.0-0.1.rc6 for package: 7:lvm2-2.02.171-8.el7.x86_64
--> Processing Dependency: liblvm2app.so.2.2(Base)(64bit) for package: 7:lvm2-2.02.171-8.el7.x86_64
--> Processing Dependency: libdevmapper.so.1.02(DM_1_02_138)(64bit) for package: 7:lvm2-2.02.171-8.el7.x86_64
--> Processing Dependency: libdevmapper.so.1.02(DM_1_02_135)(64bit) for package: 7:lvm2-2.02.171-8.el7.x86_64
--> Processing Dependency: libdevmapper.so.1.02(DM_1_02_133)(64bit) for package: 7:lvm2-2.02.171-8.el7.x86_64
--> Processing Dependency: libdevmapper.so.1.02(DM_1_02_128)(64bit) for package: 7:lvm2-2.02.171-8.el7.x86_64
--> Processing Dependency: libdevmapper.so.1.02(DM_1_02_113)(64bit) for package: 7:lvm2-2.02.171-8.el7.x86_64
--> Processing Dependency: libdevmapper.so.1.02(DM_1_02_110)(64bit) for package: 7:lvm2-2.02.171-8.el7.x86_64
--> Processing Dependency: libdevmapper-event.so.1.02(Base)(64bit) for package: 7:lvm2-2.02.171-8.el7.x86_64
--> Processing Dependency: liblvm2app.so.2.2()(64bit) for package: 7:lvm2-2.02.171-8.el7.x86_64
--> Processing Dependency: libdevmapper-event.so.1.02()(64bit) for package: 7:lvm2-2.02.171-8.el7.x86_64
---> Package oci-register-machine.x86_64 1:0-3.13.gitcd1e331.el7 will be installed
---> Package oci-systemd-hook.x86_64 1:0.1.14-1.git1ba44c6.el7 will be installed
--> Processing Dependency: libyajl.so.2()(64bit) for package: 1:oci-systemd-hook-0.1.14-1.git1ba44c6.el7.x86_64
---> Package oci-umount.x86_64 2:2.3.0-1.git51e7c50.el7 will be installed
---> Package skopeo-containers.x86_64 1:0.1.26-2.dev.git2e8377a.el7.centos will be installed
--> Running transaction check
---> Package device-mapper-event-libs.x86_64 7:1.02.140-8.el7 will be installed
---> Package device-mapper-libs.x86_64 7:1.02.107-5.el7 will be updated
--> Processing Dependency: device-mapper-libs = 7:1.02.107-5.el7 for package: 7:device-mapper-1.02.107-5.el7.x86_64
---> Package device-mapper-libs.x86_64 7:1.02.140-8.el7 will be an update
---> Package device-mapper-persistent-data.x86_64 0:0.7.0-0.1.rc6.el7_4.1 will be installed
---> Package lvm2-libs.x86_64 7:2.02.171-8.el7 will be installed
--> Processing Dependency: device-mapper-event = 7:1.02.140-8.el7 for package: 7:lvm2-libs-2.02.171-8.el7.x86_64
---> Package policycoreutils.x86_64 0:2.2.5-20.el7 will be updated
---> Package policycoreutils.x86_64 0:2.5-17.1.el7 will be an update
--> Processing Dependency: libsepol >= 2.5-6 for package: policycoreutils-2.5-17.1.el7.x86_64
--> Processing Dependency: libselinux-utils >= 2.5-6 for package: policycoreutils-2.5-17.1.el7.x86_64
--> Processing Dependency: libsepol.so.1(LIBSEPOL_1.1)(64bit) for package: policycoreutils-2.5-17.1.el7.x86_64
--> Processing Dependency: libsepol.so.1(LIBSEPOL_1.0)(64bit) for package: policycoreutils-2.5-17.1.el7.x86_64
--> Processing Dependency: libsemanage.so.1(LIBSEMANAGE_1.1)(64bit) for package: policycoreutils-2.5-17.1.el7.x86_64
---> Package policycoreutils-python.x86_64 0:2.5-17.1.el7 will be installed
--> Processing Dependency: setools-libs >= 3.3.8-1 for package: policycoreutils-python-2.5-17.1.el7.x86_64
--> Processing Dependency: libsemanage-python >= 2.5-5 for package: policycoreutils-python-2.5-17.1.el7.x86_64
--> Processing Dependency: audit-libs-python >= 2.1.3-4 for package: policycoreutils-python-2.5-17.1.el7.x86_64
--> Processing Dependency: python-IPy for package: policycoreutils-python-2.5-17.1.el7.x86_64
--> Processing Dependency: libqpol.so.1(VERS_1.4)(64bit) for package: policycoreutils-python-2.5-17.1.el7.x86_64
--> Processing Dependency: libqpol.so.1(VERS_1.2)(64bit) for package: policycoreutils-python-2.5-17.1.el7.x86_64
--> Processing Dependency: libcgroup for package: policycoreutils-python-2.5-17.1.el7.x86_64
--> Processing Dependency: libapol.so.4(VERS_4.0)(64bit) for package: policycoreutils-python-2.5-17.1.el7.x86_64
--> Processing Dependency: checkpolicy for package: policycoreutils-python-2.5-17.1.el7.x86_64
--> Processing Dependency: libqpol.so.1()(64bit) for package: policycoreutils-python-2.5-17.1.el7.x86_64
--> Processing Dependency: libapol.so.4()(64bit) for package: policycoreutils-python-2.5-17.1.el7.x86_64
---> Package yajl.x86_64 0:2.0.4-4.el7 will be installed
--> Running transaction check
---> Package audit-libs-python.x86_64 0:2.7.6-3.el7 will be installed
--> Processing Dependency: audit-libs(x86-64) = 2.7.6-3.el7 for package: audit-libs-python-2.7.6-3.el7.x86_64
---> Package checkpolicy.x86_64 0:2.5-4.el7 will be installed
---> Package device-mapper.x86_64 7:1.02.107-5.el7 will be updated
---> Package device-mapper.x86_64 7:1.02.140-8.el7 will be an update
---> Package device-mapper-event.x86_64 7:1.02.140-8.el7 will be installed
---> Package libcgroup.x86_64 0:0.41-13.el7 will be installed
---> Package libselinux-utils.x86_64 0:2.2.2-6.el7 will be updated
---> Package libselinux-utils.x86_64 0:2.5-11.el7 will be an update
--> Processing Dependency: libselinux(x86-64) = 2.5-11.el7 for package: libselinux-utils-2.5-11.el7.x86_64
---> Package libsemanage.x86_64 0:2.1.10-18.el7 will be updated
---> Package libsemanage.x86_64 0:2.5-8.el7 will be an update
---> Package libsemanage-python.x86_64 0:2.5-8.el7 will be installed
---> Package libsepol.x86_64 0:2.1.9-3.el7 will be updated
---> Package libsepol.x86_64 0:2.5-6.el7 will be an update
---> Package python-IPy.noarch 0:0.75-6.el7 will be installed
---> Package setools-libs.x86_64 0:3.3.8-1.1.el7 will be installed
--> Running transaction check
---> Package audit-libs.x86_64 0:2.4.1-5.el7 will be updated
--> Processing Dependency: audit-libs = 2.4.1-5.el7 for package: audit-2.4.1-5.el7.x86_64
---> Package audit-libs.x86_64 0:2.7.6-3.el7 will be an update
---> Package libselinux.x86_64 0:2.2.2-6.el7 will be updated
--> Processing Dependency: libselinux = 2.2.2-6.el7 for package: libselinux-python-2.2.2-6.el7.x86_64
---> Package libselinux.x86_64 0:2.5-11.el7 will be an update
--> Running transaction check
---> Package audit.x86_64 0:2.4.1-5.el7 will be updated
---> Package audit.x86_64 0:2.7.6-3.el7 will be an update
---> Package libselinux-python.x86_64 0:2.2.2-6.el7 will be updated
---> Package libselinux-python.x86_64 0:2.5-11.el7 will be an update
--> Processing Conflict: libsemanage-2.5-8.el7.x86_64 conflicts selinux-policy-base < 3.13.1-66
--> Restarting Dependency Resolution with new changes.
--> Running transaction check
---> Package selinux-policy-targeted.noarch 0:3.13.1-60.el7 will be updated
---> Package selinux-policy-targeted.noarch 0:3.13.1-166.el7_4.7 will be an update
--> Processing Dependency: selinux-policy = 3.13.1-166.el7_4.7 for package: selinux-policy-targeted-3.13.1-166.el7_4.7.noarch
--> Processing Dependency: selinux-policy = 3.13.1-166.el7_4.7 for package: selinux-policy-targeted-3.13.1-166.el7_4.7.noarch
--> Running transaction check
---> Package selinux-policy.noarch 0:3.13.1-60.el7 will be updated
---> Package selinux-policy.noarch 0:3.13.1-166.el7_4.7 will be an update
--> Processing Conflict: libselinux-2.5-11.el7.x86_64 conflicts systemd < 219-20
--> Restarting Dependency Resolution with new changes.
--> Running transaction check
---> Package systemd.x86_64 0:219-19.el7 will be updated
--> Processing Dependency: systemd = 219-19.el7 for package: systemd-sysv-219-19.el7.x86_64
---> Package systemd.x86_64 0:219-42.el7_4.6 will be an update
--> Processing Dependency: systemd-libs = 219-42.el7_4.6 for package: systemd-219-42.el7_4.6.x86_64
--> Running transaction check
---> Package systemd-libs.x86_64 0:219-19.el7 will be updated
--> Processing Dependency: systemd-libs = 219-19.el7 for package: libgudev1-219-19.el7.x86_64
---> Package systemd-libs.x86_64 0:219-42.el7_4.6 will be an update
---> Package systemd-sysv.x86_64 0:219-19.el7 will be updated
---> Package systemd-sysv.x86_64 0:219-42.el7_4.6 will be an update
--> Running transaction check
---> Package libgudev1.x86_64 0:219-19.el7 will be updated
---> Package libgudev1.x86_64 0:219-42.el7_4.6 will be an update
--> Processing Conflict: systemd-219-42.el7_4.6.x86_64 conflicts dracut < 033-499
--> Restarting Dependency Resolution with new changes.
--> Running transaction check
---> Package dracut.x86_64 0:033-359.el7 will be updated
--> Processing Dependency: dracut = 033-359.el7 for package: dracut-network-033-359.el7.x86_64
--> Processing Dependency: dracut = 033-359.el7 for package: dracut-config-rescue-033-359.el7.x86_64
---> Package dracut.x86_64 0:033-502.el7_4.1 will be an update
--> Running transaction check
---> Package dracut-config-rescue.x86_64 0:033-359.el7 will be updated
---> Package dracut-config-rescue.x86_64 0:033-502.el7_4.1 will be an update
---> Package dracut-network.x86_64 0:033-359.el7 will be updated
---> Package dracut-network.x86_64 0:033-502.el7_4.1 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

===============================================================================================================================================================
 Package                                        Arch                    Version                                                 Repository                Size
===============================================================================================================================================================
Installing:
 docker                                         x86_64                  2:1.12.6-68.gitec8512b.el7.centos                       extras                    15 M
Updating:
 dracut                                         x86_64                  033-502.el7_4.1                                         updates                  321 k
 selinux-policy-targeted                        noarch                  3.13.1-166.el7_4.7                                      updates                  6.5 M
 systemd                                        x86_64                  219-42.el7_4.6                                          updates                  5.2 M
Installing for dependencies:
 audit-libs-python                              x86_64                  2.7.6-3.el7                                             base                      73 k
 checkpolicy                                    x86_64                  2.5-4.el7                                               base                     290 k
 container-selinux                              noarch                  2:2.33-1.git86f33cd.el7                                 extras                    31 k
 container-storage-setup                        noarch                  0.8.0-3.git1d27ecf.el7                                  extras                    33 k
 device-mapper-event                            x86_64                  7:1.02.140-8.el7                                        base                     180 k
 device-mapper-event-libs                       x86_64                  7:1.02.140-8.el7                                        base                     179 k
 device-mapper-persistent-data                  x86_64                  0.7.0-0.1.rc6.el7_4.1                                   updates                  400 k
 docker-client                                  x86_64                  2:1.12.6-68.gitec8512b.el7.centos                       extras                   3.4 M
 docker-common                                  x86_64                  2:1.12.6-68.gitec8512b.el7.centos                       extras                    82 k
 libcgroup                                      x86_64                  0.41-13.el7                                             base                      65 k
 libseccomp                                     x86_64                  2.3.1-3.el7                                             base                      56 k
 libsemanage-python                             x86_64                  2.5-8.el7                                               base                     104 k
 lvm2                                           x86_64                  7:2.02.171-8.el7                                        base                     1.3 M
 lvm2-libs                                      x86_64                  7:2.02.171-8.el7                                        base                     1.0 M
 oci-register-machine                           x86_64                  1:0-3.13.gitcd1e331.el7                                 extras                   1.1 M
 oci-systemd-hook                               x86_64                  1:0.1.14-1.git1ba44c6.el7                               extras                    32 k
 oci-umount                                     x86_64                  2:2.3.0-1.git51e7c50.el7                                extras                    30 k
 policycoreutils-python                         x86_64                  2.5-17.1.el7                                            base                     446 k
 python-IPy                                     noarch                  0.75-6.el7                                              base                      32 k
 setools-libs                                   x86_64                  3.3.8-1.1.el7                                           base                     612 k
 skopeo-containers                              x86_64                  1:0.1.26-2.dev.git2e8377a.el7.centos                    extras                    12 k
 yajl                                           x86_64                  2.0.4-4.el7                                             base                      39 k
Updating for dependencies:
 audit                                          x86_64                  2.7.6-3.el7                                             base                     242 k
 audit-libs                                     x86_64                  2.7.6-3.el7                                             base                      96 k
 device-mapper                                  x86_64                  7:1.02.140-8.el7                                        base                     280 k
 device-mapper-libs                             x86_64                  7:1.02.140-8.el7                                        base                     312 k
 dracut-config-rescue                           x86_64                  033-502.el7_4.1                                         updates                   56 k
 dracut-network                                 x86_64                  033-502.el7_4.1                                         updates                   98 k
 libgudev1                                      x86_64                  219-42.el7_4.6                                          updates                   84 k
 libselinux                                     x86_64                  2.5-11.el7                                              base                     162 k
 libselinux-python                              x86_64                  2.5-11.el7                                              base                     234 k
 libselinux-utils                               x86_64                  2.5-11.el7                                              base                     151 k
 libsemanage                                    x86_64                  2.5-8.el7                                               base                     145 k
 libsepol                                       x86_64                  2.5-6.el7                                               base                     288 k
 policycoreutils                                x86_64                  2.5-17.1.el7                                            base                     858 k
 selinux-policy                                 noarch                  3.13.1-166.el7_4.7                                      updates                  437 k
 systemd-libs                                   x86_64                  219-42.el7_4.6                                          updates                  376 k
 systemd-sysv                                   x86_64                  219-42.el7_4.6                                          updates                   71 k

Transaction Summary
===============================================================================================================================================================
Install  1 Package  (+22 Dependent packages)
Upgrade  3 Packages (+16 Dependent packages)

Total download size: 40 M
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
(1/42): container-selinux-2.33-1.git86f33cd.el7.noarch.rpm                                                                              |  31 kB  00:00:00
(2/42): container-storage-setup-0.8.0-3.git1d27ecf.el7.noarch.rpm                                                                       |  33 kB  00:00:00
(3/42): audit-2.7.6-3.el7.x86_64.rpm                                                                                                    | 242 kB  00:00:00
(4/42): device-mapper-event-1.02.140-8.el7.x86_64.rpm                                                                                   | 180 kB  00:00:00
(5/42): checkpolicy-2.5-4.el7.x86_64.rpm                                                                                                | 290 kB  00:00:00
(6/42): device-mapper-event-libs-1.02.140-8.el7.x86_64.rpm                                                                              | 179 kB  00:00:00
(7/42): audit-libs-2.7.6-3.el7.x86_64.rpm                                                                                               |  96 kB  00:00:00
(8/42): device-mapper-persistent-data-0.7.0-0.1.rc6.el7_4.1.x86_64.rpm                                                                  | 400 kB  00:00:00
(9/42): device-mapper-libs-1.02.140-8.el7.x86_64.rpm                                                                                    | 312 kB  00:00:00
(10/42): device-mapper-1.02.140-8.el7.x86_64.rpm                                                                                        | 280 kB  00:00:00
(11/42): docker-common-1.12.6-68.gitec8512b.el7.centos.x86_64.rpm                                                                       |  82 kB  00:00:00
(12/42): audit-libs-python-2.7.6-3.el7.x86_64.rpm                                                                                       |  73 kB  00:00:01
(13/42): dracut-033-502.el7_4.1.x86_64.rpm                                                                                              | 321 kB  00:00:00
(14/42): dracut-config-rescue-033-502.el7_4.1.x86_64.rpm                                                                                |  56 kB  00:00:01
(15/42): libcgroup-0.41-13.el7.x86_64.rpm                                                                                               |  65 kB  00:00:00
(16/42): libseccomp-2.3.1-3.el7.x86_64.rpm                                                                                              |  56 kB  00:00:00
(17/42): libselinux-2.5-11.el7.x86_64.rpm                                                                                               | 162 kB  00:00:00
(18/42): dracut-network-033-502.el7_4.1.x86_64.rpm                                                                                      |  98 kB  00:00:01
(19/42): libselinux-python-2.5-11.el7.x86_64.rpm                                                                                        | 234 kB  00:00:00
(20/42): libsemanage-2.5-8.el7.x86_64.rpm                                                                                               | 145 kB  00:00:00
(21/42): libgudev1-219-42.el7_4.6.x86_64.rpm                                                                                            |  84 kB  00:00:01
(22/42): libsemanage-python-2.5-8.el7.x86_64.rpm                                                                                        | 104 kB  00:00:00
(23/42): libselinux-utils-2.5-11.el7.x86_64.rpm                                                                                         | 151 kB  00:00:00
(24/42): lvm2-2.02.171-8.el7.x86_64.rpm                                                                                                 | 1.3 MB  00:00:01
(25/42): libsepol-2.5-6.el7.x86_64.rpm                                                                                                  | 288 kB  00:00:02
(26/42): lvm2-libs-2.02.171-8.el7.x86_64.rpm                                                                                            | 1.0 MB  00:00:04
(27/42): oci-umount-2.3.0-1.git51e7c50.el7.x86_64.rpm                                                                                   |  30 kB  00:00:00
(28/42): policycoreutils-2.5-17.1.el7.x86_64.rpm                                                                                        | 858 kB  00:00:01
(29/42): policycoreutils-python-2.5-17.1.el7.x86_64.rpm                                                                                 | 446 kB  00:00:00
(30/42): python-IPy-0.75-6.el7.noarch.rpm                                                                                               |  32 kB  00:00:00
(31/42): selinux-policy-3.13.1-166.el7_4.7.noarch.rpm                                                                                   | 437 kB  00:00:00
(32/42): oci-systemd-hook-0.1.14-1.git1ba44c6.el7.x86_64.rpm                                                                            |  32 kB  00:00:06
(33/42): docker-1.12.6-68.gitec8512b.el7.centos.x86_64.rpm                                                                              |  15 MB  00:00:13
(34/42): skopeo-containers-0.1.26-2.dev.git2e8377a.el7.centos.x86_64.rpm                                                                |  12 kB  00:00:00
(35/42): setools-libs-3.3.8-1.1.el7.x86_64.rpm                                                                                          | 612 kB  00:00:01
(36/42): selinux-policy-targeted-3.13.1-166.el7_4.7.noarch.rpm                                                                          | 6.5 MB  00:00:05
(37/42): systemd-sysv-219-42.el7_4.6.x86_64.rpm                                                                                         |  71 kB  00:00:00
(38/42): yajl-2.0.4-4.el7.x86_64.rpm                                                                                                    |  39 kB  00:00:00
(39/42): systemd-libs-219-42.el7_4.6.x86_64.rpm                                                                                         | 376 kB  00:00:03
(40/42): oci-register-machine-0-3.13.gitcd1e331.el7.x86_64.rpm                                                                          | 1.1 MB  00:00:13
(41/42): systemd-219-42.el7_4.6.x86_64.rpm                                                                                              | 5.2 MB  00:00:05
docker-client-1.12.6-68.gitec8 FAILED                                          =========================================-    ]  131 B/s |  37 MB  06:30:44 ETA
http://mirrors.zju.edu.cn/centos/7.4.1708/extras/x86_64/Packages/docker-client-1.12.6-68.gitec8512b.el7.centos.x86_64.rpm: [Errno 12] Timeout on http://mirrors.zju.edu.cn/centos/7.4.1708/extras/x86_64/Packages/docker-client-1.12.6-68.gitec8512b.el7.centos.x86_64.rpm: (28, 'Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds')
Trying other mirror.
(42/42): docker-client-1.12.6-68.gitec8512b.el7.centos.x86_64.rpm                                                                       | 3.4 MB  00:00:01
---------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                          627 kB/s |  40 MB  00:01:05
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Updating   : libsepol-2.5-6.el7.x86_64                                                                                                                  1/61
  Updating   : libselinux-2.5-11.el7.x86_64                                                                                                               2/61
  Updating   : systemd-libs-219-42.el7_4.6.x86_64                                                                                                         3/61
  Updating   : audit-libs-2.7.6-3.el7.x86_64                                                                                                              4/61
  Updating   : systemd-219-42.el7_4.6.x86_64                                                                                                              5/61
  Updating   : libsemanage-2.5-8.el7.x86_64                                                                                                               6/61
  Updating   : 7:device-mapper-libs-1.02.140-8.el7.x86_64                                                                                                 7/61
  Updating   : 7:device-mapper-1.02.140-8.el7.x86_64                                                                                                      8/61
  Installing : 7:device-mapper-event-libs-1.02.140-8.el7.x86_64                                                                                           9/61
  Updating   : dracut-033-502.el7_4.1.x86_64                                                                                                             10/61
  Updating   : libselinux-utils-2.5-11.el7.x86_64                                                                                                        11/61
  Updating   : policycoreutils-2.5-17.1.el7.x86_64                                                                                                       12/61
  Updating   : selinux-policy-3.13.1-166.el7_4.7.noarch                                                                                                  13/61
  Installing : yajl-2.0.4-4.el7.x86_64                                                                                                                   14/61
  Installing : 1:oci-systemd-hook-0.1.14-1.git1ba44c6.el7.x86_64                                                                                         15/61
  Installing : 2:oci-umount-2.3.0-1.git51e7c50.el7.x86_64                                                                                                16/61
  Updating   : selinux-policy-targeted-3.13.1-166.el7_4.7.noarch                                                                                         17/61
  Installing : 7:device-mapper-event-1.02.140-8.el7.x86_64                                                                                               18/61
  Installing : 7:lvm2-libs-2.02.171-8.el7.x86_64                                                                                                         19/61
  Installing : libsemanage-python-2.5-8.el7.x86_64                                                                                                       20/61
  Installing : 1:oci-register-machine-0-3.13.gitcd1e331.el7.x86_64                                                                                       21/61
  Installing : libcgroup-0.41-13.el7.x86_64                                                                                                              22/61
  Updating   : systemd-sysv-219-42.el7_4.6.x86_64                                                                                                        23/61
  Installing : audit-libs-python-2.7.6-3.el7.x86_64                                                                                                      24/61
  Updating   : libselinux-python-2.5-11.el7.x86_64                                                                                                       25/61
  Installing : setools-libs-3.3.8-1.1.el7.x86_64                                                                                                         26/61
  Installing : device-mapper-persistent-data-0.7.0-0.1.rc6.el7_4.1.x86_64                                                                                27/61
  Installing : 7:lvm2-2.02.171-8.el7.x86_64                                                                                                              28/61
Created symlink from /etc/systemd/system/sysinit.target.wants/lvm2-lvmpolld.socket to /usr/lib/systemd/system/lvm2-lvmpolld.socket.
  Installing : container-storage-setup-0.8.0-3.git1d27ecf.el7.noarch                                                                                     29/61
  Installing : python-IPy-0.75-6.el7.noarch                                                                                                              30/61
  Installing : checkpolicy-2.5-4.el7.x86_64                                                                                                              31/61
  Installing : policycoreutils-python-2.5-17.1.el7.x86_64                                                                                                32/61
  Installing : 2:container-selinux-2.33-1.git86f33cd.el7.noarch                                                                                          33/61
  Installing : libseccomp-2.3.1-3.el7.x86_64                                                                                                             34/61
  Installing : 1:skopeo-containers-0.1.26-2.dev.git2e8377a.el7.centos.x86_64                                                                             35/61
  Installing : 2:docker-common-1.12.6-68.gitec8512b.el7.centos.x86_64                                                                                    36/61
  Installing : 2:docker-client-1.12.6-68.gitec8512b.el7.centos.x86_64                                                                                    37/61
  Installing : 2:docker-1.12.6-68.gitec8512b.el7.centos.x86_64                                                                                           38/61
  Updating   : audit-2.7.6-3.el7.x86_64                                                                                                                  39/61
  Updating   : dracut-config-rescue-033-502.el7_4.1.x86_64                                                                                               40/61
  Updating   : dracut-network-033-502.el7_4.1.x86_64                                                                                                     41/61
  Updating   : libgudev1-219-42.el7_4.6.x86_64                                                                                                           42/61
  Cleanup    : selinux-policy-targeted-3.13.1-60.el7.noarch                                                                                              43/61
  Cleanup    : selinux-policy-3.13.1-60.el7.noarch                                                                                                       44/61
  Cleanup    : dracut-network-033-359.el7.x86_64                                                                                                         45/61
  Cleanup    : dracut-config-rescue-033-359.el7.x86_64                                                                                                   46/61
  Cleanup    : policycoreutils-2.2.5-20.el7.x86_64                                                                                                       47/61
  Cleanup    : libsemanage-2.1.10-18.el7.x86_64                                                                                                          48/61
  Cleanup    : audit-2.4.1-5.el7.x86_64                                                                                                                  49/61
  Cleanup    : 7:device-mapper-libs-1.02.107-5.el7.x86_64                                                                                                50/61
  Cleanup    : 7:device-mapper-1.02.107-5.el7.x86_64                                                                                                     51/61
  Cleanup    : systemd-sysv-219-19.el7.x86_64                                                                                                            52/61
  Cleanup    : libselinux-utils-2.2.2-6.el7.x86_64                                                                                                       53/61
  Cleanup    : dracut-033-359.el7.x86_64                                                                                                                 54/61
  Cleanup    : systemd-219-19.el7.x86_64                                                                                                                 55/61
  Cleanup    : libgudev1-219-19.el7.x86_64                                                                                                               56/61
  Cleanup    : systemd-libs-219-19.el7.x86_64                                                                                                            57/61
  Cleanup    : libselinux-python-2.2.2-6.el7.x86_64                                                                                                      58/61
  Cleanup    : libselinux-2.2.2-6.el7.x86_64                                                                                                             59/61
  Cleanup    : libsepol-2.1.9-3.el7.x86_64                                                                                                               60/61
  Cleanup    : audit-libs-2.4.1-5.el7.x86_64                                                                                                             61/61
  Verifying  : libselinux-utils-2.5-11.el7.x86_64                                                                                                         1/61
  Verifying  : 2:container-selinux-2.33-1.git86f33cd.el7.noarch                                                                                           2/61
  Verifying  : systemd-219-42.el7_4.6.x86_64                                                                                                              3/61
  Verifying  : libsepol-2.5-6.el7.x86_64                                                                                                                  4/61
  Verifying  : 1:skopeo-containers-0.1.26-2.dev.git2e8377a.el7.centos.x86_64                                                                              5/61
  Verifying  : libseccomp-2.3.1-3.el7.x86_64                                                                                                              6/61
  Verifying  : policycoreutils-python-2.5-17.1.el7.x86_64                                                                                                 7/61
  Verifying  : checkpolicy-2.5-4.el7.x86_64                                                                                                               8/61
  Verifying  : 1:oci-register-machine-0-3.13.gitcd1e331.el7.x86_64                                                                                        9/61
  Verifying  : audit-libs-2.7.6-3.el7.x86_64                                                                                                             10/61
  Verifying  : 7:device-mapper-event-libs-1.02.140-8.el7.x86_64                                                                                          11/61
  Verifying  : 7:lvm2-2.02.171-8.el7.x86_64                                                                                                              12/61
  Verifying  : systemd-libs-219-42.el7_4.6.x86_64                                                                                                        13/61
  Verifying  : 2:docker-common-1.12.6-68.gitec8512b.el7.centos.x86_64                                                                                    14/61
  Verifying  : 2:docker-1.12.6-68.gitec8512b.el7.centos.x86_64                                                                                           15/61
  Verifying  : 2:docker-client-1.12.6-68.gitec8512b.el7.centos.x86_64                                                                                    16/61
  Verifying  : python-IPy-0.75-6.el7.noarch                                                                                                              17/61
  Verifying  : 7:device-mapper-1.02.140-8.el7.x86_64                                                                                                     18/61
  Verifying  : dracut-config-rescue-033-502.el7_4.1.x86_64                                                                                               19/61
  Verifying  : libcgroup-0.41-13.el7.x86_64                                                                                                              20/61
  Verifying  : audit-2.7.6-3.el7.x86_64                                                                                                                  21/61
  Verifying  : dracut-033-502.el7_4.1.x86_64                                                                                                             22/61
  Verifying  : 7:device-mapper-libs-1.02.140-8.el7.x86_64                                                                                                23/61
  Verifying  : policycoreutils-2.5-17.1.el7.x86_64                                                                                                       24/61
  Verifying  : libsemanage-python-2.5-8.el7.x86_64                                                                                                       25/61
  Verifying  : selinux-policy-3.13.1-166.el7_4.7.noarch                                                                                                  26/61
  Verifying  : 1:oci-systemd-hook-0.1.14-1.git1ba44c6.el7.x86_64                                                                                         27/61
  Verifying  : selinux-policy-targeted-3.13.1-166.el7_4.7.noarch                                                                                         28/61
  Verifying  : 2:oci-umount-2.3.0-1.git51e7c50.el7.x86_64                                                                                                29/61
  Verifying  : 7:lvm2-libs-2.02.171-8.el7.x86_64                                                                                                         30/61
  Verifying  : device-mapper-persistent-data-0.7.0-0.1.rc6.el7_4.1.x86_64                                                                                31/61
  Verifying  : libsemanage-2.5-8.el7.x86_64                                                                                                              32/61
  Verifying  : yajl-2.0.4-4.el7.x86_64                                                                                                                   33/61
  Verifying  : dracut-network-033-502.el7_4.1.x86_64                                                                                                     34/61
  Verifying  : libselinux-python-2.5-11.el7.x86_64                                                                                                       35/61
  Verifying  : libselinux-2.5-11.el7.x86_64                                                                                                              36/61
  Verifying  : 7:device-mapper-event-1.02.140-8.el7.x86_64                                                                                               37/61
  Verifying  : systemd-sysv-219-42.el7_4.6.x86_64                                                                                                        38/61
  Verifying  : audit-libs-python-2.7.6-3.el7.x86_64                                                                                                      39/61
  Verifying  : libgudev1-219-42.el7_4.6.x86_64                                                                                                           40/61
  Verifying  : container-storage-setup-0.8.0-3.git1d27ecf.el7.noarch                                                                                     41/61
  Verifying  : setools-libs-3.3.8-1.1.el7.x86_64                                                                                                         42/61
  Verifying  : dracut-config-rescue-033-359.el7.x86_64                                                                                                   43/61
  Verifying  : selinux-policy-targeted-3.13.1-60.el7.noarch                                                                                              44/61
  Verifying  : systemd-219-19.el7.x86_64                                                                                                                 45/61
  Verifying  : dracut-033-359.el7.x86_64                                                                                                                 46/61
  Verifying  : systemd-sysv-219-19.el7.x86_64                                                                                                            47/61
  Verifying  : 7:device-mapper-libs-1.02.107-5.el7.x86_64                                                                                                48/61
  Verifying  : systemd-libs-219-19.el7.x86_64                                                                                                            49/61
  Verifying  : libselinux-utils-2.2.2-6.el7.x86_64                                                                                                       50/61
  Verifying  : libsepol-2.1.9-3.el7.x86_64                                                                                                               51/61
  Verifying  : libsemanage-2.1.10-18.el7.x86_64                                                                                                          52/61
  Verifying  : selinux-policy-3.13.1-60.el7.noarch                                                                                                       53/61
  Verifying  : dracut-network-033-359.el7.x86_64                                                                                                         54/61
  Verifying  : audit-libs-2.4.1-5.el7.x86_64                                                                                                             55/61
  Verifying  : libselinux-python-2.2.2-6.el7.x86_64                                                                                                      56/61
  Verifying  : libgudev1-219-19.el7.x86_64                                                                                                               57/61
  Verifying  : policycoreutils-2.2.5-20.el7.x86_64                                                                                                       58/61
  Verifying  : audit-2.4.1-5.el7.x86_64                                                                                                                  59/61
  Verifying  : 7:device-mapper-1.02.107-5.el7.x86_64                                                                                                     60/61
  Verifying  : libselinux-2.2.2-6.el7.x86_64                                                                                                             61/61

Installed:
  docker.x86_64 2:1.12.6-68.gitec8512b.el7.centos

Dependency Installed:
  audit-libs-python.x86_64 0:2.7.6-3.el7                                            checkpolicy.x86_64 0:2.5-4.el7
  container-selinux.noarch 2:2.33-1.git86f33cd.el7                                  container-storage-setup.noarch 0:0.8.0-3.git1d27ecf.el7
  device-mapper-event.x86_64 7:1.02.140-8.el7                                       device-mapper-event-libs.x86_64 7:1.02.140-8.el7
  device-mapper-persistent-data.x86_64 0:0.7.0-0.1.rc6.el7_4.1                      docker-client.x86_64 2:1.12.6-68.gitec8512b.el7.centos
  docker-common.x86_64 2:1.12.6-68.gitec8512b.el7.centos                            libcgroup.x86_64 0:0.41-13.el7
  libseccomp.x86_64 0:2.3.1-3.el7                                                   libsemanage-python.x86_64 0:2.5-8.el7
  lvm2.x86_64 7:2.02.171-8.el7                                                      lvm2-libs.x86_64 7:2.02.171-8.el7
  oci-register-machine.x86_64 1:0-3.13.gitcd1e331.el7                               oci-systemd-hook.x86_64 1:0.1.14-1.git1ba44c6.el7
  oci-umount.x86_64 2:2.3.0-1.git51e7c50.el7                                        policycoreutils-python.x86_64 0:2.5-17.1.el7
  python-IPy.noarch 0:0.75-6.el7                                                    setools-libs.x86_64 0:3.3.8-1.1.el7
  skopeo-containers.x86_64 1:0.1.26-2.dev.git2e8377a.el7.centos                     yajl.x86_64 0:2.0.4-4.el7

Updated:
  dracut.x86_64 0:033-502.el7_4.1               selinux-policy-targeted.noarch 0:3.13.1-166.el7_4.7               systemd.x86_64 0:219-42.el7_4.6

Dependency Updated:
  audit.x86_64 0:2.7.6-3.el7                          audit-libs.x86_64 0:2.7.6-3.el7                        device-mapper.x86_64 7:1.02.140-8.el7
  device-mapper-libs.x86_64 7:1.02.140-8.el7          dracut-config-rescue.x86_64 0:033-502.el7_4.1          dracut-network.x86_64 0:033-502.el7_4.1
  libgudev1.x86_64 0:219-42.el7_4.6                   libselinux.x86_64 0:2.5-11.el7                         libselinux-python.x86_64 0:2.5-11.el7
  libselinux-utils.x86_64 0:2.5-11.el7                libsemanage.x86_64 0:2.5-8.el7                         libsepol.x86_64 0:2.5-6.el7
  policycoreutils.x86_64 0:2.5-17.1.el7               selinux-policy.noarch 0:3.13.1-166.el7_4.7             systemd-libs.x86_64 0:219-42.el7_4.6
  systemd-sysv.x86_64 0:219-42.el7_4.6

Complete!

[root@server01 yum.repos.d]# systemctl start docker.service
[root@server01 yum.repos.d]# systemctl status docker.service
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
   Active: active (running) since Fri 2018-01-26 15:02:16 CST; 22s ago
     Docs: http://docs.docker.com
 Main PID: 56946 (dockerd-current)
   CGroup: /system.slice/docker.service

啓動docker服務
systemctl start docker.service

關閉docker服務
systemctl stop docker.service

Docker的鏡像稱爲image,容器稱爲container。對於Docker來說,image是靜態的,類似於操作系統快照,而container則是動態的,是image的運行實例。
查看已下載的鏡像
[root@server01 yum.repos.d]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/centos    latest              ff426288ea90        2 weeks ago         207.2 MB

啓動一個容器,有一個image名稱爲centos,那麼比如現在我們啓動這個image的container並且進入到這個container的bash命令行中
docker run:啓動container
centos:你想要啓動的image
-t:進入終端
-i:獲得一個交互式的連接,通過獲取container的輸入
/bin/bash:在container中啓動一個bash shell
[root@server01 yum.repos.d]# docker run -i -t centos /bin/bash
Unable to find image 'centos:latest' locally
Trying to pull repository docker.io/library/centos ...
latest: Pulling from docker.io/library/centos
af4b0a2388c6: Pull complete
Digest: sha256:2671f7a3eea36ce43609e9fe7435ade83094291055f1c96d9d1d1d7c0b986a5d
[root@880523e0b518 /]#

查看所有容器,在container所在的外部操作系統中運行,-a是所有,不加-a是運行着的容器
[root@server01 yum.repos.d]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
880523e0b518        centos              "/bin/bash"         13 minutes ago      Exited (0) 18 seconds ago                       happy_bhabha

啓動一個容器,這是容器在後臺運行
[root@server01 yum.repos.d]# docker start 880523e0b518
880523e0b518
[root@server01 yum.repos.d]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
880523e0b518        centos              "/bin/bash"         14 minutes ago      Up 19 seconds                           happy_bhabha

進入該容器終端
[root@server01 yum.repos.d]# docker attach 880523e0b518
[root@880523e0b518 /]# ls
anaconda-post.log  bin  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@880523e0b518 /]#

退出當前容器,或者Ctrl+d
[root@880523e0b518 /]# exit
exit
[root@server01 yum.repos.d]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

啓動一個容器使用“docker attach”命令進入container(容器)有一個缺點,那就是每次從container中退出到前臺時,container也跟着退出了。
要想退出container時,讓container仍然在後臺運行着,可以使用“docker exec -it”命令。每次使用這個命令進入container,當退出container後,container仍然在後臺運行
[root@server01 yum.repos.d]# docker start 880523e0b518
880523e0b518
[root@server01 yum.repos.d]# docker exec -it 880523e0b518 /bin/bash
[root@880523e0b518 /]# exit
exit
[root@server01 yum.repos.d]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
880523e0b518        centos              "/bin/bash"         21 minutes ago      Up 15 seconds                           happy_bhabha

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章