• CentOS7安装Docker


    Docker 的环境依赖

    由于 Docker 的容器隔离依赖于 Linux 内核中的相关支持,所以使用 Docker 首先需要确保安装机器的 Linux kernel 中包含Docker 所需要使用的特性。以目前 Docker 官方主要维护的版本为例,我们需要使用基于 Linux kernel 3.10 以上版本的 Linux 系统来安装 Docker,下面的表格将直接展示 Docker 对主流几款 Linux 系统版本的要求。

    操作系统 支持的系统版本
    CentOS CentOS 7
    Debian Debian Wheezy 7.7 (LTS)
    Debian Jessie 8 (LTS)
    Debian Stretch 9
    Debian Buster 10
    Fedora Fedora 26
    Fedora 27
    Ubuntu Ubuntu Trusty 14.04 (LTS)
    Ubuntu Xenial 16.04 (LTS)
    Ubuntu Artful 17.10
    当然,在较低版本的 Linux 系统中也能安装 Docker,不过只能是版本较低的 Docker,其功能存在一些缺失,或者与最新版本有所区别。所以如果条件允许,建议将系统升级到支持最新版本 Docker 的系统版本。

    CentOS7安装最新DOcker的命令。

    因为我的阿里云是CentOS7,所以就直接上相关的命令了。

    $ sudo yum install yum-utils device-mapper-persistent-data lvm2
    $ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    $ sudo yum install docker-ce
    $ sudo systemctl enable docker
    $ sudo systemctl start docker
    

    简单介绍上手命令:

    • 启动Docker服务:
    $ sudo systemctl start docker
    
    • 实现Docker服务开机自启动的命令:
    $ sudo systemctl enable docker
    
    • 查看Docker的版本信息:
    $ sudo docker version
    

    下面为命令的内容:我们可以看到我们的Docker的版本号是19.03.2,表示是19年3月的第2次修正

    [root@izwz90lvzs7171wgdhul8az ~]# docker version
    Client: Docker Engine - Community
     Version:           19.03.2
     API version:       1.40
     Go version:        go1.12.8
     Git commit:        6a30dfc
     Built:             Thu Aug 29 05:28:55 2019
     OS/Arch:           linux/amd64
     Experimental:      false
    
    Server: Docker Engine - Community
     Engine:
      Version:          19.03.2
      API version:      1.40 (minimum version 1.12)
      Go version:       go1.12.8
      Git commit:       6a30dfc
      Built:            Thu Aug 29 05:27:34 2019
      OS/Arch:          linux/amd64
      Experimental:     false
     containerd:
      Version:          1.2.6
      GitCommit:        894b81a4b802e4eb2a91d1ce216b8817763c29fb
     runc:
      Version:          1.0.0-rc8
      GitCommit:        425e105d5a03fabd737a126ad93d62a9eeede87f
     docker-init:
      Version:          0.18.0
      GitCommit:        fec3683
    
    • 查看Docker更多的信息:
    $ sudo docker info
    

    下面为命令的内容:

    [root@izwz90lvzs7171wgdhul8az ~]# docker info
    Client:
     Debug Mode: false
    
    Server:
     Containers: 0
      Running: 0
      Paused: 0
      Stopped: 0
     Images: 0
     Server Version: 19.03.2
     Storage Driver: overlay2
      Backing Filesystem: extfs
      Supports d_type: true
      Native Overlay Diff: true
     Logging Driver: json-file
     Cgroup Driver: cgroupfs
     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: runc
     Default Runtime: runc
     .......
    
    • 列出Docker中所有镜像:
    $ sodu docker images
    

    下面为命令内容:

    [root@izwz90lvzs7171wgdhul8az ~]# docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    ubuntu              latest              2ca708c1c9cc        9 days ago          64.2MB
    
    • 拉取镜像:
    $ sodu docker pull ubuntu
    

    下面为命令内容:

    [root@izwz90lvzs7171wgdhul8az ~]# docker pull ubuntu
    Using default tag: latest
    latest: Pulling from library/ubuntu
    5667fdb72017: Pull complete 
    d83811f270d5: Pull complete 
    ee671aafb583: Pull complete 
    7fc152dfb3a6: Pull complete 
    Digest: sha256:b88f8848e9a1a4e4558ba7cfc4acc5879e1d0e7ac06401409062ad2627e6fb58
    Status: Downloaded newer image for ubuntu:latest
    docker.io/library/ubuntu:latest
    

    当我们没有提供镜像标签时,Docker 会默认使用 latest 这个标签

    • 查看某个镜像的详细信息[除了传递镜像或容器的名称外,还可以传入镜像 ID 或容器 ID]:
    $ sodu docker inspect ubuntu:latest
    

    下面为命令内容:

    [root@izwz90lvzs7171wgdhul8az ~]# docker inspect ubuntu:latest
    [
        {
            "Id": "sha256:2ca708c1c9ccc509b070f226d6e4712604e0c48b55d7d8f5adc9be4a4d36029a",
            "RepoTags": [
                "ubuntu:latest"
            ],
            "RepoDigests": [
                "ubuntu@sha256:b88f8848e9a1a4e4558ba7cfc4acc5879e1d0e7ac06401409062ad2627e6fb58"
            ],
         ......
        }
    ]
    
    • 删除镜像[参数是镜像的名称或 ID]:
    $ sudo docker rmi ubuntu:latest'
    

    下面为命令内容:

    [root@izwz90lvzs7171wgdhul8az ~]# docker rmi ubuntu:latest
    Untagged: ubuntu:latest
    Untagged: ubuntu@sha256:b88f8848e9a1a4e4558ba7cfc4acc5879e1d0e7ac06401409062ad2627e6fb58
    Deleted: sha256:2ca708c1c9ccc509b070f226d6e4712604e0c48b55d7d8f5adc9be4a4d36029a
    Deleted: sha256:bd416bed302bc2f061a2f6848a565483a5f265932d2d4fa287ef511b7d1151c8
    Deleted: sha256:5308e2e4a70bd4344383b8de54f8a52b62c41afb5caa16310326debd1499b748
    Deleted: sha256:dab02287e04c8b8207210b90b4056bd865fcfab91469f39a1654075f550c5592
    Deleted: sha256:a1aa3da2a80a775df55e880b094a1a8de19b919435ad0c71c29a0983d64e65db
    

    docker rmi 命令也支持同时删除多个镜像,只需要通过空格传递多个镜像 ID 或镜像名即可。

    更换阿里云镜像源

    Docker官方也提供了一个国内镜像源,但是呢,必须还是阿里的香,当然了,我们也可以两个都配置上。
    在 Linux 环境下,我们可以通过修改 /etc/docker/daemon.json ( 如果文件不存在,你可以直接创建它 ) 这个 Docker 服务的配置文件达到效果。

    {
        "registry-mirrors": [
            "https://ns2wtlx2.mirror.aliyuncs.com",
            "https://registry.docker-cn.com"
        ]
    }
    

    修改后,记得重启Docker来让配置生效:

    $ sudo systemctl restart docker
    

    最后通过docker info 来查阅当前注册的镜像源列表。

    $ sudo docker info
    

    下面为命令内容:

    [root@izwz90lvzs7171wgdhul8az ~]# docker info
    ......
     Registry Mirrors:
      https://registry.docker-cn.com/
      https://ns2wtlx2.mirror.aliyuncs.com/
     Live Restore Enabled: false
     .....
    
  • 相关阅读:
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
  • 原文地址:https://www.cnblogs.com/Howinfun/p/11626849.html
Copyright © 2020-2023  润新知