瑞_Docker安装教程(超详细图文步骤,含卸载、离线安装)

news2024/11/20 12:43:28

文章目录

    • 1 CentOS 在线安装 Docker
      • 1.1 卸载旧版Docker
      • 1.2 安装Docker
        • 1.2.1 安装Docker的yum库
        • 1.2.2 配置Docker的yum源
        • 1.2.3 安装Docker-CE
        • 1.2.4 启动和校验(开机自启)
        • 1.2.5 配置镜像加速
      • 1.3 安装 Docker Compose
      • 1.4 启动和校验(开机自启)
    • 2 CentOS 离线安装 Docker
      • 2.1 资源准备
        • 2.1.1 Docker 官方资源
        • 2.1.2 Docker 网盘资源
        • 2.1.3 Docker-Compose 官方资源
        • 2.1.4 Docker-Compose 网盘资源
      • 2.2 离线卸载(含docker-compose)
      • 2.3 离线安装
        • 2.3.1 离线安装 docker
        • 2.3.2 离线安装 docker-compose
    • 附:离线安装 Docker 部署 nginx 测试

瑞&3l

🙊 前言:本文章为瑞_系列专栏之《Docker》的环境准备篇,主要介绍了 Docker 的安装、卸载、离线安装以及 docker-compose 的离线安装。本文仅供大家交流、学习及研究使用,禁止用于商业用途,违者必究!

使用 Docker 需要具备一点 Linux 基础知识、需安装 VMware 和 CentOS 7 64位

安装 MobaXterm 可参考:《瑞_Java所有相关环境及软件的安装和卸载》
安装 CentOS 7   可参考:《瑞_VMware虚拟机安装Linux纯净版(含卸载,图文超详细)》
关于使用 Docker 可参考:《瑞_Docker(笔记超详细,有这一篇就够了)》




  Docker是快速构建、运行、管理应用的工具。Docker是一种轻量级的容器化平台,它允许开发者将应用程序及其依赖打包成一个可移植的容器,在任何环境中运行

  从 2017 年 3 月开始 docker 在原来的基础上分为两个分支版本:Docker CE 和 Docker EE。Docker CE 即社区免费版,Docker EE 即企业版,强调安全,但需付费使用。

本文介绍 CentOS 下 Docker CE 的安装

1 CentOS 在线安装 Docker

1.1 卸载旧版Docker

瑞:在安装前请将历史安装版本进行彻底卸载,否则很可能导致安装失败。

  在 Linux 系统中执行如下指令

yum remove docker \
    docker-client \
    docker-client-latest \
    docker-common \
    docker-latest \
    docker-latest-logrotate \
    docker-logrotate \
    docker-selinux \
    docker-engine-selinux \
    docker-engine

  如果执行后显示“不删除任何软件包”,说明本地没有安装Docker,可以直接开始安装

在这里插入图片描述

瑞:博主使用的SSH客户端远程连接工具是 MobaXterm,有需要的小伙伴可以参考《瑞_Java所有相关环境及软件的安装和卸载》

1.2 安装Docker

  官方安装教程(英文):https://docs.docker.com/engine/install/centos/

1.2.1 安装Docker的yum库

  在 Linux 系统中执行如下指令,安装 yum 工具

yum install -y yum-utils

  也可以如下按需多安装一些工具,如设备映射框架device-mapper-persistent-data、存储管理器lvm2等,至少安装实用工具包yum-utils

yum install -y yum-utils device-mapper-persistent-data lvm2

  执行该命令后需要等待一段时间,看到如下图所示出现“完毕!”则表示安装yum成功

在这里插入图片描述

1.2.2 配置Docker的yum源

  安装成功后,执行以下命令,配置Docker的yum源

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

在这里插入图片描述

  然后更新 yum 缓存

# centos 7
yum makecache fast
# CentOS 8没有fast这个命令
yum makecache
1.2.3 安装Docker-CE

瑞:注意前面章节的安装 yum 工具步骤是不能跳过的

  执行命令,安装Docker

yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

  执行该命令后需要等待一段时间,看到如下图所示出现“完毕!”则表示安装Docker成功

在这里插入图片描述

  可以执行docker -v命令测试是否安装成功

在这里插入图片描述

1.2.4 启动和校验(开机自启)
# 启动Docker
systemctl start docker

# 停止Docker
systemctl stop docker

# 重启
systemctl restart docker

# 设置开机自启
systemctl enable docker

# 执行docker ps命令,如果不报错,说明安装启动成功
docker ps

  启动Docker后,执行docker images命令或者docker ps,如果出现如下图的结果则证明Docker的安装真正成功了

在这里插入图片描述

瑞:建议执行systemctl enable docker设置开机自启

在这里插入图片描述

1.2.5 配置镜像加速

瑞:使用Docker安装和部署应用的时候需要下载,下载源默认是在国外比较慢,所以我们需要配置国内镜像加速,本文以阿里云镜像加速为例

  1️⃣ 注册账号

  在阿里云官方网站中注册一个账号:https://www.aliyun.com/

  2️⃣ 开通镜像服务

  在阿里云官方网站首页的产品中,找到阿里云的容器镜像服务ACR

在这里插入图片描述

  3️⃣ 点击“管理控制台”(首次可能需要选择立刻开通,然后进入控制台)

在这里插入图片描述

  4️⃣ 配置镜像加速,找到镜像工具下的镜像加速器

在这里插入图片描述

  5️⃣ 将页面向下滚动,即可找到配置加速器的操作文档,选择CentOS,根据操作文档说明依次执行 4 个命令

在这里插入图片描述

  具体命令如下(注意第 2 个命令比较长,到 EOF 才结束)

# 创建目录
mkdir -p /etc/docker

# 复制内容,注意把其中的镜像加速地址改成你自己的
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://xxxx.mirror.aliyuncs.com"]
}
EOF

# 重新加载配置
systemctl daemon-reload

# 重启Docker
systemctl restart docker

在这里插入图片描述

1.3 安装 Docker Compose

  卸载指令如下

sudo rm /user/local/bin/docker-compose

  在线安装步骤如下

  1️⃣ 下载 Docker Compose 的当前稳定版本

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

  2️⃣ 对二进制文件应用可执行权限

sudo chmod +x /usr/local/bin/docker-compose

  3️⃣ 测试安装。如果一切顺利,应该会看到Docker Compose的版本信息,如博主是docker-compose version 1.29.2, build 5becea4c

docker-compose --version

在这里插入图片描述

1.4 启动和校验(开机自启)

# 启动Docker
systemctl start docker

# 停止Docker
systemctl stop docker

# 重启
systemctl restart docker

# 设置开机自启
systemctl enable docker

# 执行docker ps命令,如果不报错,说明安装启动成功
docker ps

CentOS 在线安装 Docker 结束

2 CentOS 离线安装 Docker

  Docker 相关资源在下面的某度网盘链接中都有,需要自取

链接:https://pan.baidu.com/s/1MK7ywlhdKHnCG6cAfe3Cjg?pwd=cuzq
提取码:cuzq

2.1 资源准备

2.1.1 Docker 官方资源

  官方 docker 安装包地址:https://download.docker.com/linux/static/stable/x86_64/

2.1.2 Docker 网盘资源

  以下是含docker-26.0.2.tgz等的离线安装 Docker 所有相关博主分享的某度网盘资源,需要自取

链接:https://pan.baidu.com/s/1vkB-pdMnpFvQUyAVINeYkA?pwd=elqg
提取码:elqg

  以下是博主的images某度网盘分享,需要自取

链接:https://pan.baidu.com/s/1oEw4aZrbge1fZsxwDtY42A?pwd=6krt
提取码:6krt

2.1.3 Docker-Compose 官方资源

  去 github 官网上下载 Compose,官方地址:https://github.com/docker/compose
  博主提供的是v2.27.0版本,官方地址:https://github.com/docker/compose/releases/tag/v2.27.0

  1️⃣ 进入 docker compose 项目的 github 官网,点击 Tags

在这里插入图片描述

  2️⃣ 找到你要的 compose 版本,例如 v2.27.0

在这里插入图片描述

  3️⃣ 往下滑动,在 Assets 下找到要安装的操作系统对应的版本,如 docker-compose-linux-x86_64

在这里插入图片描述

2.1.4 Docker-Compose 网盘资源

  以下是博主的docker-compose-linux-2.27.0某度网盘分享,需要自取

链接:https://pan.baidu.com/s/1TS0LX5Td_q_pFrAIxmFxMw?pwd=q192
提取码:q192

2.2 离线卸载(含docker-compose)

步骤一:停止 docker 
# 停止 docker
sudo systemctl stop docker

步骤二:删除 docker 服务
# 移除开机自启动
systemctl disable docker.service
# 删除service服务
rm -f /etc/systemd/system/docker.service

步骤三:删除 docker 相关命令
# 删除 docker
sudo rm -rf /usr/bin/docker*
# 删除 containerd
sudo rm -rf /usr/bin/containerd*
sudo rm -rf /usr/bin/ctr
sudo rm -rf /usr/bin/runc
# 删除 docker 的目录和容器的相关文件
sudo rm -rf /var/lib/docker*
sudo rm -rf /var/lib/containerd*
# 删除 docker 运行时 ID
sudo rm -rf /var/run/docker*

步骤四:卸载 docker-compose
# 卸载 docker-compose
sudo rm -rf /usr/local/bin/docker-compose

步骤五:验证是否已成功卸载
docker --version

2.3 离线安装

2.3.1 离线安装 docker

  1️⃣ 上传安装包docker-26.0.2.tgz/root目录下

瑞:博主使用的SSH客户端远程连接工具是 MobaXterm,有需要的小伙伴可以参考《瑞_Java所有相关环境及软件的安装和卸载》

  2️⃣ 执行cd /root进入root目录,再执行tar -zxvf docker-26.0.2.tgz进行解压

cd /root
tar -zxvf docker-26.0.2.tgz

在这里插入图片描述

  3️⃣ 将解压之后的 docker 文件移到 /usr/bin目录下

cp -p docker/* /usr/bin

  4️⃣ 将 docker 注册为系统服务

    在/etc/systemd/system/目录下,创建docker.service文件

在这里插入图片描述

    编辑docker.service文件,vim /etc/systemd/system/docker.service

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target

  5️⃣ 给docker.service文件设置可执行权限

chmod +x /etc/systemd/system/docker.service

  6️⃣ 配置 docker,并设置开机自启 docker

# 重启守护进程
systemctl daemon-reload
# 启动 docker
systemctl start docker
# 查看docker状态
systemctl status docker
# 设置开机启动
systemctl enable docker

在这里插入图片描述

  7️⃣ 通过docker --version查看是否离线安装成功

# 查看版本 docker version
docker --version

在这里插入图片描述

2.3.2 离线安装 docker-compose

  1️⃣ 上传安装包docker-compose-linux-x86_64/root目录下

在这里插入图片描述

  2️⃣ 然后将其移动到/usr/local/bin目录下,并将其改名为docker-compose

cd /root
mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose

在这里插入图片描述

瑞:不要问为什么不直接传到/usr/local/bin/下,因为要以一个固定且肯定存在的目录如/root目录为例进行演示,这样才能最大程度上保证大家都能正确安装

  3️⃣ 添加可执行权限

chmod +x /usr/local/bin/docker-compose

  4️⃣ 验证是否安装成功

docker-compose -v

在这里插入图片描述


CentOS 离线安装 Docker-Compose 结束

附:离线安装 Docker 部署 nginx 测试

  1️⃣ 在资源中找到images/nginx.tar文件,将nginx.tar上传到/root目录下

  2️⃣ 加载本地压缩文件nginx.tar到镜像

cd /root
docker load -i nginx.tar

在这里插入图片描述

  3️⃣ 执行docker images命令查看本地镜像列表中已经有了 nginx 镜像

[root@localhost ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
nginx        latest    605c77e624dd   2 years ago   141MB

  4️⃣ 执行docker run -d --name nginx -p 80:80 nginx创建并运行 Nginx 容器

docker run -d --name nginx -p 80:80 nginx

在这里插入图片描述

  5️⃣ 浏览器访问http://虚拟机IP地址,如博主为:http://192.168.133.129/(修改为你的虚拟机IP地址),结果如下图

在这里插入图片描述



  附:Docker 相关资源在下面的某度网盘链接中都有,需要自取

链接:https://pan.baidu.com/s/1MK7ywlhdKHnCG6cAfe3Cjg?pwd=cuzq
提取码:cuzq

瑞:关于 Docker 的学习和使用可以参考《瑞_Docker(笔记超详细,有这一篇就够了)》




本文是博主的粗浅理解,可能存在一些错误或不完善之处,如有遗漏或错误欢迎各位补充,谢谢

  如果觉得这篇文章对您有所帮助的话,请动动小手点波关注💗,你的点赞👍收藏⭐️转发🔗评论📝都是对博主最好的支持~


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1675160.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

神级框架!!不要再封装各种 Util 工具类了【送源码】

这个工具类就比较厉害了&#xff0c;不过我在 Halo 当中用得最多的还是 HtmlUtil.encode&#xff0c;可以将一些字符转化为安全字符&#xff0c;防止 xss 注入和 SQL 注入&#xff0c;比如下面的评论提交。 comment.setCommentAuthor(HtmlUtil.encode(comment.getCommentAutho…

MQTT学习(一)

MQTT是一种与HTTP类似的应用层协议。 在某些物联网应用中&#xff0c;MQTT优于HTTP。 首先&#xff0c;HTTP是用于客户端服务器计算的以文档为中心的请求-响应协议。 HTTP是万维网的基础&#xff0c;但它不是专门为机器之间通信而设计的。 MQTT是一种机器对机器、以数据为中…

栅格地图、障碍物地图与膨胀地图(障碍物地图(三)写一张障碍物地图)

花了不少时间看完了障碍物地图的大致思路&#xff0c;这里简单根据前面的思路来写一个简易版的障碍物地图。 1.订阅一张地图 首先&#xff0c;我们需要一张静态地图作为原始数据&#xff0c;这个我们可以订阅当前的map来获取&#xff1a; void map_test1::MapCallback(const…

一文读懂 Pencil 积分,打开 Pencils Protocol 生态权益大门

近日&#xff0c;Scroll 生态项目 Penpad 近期将品牌全新升级为 Pencils Protocol &#xff0c;在升级后&#xff0c;其从一个 Scroll 生态的原生 LaunchPad 平台进一步拓展为集 Staking、Vault 以及 Shop 等功能于一体的全新生态。全新的品牌升级不仅让 Pencils Protocol 生态…

鸿蒙内核源码分析 (内核启动篇) | 从汇编到 main ()

这应该是系列篇最难写的一篇&#xff0c;全是汇编代码&#xff0c;需大量的底层知识&#xff0c;涉及协处理器&#xff0c;内核镜像重定位&#xff0c;创建内核映射表&#xff0c;初始化 CPU 模式栈&#xff0c;热启动&#xff0c;到最后熟悉的 main() 。 内核入口 在链接文件…

nginx配置域名与IP访问服务冲突问题

在最近的一次开发中遇到一个问题&#xff0c;我在云服务器上部署了两个服务&#xff0c;A服务和B服务&#xff0c; A服务在服务器中用的端口是80端口&#xff0c;所以我在浏览器访问的地址就是 B服务在服务器中用的是9818端口&#xff0c;所以我在浏览器访问的是 现在我给B服务…

Network Compression

听课&#xff08;李宏毅老师的&#xff09;笔记&#xff0c;方便梳理框架&#xff0c;以作复习之用。本节课主要讲了Network Compression&#xff0c;包括为什么要压缩&#xff0c;压缩的主要手段&#xff08;pruning,knowledge distillation,parameter quantization,architect…

Linux线程(四) 生产者消费者模型

目录 一、什么是生产者消费者模型 基本概念 优点以及应用场景 二、 基于阻塞队列的生产者消费者模型 三、POSIX信号量 四、基于环形队列的生产消费模型 一、什么是生产者消费者模型 Linux下的生产者消费者模型是一种经典的多线程或多进程编程设计模式&#xff0c;它用于解…

2024年3月 电子学会青少年等级考试机器人理论真题六级

202403 青少年等级考试机器人理论真题六级 第 1 题 下列选项中&#xff0c;属于URL的是&#xff1f;&#xff08; &#xff09; A&#xff1a;192.168.1.10 B&#xff1a;www.baidu.com C&#xff1a;http://www.kpcb.org.cn/h-col-147.html D&#xff1a;fe80::7998:ffc8…

【MIT6.S081】Lab7: Multithreading(详细解答版)

实验内容网址:https://xv6.dgs.zone/labs/requirements/lab7.html 本实验的代码分支:https://gitee.com/dragonlalala/xv6-labs-2020/tree/thread2/ Uthread: switching between threads 关键点:线程切换、swtch 思路: 本实验完成的任务为用户级线程系统设计上下文切换机制…

x264 帧类型代价计算原理:slicetype_frame_cost 函数分析

slicetype_frame_cost 函数 函数功能 这个函数的核心是计算编码一系列帧(从 p0 到p1,以 b 为当前帧)的代价 cost,并根据这个代价 cost来辅助帧类型决策。它考虑了运动搜索的结果、帧间和帧内预测的成本,并且可以并行处理以提高效率。该函数在帧类型决策、MBtree 分析、场…

有一个21年的前端vue项目,死活安不上依赖

在公司开发的时候遇到的一个很玄幻的问题,这个项目是21年开发的,现在我是24年中途二开增加新功能 这个项目经过多人之手,现在已经出现了问题------项目依赖安不上,我能启动完全是因为在23年的时候写这个项目的时候将依赖费九牛二虎之力下载好后打成了压缩包发给另外一个安不上依…

【Java学习笔记10 Java Web 应用——JSP

JSP(Java Script Pages)技术是一种网站开发技术&#xff0c;可以让Web开发人员快速、高效的开发出易于维护的动态网页。使用JSP技术开发的Web应用程序具有跨平台性&#xff0c;不需要修改程序&#xff0c;发布后即可在Windows、Linux等不同的操作系统中运行。 10.1 JSP技术概述…

【JavaWeb】前后端分离SpringBoot项目快速排错指南

1 发起业务请求 打开浏览器开发者工具&#xff0c;同时显示网络&#xff08;Internet&#xff09;和控制台&#xff08;console&#xff09; 接着&#xff0c;清空控制台和网络的内容&#xff0c;如下图 然后&#xff0c;点击你的业务按钮&#xff0c;发起请求。 首先看控制台…

nginx 配置域名SSL证书HTTPS服务

下载 上传根目录 /home/wwwroot/xx.com/ssl 从新执行 添加域名命令 选择添加SSL SSL Certificate file: 填写 完整目录 PEM文件地址 SSL Certificate Key file:填写 完整目录 key文件地址

OmniDrive:具有 3D 感知推理和规划功能的自动驾驶整体 LLM-智体框架

24年5月北理工、Nvidia和华中科大的论文“OmniDrive&#xff1a;A Holistic LLM-Agent Framework for Autonomous Driving with 3D Perception Reasoning and Planning”。 多模态大语言模型&#xff08;MLLMs&#xff09;的进展导致了对基于LLM的自动驾驶的兴趣不断增长&…

QT状态机10-QKeyEventTransition和QMouseEventTransition的使用

1、QMouseEventTransition的使用 首先明白 QMouseEventTransition 继承自 QEventTransition类。 关于QEventTransition类的使用,可参考 QT状态机9-QEventTransition和QSignalTransition的使用 回顾 QT状态机9-QEventTransition和QSignalTransition的使用 中的状态切换代码,如…

NSS【web】刷题

[SWPUCTF 2021 新生赛]jicao 类型&#xff1a;PHP、代码审计、RCE 主要知识点&#xff1a;json_decode()函数 json_decode()&#xff1a;对JSON字符串解码&#xff0c;转换为php变量 用法&#xff1a; <?php $json {"ctf":"web","question"…

《Fundamentals of Power Electronics》——阻抗和传递函数的图解构造

通常&#xff0c;我们可以通过观察画出近似的波德图&#xff0c;而不需要大量杂乱的代数和不可避免的相关代数错误。使用这种方法可以对电路的工作原理有很大的了解。在不同频率下&#xff0c;哪些元件主导电路响应变得很清楚&#xff0c;因此合适的近似变得很明显。可以直接得…

JAVA毕业设计141—基于Java+Springboot+Vue的物业管理系统(源代码+数据库)

毕设所有选题&#xff1a; https://blog.csdn.net/2303_76227485/article/details/131104075 基于JavaSpringbootVue的物业管理系统(源代码数据库)141 一、系统介绍 本项目前后端分离&#xff0c;分为管理员、员工、用户三种角色(角色权限可自行分配) 1、用户&#xff1a; …