当前位置: 首页 > article >正文

CentOS 7.9下安装Docker

一、安装docker前的准备工作

操作系统版本为centos 7.9,内核版本需要在3.10以上,需要保障能够连通互联网,为了避免安装过程中出现网络异常建议关闭linux的防火墙(生产环境下不要关闭防火墙,可根据实际情况设置防火墙出入站规则)。

#查看内核版本
sudo uname -r
#查看系统版本
sudo cat /etc/redhat-release
#关闭防火墙
sudo systemctl stop firewalld
#禁用防火墙开机自启
sudo systemctl disable firewalld
ping www.baidu.com

虚拟机要处于联网的状态

首先卸载旧版本的Docker

sudo yum -y remove docker docker-common container-selinux

可能还要卸载旧版本的docker-selinux包,这个包与官方的docker-engine包相冲突了

sudo yum -y remove docker-selinux

注意旧版本docker中的镜像等内容都存放在/var/lib/docker中,没有被删除,所以卸载只是卸载了旧版本的docker,本地的docker内容并没有被删除。

二、开始安装docker

1、更新系统

yum -y update

在执行到最后的时候报错了

这个报错解决如下:

这里的报错,我查了一下其他文献是仓库配置文件有问题,我做了一下操作。

[root@localhost yum.repos.d]# mv /etc/yum.repos.d /etc/yum.repos.d.backup
[root@localhost yum.repos.d]# mkdir /etc/yum.repos.d
[root@localhost yum.repos.d]# yum install -y wget
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
There are no enabled repos.
 Run "yum repolist all" to see the repos you have.
 To enable Red Hat Subscription Management repositories:
     subscription-manager repos --enable <repo>
 To enable custom repositories:
     yum-config-manager --enable <repo>
  1. mv /etc/yum.repos.d /etc/yum.repos.d.backup:这行命令将原有的 /etc/yum.repos.d 目录重命名为 /etc/yum.repos.d.backup。这意味着你备份了所有现有的 YUM 仓库配置文件。这样做通常是为了安全起见,以防在修改或替换现有仓库配置时出现问题。

  2. mkdir /etc/yum.repos.d:接下来,你创建了一个新的空目录 /etc/yum.repos.d。YUM 使用这个目录来查找 .repo 文件,这些文件定义了软件仓库的位置和其它属性。由于你是刚创建的空目录,此时没有任何有效的仓库配置,因此你暂时无法通过 YUM 安装任何软件包,除非你添加至少一个有效的 .repo 文件。

  3. yum install -y wget:这条命令尝试使用 YUM 来安装 wget 工具。但由于你刚刚清空了 /etc/yum.repos.d/ 目录,没有配置任何有效的仓库源,YUM 可能无法找到并安装 wget 或任何其他软件包,除非你已经在此之前配置好了至少一个有效的 YUM 仓库源。

接着执行以下命令

配置 CentOS 操作系统的 YUM 软件仓库源,具体来说是从阿里云的镜像站下载一个 CentOS 7 的基础仓库配置文件,并保存到 /etc/yum.repos.d/ 目录下,命名为 CentOS-Base.repo 

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  • wget:这是一个在命令行界面中用于从网络下载文件的工具。

  • -O /etc/yum.repos.d/CentOS-Base.repo:这是 wget 的一个选项,用来指定下载文件的输出路径和文件名。在这个例子中,下载的文件会被保存为 /etc/yum.repos.d/CentOS-Base.repo

  • http://mirrors.aliyun.com/repo/Centos-7.repo:这是要下载的 CentOS 7 基础仓库配置文件的URL地址。这个文件包含了指向阿里云提供的 CentOS 7 软件仓库的配置信息,包括仓库的位置、优先级等设置。

执行完这条命令后,你的 CentOS 系统就会使用阿里云提供的软件仓库作为默认的 yum 源。这样做通常可以加快软件包的下载速度,特别是当你所在的地区访问国际互联网的速度较慢时,使用国内的镜像源(如阿里云)能够显著提高软件包的下载效率和稳定性。

执行结果如下:

清理 YUM 缓存

yum clean all

然后充新从所有启用的仓库中下载最新的元数据(metadata)并将其存储在本地缓存中,来加快后续的软件包查询和安装速度。

yum makecache

 执行结果如下

然后重新执行

yum -y update

OK,报错解决了

2、安装工具包并设置仓库。

在安装Docker之前,我们需要安装一些必要的依赖包,以确保Docker正常运行。执行以下命令安装这些依赖:

[root@localhost yum.repos.d]# sudo yum install -y yum-utils device-mapper-persistent-data lvm2
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
软件包 yum-utils-1.1.31-54.el7_8.noarch 已安装并且是最新版本
软件包 device-mapper-persistent-data-0.8.5-3.el7_9.2.x86_64 已安装并且是最新版本
软件包 7:lvm2-2.02.187-6.el7_9.5.x86_64 已安装并且是最新版本
无须任何处理

 我这里在写文章之前已经安装过了,所以显示这样,你们正常执行就行

设置yum仓库

[root@localhost yum.repos.d]# sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
已加载插件:fastestmirror, langpacks
adding repo from: http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
grabbing file http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo

sudo:以超级用户权限运行命令,因为修改系统级的配置文件需要管理员权限。

  • yum-config-manager:YUM 配置管理工具,用来添加、删除或修改 YUM 仓库配置。
  • --add-repo:该选项告诉 yum-config-manager 添加一个新的仓库配置。
  • http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo:这是你要添加的仓库配置文件的 URL。在这个例子中,它是 Docker CE 在阿里云上的 CentOS 源。

