centos7下安装docker

浮生半日闲 发布于 2022-10-30 72 次阅读


1、卸载旧版本

旧版本的docker叫做docker或者docker-engine。现在docker engine包叫做:docker-ce。调用下面的方法卸载旧版本docker:

[java@localhost ~]$ sudo yum remove docker \
                   docker-client \
                   docker-client-latest \
                   docker-common \
                   docker-latest \
                   docker-latest-logrotate \
                   docker-logrotate \
                   docker-engine
已加载插件:fastestmirror, langpacks
参数 docker 没有匹配
参数 docker-client 没有匹配
参数 docker-client-latest 没有匹配
参数 docker-common 没有匹配
参数 docker-latest 没有匹配
参数 docker-latest-logrotate 没有匹配
参数 docker-logrotate 没有匹配
参数 docker-engine 没有匹配
不删除任何软件包

 如果有旧版本则会被删除。

2、设置yum源

设置docker yum源:

[java@localhost ~]$ sudo yum install -y yum-utils
[java@localhost ~]$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

 3、安装docker

通过yum命令安装最新版本的docker engine和containerd:

 [java@localhost ~]$ sudo yum install -y docker-ce docker-ce-cli containerd.io

如果需要安装一个指定的版本,可以通过查看已有版本然后指定版本来安装。例:

[java@localhost ~]$ sudo yum list docker-ce --showduplicates | sort -r
docker-ce.x86_64            3:20.10.2-3.el7                    docker-ce-stable
docker-ce.x86_64            3:20.10.2-3.el7                    @docker-ce-stable
docker-ce.x86_64            3:20.10.1-3.el7                    docker-ce-stable
# 指定版本安装
[java@localhost ~]$ sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io

4、验证安装是否成功

通过docker version命令验证docker是否安装成功:

[java@localhost ~]$ sudo docker version
Client: Docker Engine - Community
 Version:           20.10.2
 API version:       1.41
 Go version:        go1.13.15
 Git commit:        2291f61
 Built:             Mon Dec 28 16:17:48 2020
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.2
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.13.15
  Git commit:       8891c58
  Built:            Mon Dec 28 16:16:13 2020
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.3
  GitCommit:        269548fa27e0089a8b8278fc4fc781d7f65a939b
 runc:
  Version:          1.0.0-rc92
  GitCommit:        ff819c7e9184c13b7c2607fe6c30ae19403a7aff
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

5、启动并加入开机启动

[java@localhost ~]$ sudo systemctl start docker
[java@localhost ~]$ sudo systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

6、调整docker存储目录

编辑/etc/docker/daemon.json文件,如果没有该文件,直接创建即可。然后在文件中添加如下内容:

{
  "data-root": "/project/docker/data",
  "log-driver": "json-file",    
  "log-opts": {      
       "max-size": "100m",      
       "max-file": "5"    
  },  
  "registry-mirrors": [
        "http://hub-mirror.c.163.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://registry.docker-cn.com",
        "https://registry.cn-hangzhou.aliyuncs.com",
        "https://mirror.ccs.tencentyun.com",
        "https://05f073ad3c0010ea0f4bc00b7105ec20.mirror.swr.myhuaweicloud.com"
    ]
}

其中data-root表示的是docker镜像存储位置,registry-mirrors表示国内镜像源。

或者使用阿里云镜像地址: