Docker 入门到实战 之 Docker安装

    技术2023-10-06  97

    Docker 分为 CE 和 EE 两大版本。CE 即社区版(免费,支持周期 7 个月),EE 即企业版,强调安全,付费使用,支持周期 24 个月。

    Docker CE 分为 Stable、test 和 nightly 三个更新频道。

    官方网站上有各种环境下的 安装指南。

    本教程以 CentOS 7.x 为例,配置并运行 Docker,其他 Linux 发行版大同小异。

    其他系统安装教程请参阅 ==> https://www.runoob.com/docker/ubuntu-docker-install.html

    1、卸载系统残留的docker

    [root@Roker ~]# yum remove docker Loaded plugins: fastestmirror No Match for argument: docker No Packages marked for removal

    2、安装Docker的版本库

    [root@Roker ~]# yum install -y yum-utils Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile Resolving Dependencies --> Running transaction check ---> Package yum-utils.noarch 0:1.1.31-54.el7_8 will be installed --> Processing Dependency: python-kitchen for package: yum-utils-1.1.31-54.el7_8.noarch --> Processing Dependency: libxml2-python for package: yum-utils-1.1.31-54.el7_8.noarch --> Running transaction check ---> Package libxml2-python.x86_64 0:2.9.1-6.el7.4 will be installed ---> Package python-kitchen.noarch 0:1.1.1-5.el7 will be installed --> Processing Dependency: python-chardet for package: python-kitchen-1.1.1-5.el7.noarch --> Running transaction check ---> Package python-chardet.noarch 0:2.2.1-3.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================================================================================================================================================= Package Arch Version Repository Size ================================================================================================================================================================================================================= Installing: yum-utils noarch 1.1.31-54.el7_8 updates 122 k Installing for dependencies: libxml2-python x86_64 2.9.1-6.el7.4 base 247 k python-chardet noarch 2.2.1-3.el7 base 227 k python-kitchen noarch 1.1.1-5.el7 base 267 k Transaction Summary ================================================================================================================================================================================================================= Install 1 Package (+3 Dependent packages) Total download size: 862 k Installed size: 4.3 M Downloading packages: (1/4): libxml2-python-2.9.1-6.el7.4.x86_64.rpm | 247 kB 00:00:00 (2/4): python-chardet-2.2.1-3.el7.noarch.rpm | 227 kB 00:00:00 (3/4): python-kitchen-1.1.1-5.el7.noarch.rpm | 267 kB 00:00:00 (4/4): yum-utils-1.1.31-54.el7_8.noarch.rpm | 122 kB 00:00:00 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Total 1.9 MB/s | 862 kB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : python-chardet-2.2.1-3.el7.noarch 1/4 Installing : python-kitchen-1.1.1-5.el7.noarch 2/4 Installing : libxml2-python-2.9.1-6.el7.4.x86_64 3/4 Installing : yum-utils-1.1.31-54.el7_8.noarch 4/4 Verifying : libxml2-python-2.9.1-6.el7.4.x86_64 1/4 Verifying : python-kitchen-1.1.1-5.el7.noarch 2/4 Verifying : yum-utils-1.1.31-54.el7_8.noarch 3/4 Verifying : python-chardet-2.2.1-3.el7.noarch 4/4 Installed: yum-utils.noarch 0:1.1.31-54.el7_8 Dependency Installed: libxml2-python.x86_64 0:2.9.1-6.el7.4 python-chardet.noarch 0:2.2.1-3.el7 python-kitchen.noarch 0:1.1.1-5.el7 Complete!

     

    [root@Roker ~]# yum-config-manager Loaded plugins: fastestmirror ==================================== main =================================== [main] alwaysprompt = True assumeno = False assumeyes = False ... ... ================================= repo: base ================================ [base] async = True bandwidth = 0 base_persistdir = /var/lib/yum/repos/x86_64/7 ... ... ================================= repo: epel ================================ [epel] async = True bandwidth = 0 base_persistdir = /var/lib/yum/repos/x86_64/7 ... ... ================================= repo: extras ============================== [extras] async = True bandwidth = 0 base_persistdir = /var/lib/yum/repos/x86_64/7 ... ... ================================= repo: updates ============================= [extras] async = True bandwidth = 0 base_persistdir = /var/lib/yum/repos/x86_64/7 ... ... throttle = 0 timeout = 30.0 ui_id = updates/7/x86_64 ui_repoid_vars = releasever, basearch username =

    3、安装docker-ce

    [root@Roker ~]# yum install docker ce Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile No package ce available. Resolving Dependencies --> Running transaction check ---> Package docker.x86_64 2:1.13.1-161.git64e9980.el7_8 will be installed --> Processing Dependency: docker-common = 2:1.13.1-161.git64e9980.el7_8 for package: 2:docker-1.13.1-161.git64e9980.el7_8.x86_64 --> Processing Dependency: docker-client = 2:1.13.1-161.git64e9980.el7_8 for package: 2:docker-1.13.1-161.git64e9980.el7_8.x86_64 --> Processing Dependency: subscription-manager-rhsm-certificates for package: 2:docker-1.13.1-161.git64e9980.el7_8.x86_64 --> Running transaction check ---> Package docker-client.x86_64 2:1.13.1-161.git64e9980.el7_8 will be installed ---> Package docker-common.x86_64 2:1.13.1-161.git64e9980.el7_8 will be installed --> Processing Dependency: skopeo-containers >= 1:0.1.26-2 for package: 2:docker-common-1.13.1-161.git64e9980.el7_8.x86_64 --> Processing Dependency: oci-umount >= 2:2.3.3-3 for package: 2:docker-common-1.13.1-161.git64e9980.el7_8.x86_64 --> Processing Dependency: oci-systemd-hook >= 1:0.1.4-9 for package: 2:docker-common-1.13.1-161.git64e9980.el7_8.x86_64 --> Processing Dependency: oci-register-machine >= 1:0-5.13 for package: 2:docker-common-1.13.1-161.git64e9980.el7_8.x86_64 --> Processing Dependency: lvm2 >= 2.02.112 for package: 2:docker-common-1.13.1-161.git64e9980.el7_8.x86_64 --> Processing Dependency: container-storage-setup >= 0.9.0-1 for package: 2:docker-common-1.13.1-161.git64e9980.el7_8.x86_64 --> Processing Dependency: container-selinux >= 2:2.51-1 for package: 2:docker-common-1.13.1-161.git64e9980.el7_8.x86_64 --> Processing Dependency: atomic-registries for package: 2:docker-common-1.13.1-161.git64e9980.el7_8.x86_64 ---> Package subscription-manager-rhsm-certificates.x86_64 0:1.24.26-3.el7.centos will be ... ... installed Dependency Installed: PyYAML.x86_64 0:3.10-11.el7 atomic-registries.x86_64 1:1.22.1-33.gitb507039.el7_8 audit-libs-python.x86_64 0:2.8.5-4.el7 checkpolicy.x86_64 0:2.5-8.el7 container-selinux.noarch 2:2.119.1-1.c57a6f9.el7 container-storage-setup.noarch 0:0.11.0-2.git5eaf76c.el7 containers-common.x86_64 1:0.1.40-7.el7_8 device-mapper-event.x86_64 7:1.02.164-7.el7_8.2 device-mapper-event-libs.x86_64 7:1.02.164-7.el7_8.2 device-mapper-persistent-data.x86_64 0:0.8.5-2.el7 docker-client.x86_64 2:1.13.1-161.git64e9980.el7_8 docker-common.x86_64 2:1.13.1-161.git64e9980.el7_8 fuse-overlayfs.x86_64 0:0.7.2-6.el7_8 fuse3-libs.x86_64 0:3.6.1-4.el7 libaio.x86_64 0:0.3.109-13.el7 libcgroup.x86_64 0:0.41-21.el7 libnl.x86_64 0:1.1.4-3.el7 libsemanage-python.x86_64 0:2.5-14.el7 libyaml.x86_64 0:0.1.4-11.el7_0 lvm2.x86_64 7:2.02.186-7.el7_8.2 lvm2-libs.x86_64 7:2.02.186-7.el7_8.2 oci-register-machine.x86_64 1:0-6.git2b44233.el7 oci-systemd-hook.x86_64 1:0.2.0-1.git05e6923.el7_6 oci-umount.x86_64 2:2.5-3.el7 policycoreutils-python.x86_64 0:2.5-34.el7 python-IPy.noarch 0:0.75-6.el7 python-backports.x86_64 0:1.0-8.el7 python-backports-ssl_match_hostname.noarch 0:3.5.0.1-1.el7 python-dateutil.noarch 0:1.5-7.el7 python-dmidecode.x86_64 0:3.12.2-4.el7 python-ethtool.x86_64 0:0.8-8.el7 python-inotify.noarch 0:0.9.4-4.el7 python-ipaddress.noarch 0:1.0.16-2.el7 python-pytoml.noarch 0:0.1.14-1.git7dea353.el7 python-setuptools.noarch 0:0.9.8-7.el7 python-six.noarch 0:1.9.0-2.el7 python-syspurpose.x86_64 0:1.24.26-3.el7.centos setools-libs.x86_64 0:3.3.8-4.el7 slirp4netns.x86_64 0:0.4.3-4.el7_8 subscription-manager.x86_64 0:1.24.26-3.el7.centos subscription-manager-rhsm.x86_64 0:1.24.26-3.el7.centos subscription-manager-rhsm-certificates.x86_64 0:1.24.26-3.el7.centos usermode.x86_64 0:1.111-6.el7 yajl.x86_64 0:2.0.4-4.el7 Complete!

    4、验证安装状态

    [root@Roker ~]# docker -v Docker version 1.13.1, build 64e9980/1.13.1

    5、查看当前Docker的状态

    [root@Roker ~]# systemctl status docekr Unit docekr.service could not be found. [root@iZ8vbdmp7p7nu6o38oalgoZ ~]# systemctl status docker ● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled) Active: inactive (dead) Docs: http://docs.docker.com

    6、启动Docker

    [root@Roker ~]# systemctl start docker [root@Roker ~]#

    7、验证是否启动成功

    [root@Roker ~]# systemctl status docker ● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled) Active: active (running) since Fri 2020-07-03 15:27:48 CST; 6s ago Docs: http://docs.docker.com Main PID: 14440 (dockerd-current) CGroup: /system.slice/docker.service ├─14440 /usr/bin/dockerd-current --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current --default-runtime=docker-runc --exec-opt native.cgroupdriver=systemd --userland-proxy-path=/usr/... └─14445 /usr/bin/docker-containerd-current -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/contain... Jul 03 15:27:47 iZ8vbdmp7p7nu6o38oalgoZ dockerd-current[14440]: time="2020-07-03T15:27:47.327252104+08:00" level=warning msg="Docker could not enable SELinux on the host system" Jul 03 15:27:47 iZ8vbdmp7p7nu6o38oalgoZ dockerd-current[14440]: time="2020-07-03T15:27:47.540891085+08:00" level=info msg="Graph migration to content-addressability took 0.00 seconds" Jul 03 15:27:47 iZ8vbdmp7p7nu6o38oalgoZ dockerd-current[14440]: time="2020-07-03T15:27:47.541545766+08:00" level=info msg="Loading containers: start." Jul 03 15:27:47 iZ8vbdmp7p7nu6o38oalgoZ dockerd-current[14440]: time="2020-07-03T15:27:47.702976974+08:00" level=info msg="Firewalld running: false" Jul 03 15:27:48 iZ8vbdmp7p7nu6o38oalgoZ dockerd-current[14440]: time="2020-07-03T15:27:48.277305467+08:00" level=info msg="Default bridge (docker0) is assigned with an IP address 172.17.0.0/16. ... IP address" Jul 03 15:27:48 iZ8vbdmp7p7nu6o38oalgoZ dockerd-current[14440]: time="2020-07-03T15:27:48.527315047+08:00" level=info msg="Loading containers: done." Jul 03 15:27:48 iZ8vbdmp7p7nu6o38oalgoZ dockerd-current[14440]: time="2020-07-03T15:27:48.574294710+08:00" level=info msg="Daemon has completed initialization" Jul 03 15:27:48 iZ8vbdmp7p7nu6o38oalgoZ dockerd-current[14440]: time="2020-07-03T15:27:48.574331855+08:00" level=info msg="Docker daemon" commit="64e9980/1.13.1" graphdriver=overlay2 version=1.13.1 Jul 03 15:27:48 iZ8vbdmp7p7nu6o38oalgoZ systemd[1]: Started Docker Application Container Engine. Jul 03 15:27:48 iZ8vbdmp7p7nu6o38oalgoZ dockerd-current[14440]: time="2020-07-03T15:27:48.579866717+08:00" level=info msg="API listen on /var/run/docker.sock" Hint: Some lines were ellipsized, use -l to show in full.

    OK,至此,docker在Linux上的安装就结束了。另附docker其他基础操作命令,如下

    # docker info

    查看docker系统信息,也可用来检查docker是否启动成功。

    [root@Roker ~]# docker info Containers: 0 Running: 0 Paused: 0 Stopped: 0 Images: 0 Server Version: 1.13.1 Storage Driver: overlay2 Backing Filesystem: extfs Supports d_type: true Native Overlay Diff: true Logging Driver: journald Cgroup Driver: systemd Plugins: Volume: local Network: bridge host macvlan null overlay Swarm: inactive Runtimes: docker-runc runc Default Runtime: docker-runc Init Binary: /usr/libexec/docker/docker-init-current containerd version: (expected: aa8187dbd3b7ad67d8e5e3a15115d3eef43a7ed1) runc version: 66aedde759f33c190954815fb765eedc1d782dd9 (expected: 9df8b306d01f59d3a8029be411de015b7304dd8f) init version: fec3683b971d9c3ef73f284f176672c44b448662 (expected: 949e6facb77383876aeff8a6944dde66b3089574) Security Options: seccomp WARNING: You're not using the default seccomp profile Profile: /etc/docker/seccomp.json Kernel Version: 3.10.0-957.21.3.el7.x86_64 Operating System: CentOS Linux 7 (Core) OSType: linux Architecture: x86_64 Number of Docker Hooks: 3 CPUs: 1 Total Memory: 1.795 GiB Name: iZ8vbdmp7p7nu6o38oalgoZ ID: UK4V:EWD6:Z7MO:24I7:JOWB:M4Q2:42QV:RP42:PVAT:NBF4:CIVY:4RT7 Docker Root Dir: /var/lib/docker Debug Mode (client): false Debug Mode (server): false Registry: https://index.docker.io/v1/ WARNING: bridge-nf-call-iptables is disabled WARNING: bridge-nf-call-ip6tables is disabled Experimental: false Insecure Registries: 127.0.0.0/8 Live Restore Enabled: false Registries: docker.io (secure)

    Docker命令 

    容器生命周期管理 — docker [run|start|stop|restart|kill|rm|pause|unpause] 容器操作运维 — docker [ps|inspect|top|attach|exec|events|logs|wait|export|import|port] 容器rootfs命令 — docker [commit|cp|diff] 镜像仓库 — docker [login|pull|push|search] 本地镜像管理 — docker [images|rmi|tag|build|history|save|import] 其他命令 — docker [info|version]

     


    参考:

    https://blog.csdn.net/wjyyhhxit/article/details/83582588

    Processed: 0.011, SQL: 9