3、开始安装

sudo yum install docker-ce docker-ce-cli containerd.io

安装完成

启动docker,和设置开机自动化启动

[root@localhost yum.repos.d]# sudo systemctl start docker
[root@localhost yum.repos.d]# sudo systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
[root@localhost yum.repos.d]# sudo docker version
Client: Docker Engine - Community
 Version:           26.1.4
 API version:       1.45
 Go version:        go1.21.11
 Git commit:        5650f9b
 Built:             Wed Jun  5 11:32:04 2024
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          26.1.4
  API version:      1.45 (minimum version 1.24)
  Go version:       go1.21.11
  Git commit:       de5c9cf
  Built:            Wed Jun  5 11:31:02 2024
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.33
  GitCommit:        d2d58213f83a351ca8f528a95fbd145f5654e957
 runc:
  Version:          1.1.12
  GitCommit:        v1.1.12-0-g51d5e94
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

配置镜像文件,执行即可

sudo tee /etc/docker/daemon.json <<-'EOF'
{
    "registry-mirrors": [
        "https://do.nark.eu.org",
        "https://dc.j8.work",
        "https://docker.m.daocloud.io",
        "https://dockerproxy.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://docker.nju.edu.cn",
        "https://mirrors.tuna.tsinghua.edu.cn/docker-ce",
        "http://hub-mirror.c.163.com",
        "https://ufaad1ze.mirror.aliyuncs.com",
        "https://mirror.ccs.tencentyun.com",
		"https://www.daocloud.io/mirror",
		"https://docker.nju.edu.cn"
    ]
}
EOF

 重新启动docker

[root@localhost yum.repos.d]# sudo systemctl daemon-reload
[root@localhost yum.repos.d]# sudo systemctl restart docker
[root@localhost yum.repos.d]# sudo systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since 五 2025-01-17 18:12:55 CST; 12s ago
     Docs: https://docs.docker.com
 Main PID: 67171 (dockerd)
    Tasks: 7
   Memory: 28.8M
   CGroup: /system.slice/docker.service
           └─67171 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

1月 17 18:12:55 192.168.239.128 systemd[1]: Starting Docker Application Container Engine...
1月 17 18:12:55 192.168.239.128 dockerd[67171]: time="2025-01-17T18:12:55.393245804+08:00" level=info msg="Starting up"
1月 17 18:12:55 192.168.239.128 dockerd[67171]: time="2025-01-17T18:12:55.411127925+08:00" level=info msg="[graphdriver] using prior storage driver: overlay2"
1月 17 18:12:55 192.168.239.128 dockerd[67171]: time="2025-01-17T18:12:55.411214377+08:00" level=info msg="Loading containers: start."
1月 17 18:12:55 192.168.239.128 dockerd[67171]: time="2025-01-17T18:12:55.462374161+08:00" level=info msg="Default bridge (docker0) is assigned with an IP address 172.17...IP address"
1月 17 18:12:55 192.168.239.128 dockerd[67171]: time="2025-01-17T18:12:55.481304501+08:00" level=info msg="Loading containers: done."
1月 17 18:12:55 192.168.239.128 dockerd[67171]: time="2025-01-17T18:12:55.489925863+08:00" level=info msg="Docker daemon" commit=de5c9cf containerd-snapshotter=false sto...sion=26.1.4
1月 17 18:12:55 192.168.239.128 dockerd[67171]: time="2025-01-17T18:12:55.489966283+08:00" level=info msg="Daemon has completed initialization"
1月 17 18:12:55 192.168.239.128 dockerd[67171]: time="2025-01-17T18:12:55.500859234+08:00" level=info msg="API listen on /run/docker.sock"
1月 17 18:12:55 192.168.239.128 systemd[1]: Started Docker Application Container Engine.
Hint: Some lines were ellipsized, use -l to show in full.


http://www.kler.cn/a/510106.html

相关文章:

  • Linux 音视频入门到实战专栏(视频篇)视频编解码 MPP
  • 高效实现 Markdown 转 PDF 的跨平台指南20250117
  • 计算机网络 (50)两类密码体制
  • 多种vue前端框架介绍
  • 【Linux】【Vim】vim编辑器的用法
  • 爬虫第二篇
  • WEB渗透技术研究与安全防御
  • 乘联会:1月汽车零售预计175万辆 环比暴跌33.6%
  • 构建安全防线:基于视频AI的煤矿管理系统架构创新成果展示
  • MobileNet:轻量级卷积神经网络引领移动设备图像识别新时代
  • 广东打造低空经济发展平台,CES Asia 2025助力科技腾飞
  • 国内微电子(集成电路)领域重点高校的特色与优势
  • 【scrapy】信号量—扩展随笔
  • 利用@WebMvcTest测试Spring MVC应用
  • MySQL、HBase、ES的特点和区别
  • 初学stm32 --- flash模仿eeprom
  • AI-Talk开发板之替换唤醒词
  • K8S中Pod控制器之Deployment(Deploy)控制器
  • Prompt-人工智能领域的核心技术与创新理念
  • 设置 Git 默认推送不需要输入账号和密码【Ubuntu】
  • 使用libwebsocket技术总结
  • 音视频入门基础:RTP专题(4)——FFmpeg源码中,判断某文件是否为SDP文件的实现
  • Web自动化测试平台设计与落地
  • 2025.1.15——五、时间盲注
  • 音乐播放器实现:前端HTML,CSS,JavaScript综合大项目
  • Python----Python高级(模块与包,Python基本库)