Docker安装教程

Docker安装教程

  • 安装教程
    • Centos7.6
      • docker镜像源修改
      • docker目录修改
    • Ubuntu20.04
      • docker镜像源修改
      • docker数据目录修改

安装教程

Centos7.6

🚀docker支持的Cetnos操作系统版本

CentOS 7
CentOS 8 (stream)
CentOS 9 (stream)

🚀支持的CPU

ARM/X86_64

  1. 查看本机的操作系统
cat /etc/*release*

在这里插入图片描述
2.查看CPU架构

uname -a

在这里插入图片描述
3.卸载旧版本的docker(如果没有安装过docker的请跳过3,4两步)

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

4.卸载历史版本

#删除机器上的包
sudo yum remove docker-ce docker-ce-cli containerd.io docker-
buildx-plugin docker-compose-plugin docker-ce-rootless-extras # 执行卸载
sudo rm -rf /var/lib/docker 
sudo rm -rf /var/lib/containerd 
# 如果修改过docker的目录,请确认要删除的目录
  1. 配置yum源
#安装yum的utils工具
sudo yum install -y yum-utils
#添加docker的yum源
sudo yum-config-manager   --add-repo https://download.docker.com/linux/centos/docker-ce.repo 
#配置使用国内源
sed -i 's@//download.docker.com@//mirrors.ustc.edu.cn/docker-ce@g' /etc/yum.repos.d/docker-ce.repo 

在这里插入图片描述
在这里插入图片描述
6. 安装docker

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

7.启动docker

#配置加载
sudo systemctl daemon-reload
#启动服务
sudo systemctl start docker
#开机启动
sudo systemctl enable docker
#查看服务状态 
sudo systemctl status docker

在这里插入图片描述
8. 检查安装结果,查看版本

docker versiondocker info   #信息更详细

在这里插入图片描述
在这里插入图片描述
9. 执行hello-world可以看到hello from docker 表明docker服务正常

docker run hello-world

在这里插入图片描述

docker镜像源修改

在配置文件 /etc/docker/daemon.json中加入以下内容:

#JSON 
{ "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/"] 
} 

重启docker服务

systemctl daemon-reload
systemctl restart docker

在这里插入图片描述

docker目录修改

🚀docker默认安装的目录为 /var/lib/docker,随着docker的使用这里会存放大量的镜像源,可能会撑爆我们的磁盘,通常有以下三种解决方案:

  • 将/var/lib/docker挂载到一个大的磁盘,这种一般我们能控制挂载目录,像腾讯云这种云厂商在安装K8s的节点的时候提供了挂载选项,可以直接挂载这个目录过去 。
  • 安装之前挂载一个大的磁盘,然后创建一个软链接到/var/lib/docker,这样就自
    动安装到我们空间比较大的磁盘了。
  • 安装了docker,然后发现忘了配置这个目录,我们需要修改docker的配置文件 。
# 创建一个目录 /data 假设这个目录挂载到了一个很大的磁盘上
# 在 /data目录下创建docker的目录mkdir -p /data/var/lib/docker# 修改配置文件 /etc/docker/daemon.json 
# 输入下面的json 
{ 
"data-root": "/data/var/lib/docker" 
} 

在这里插入图片描述
🚀重启docker服务

sudo systemctl daemon-reload
sudo systemctl restart docker

🚀这是原本在/var/lib/docker目录下的所有内容,都已经被移动到新建的 /data/var/lib/docker/ 目录下了。

在这里插入图片描述

Ubuntu20.04

🚀docker支持的Ubuntu操作系统版本

Ubuntu Kinetic 22.10
Ubuntu Jammy 22.04 (LTS)
Ubuntu Focal 20.04 (LTS)
Ubuntu Bionic 18.04 (LTS)

🚀支持的CPU

ARM/X86_64

  1. 查看本机的操作系统
cat /etc/*release*

在这里插入图片描述

2.查看CPU架构

uname -a

在这里插入图片描述
3.卸载旧版本的docker(如果没有安装过docker的请跳过3,4两步)

sudo apt-get remove docker docker-engine docker.io containerd runc 

4.卸载历史版本的docker

sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-
buildx-plugin docker-compose-plugin docker-ce-rootless-extras -y#删除docker目录
sudo rm -rf /var/lib/docker 
sudo rm -rf /var/lib/containerd# 如果修改过目录路径此处要注意

5.配置docker下载源

#Shell 
#curl命令安装 
sudo apt install curl -y 
#创建gpg key目录 
sudo mkdir -m 0755 -p /etc/apt/keyrings 
#下载gpg key 
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor --yes -o /etc/apt/keyrings/docker.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] 
https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null 

6.安装docker

#Shell 
sudo apt-get update 
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-
buildx-plugin docker-compose-plugin -y 

7.启动docker

#Shell 
#配置加载 
sudo systemctl daemon-reload  
#启动服务 
sudo systemctl start docker  
#开启启动 
sudo systemctl enable docker 
#查看服务状态 
sudo systemctl status docker  

8.查看安装结果,查看版本信息

docker versiondocker info   #信息更详细

9 执行hello-world可以看到hello from docker 表明docker服务正常

在这里插入图片描述

docker镜像源修改

在配置文件 /etc/docker/daemon.json中加入以下内容:

#JSON 
{ "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/"] 
} 

重启docker服务

systemctl daemon-reload
systemctl restart docker

docker数据目录修改

# 创建一个目录 /data 假设这个目录挂载到了一个很大的磁盘上
# 在 /data目录下创建docker的目录mkdir -p /data/var/lib/docker# 修改配置文件 /etc/docker/daemon.json 
# 输入下面的json 
{ 
"data-root": "/data/var/lib/docker" 
} 

在这里插入图片描述
🚀重启docker服务

sudo systemctl daemon-reload
sudo systemctl restart docker

🚀这是原本在/var/lib/docker目录下的所有内容,都已经被移动到新建的 /data/var/lib/docker/ 目录下了。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

操作系统:文件管理(二)文件系统

一战成硕 4.3 文件系统4.3.1 文件系统结构4.3.2 文件系统布局4.3.3 外存空闲空间管理4.3.4 虚拟文件系统 4.3 文件系统 4.3.1 文件系统结构 4.3.2 文件系统布局 文件系统在磁盘中的结构 文件系统在内存中的结构 内存中的信息用于管理文件系统并通过缓存提高性能,这…

第十一章《搞懂算法:聚类是怎么回事》笔记

聚类是机器学习中一种重要的无监督算法,可以将数据点归结为一系列的特定组合。归为一类的数据点具有相同的特性,而不同类别的数据点则具有各不相同的属性。 11.1 聚类算法介绍 人们将物理或抽象对象的集合分成由类似 的对象组成的多个类的过程被称为聚…

用Java(C语言也可以看)实现冒泡排序和折半查找(详细过程图)+逆序数组

目录 一、冒泡排序 1.冒泡排序介绍 2.排序的思路 3.完整代码 二、折半查找 1.折半查找介绍 2.查找的思路 3.完整代码 三、逆序数组 1.逆序思路 2..完整代码 一、冒泡排序 冒泡排序是众多排序的一种,无论在C语言或者Java中都很常见,后续在数据…

基于Chirp窄带扩频技术的无线混合组网应用,以多角色智能计量插座作为Chirp广域基站,构建边缘计算混合无线网络

随着物联网(IoT)的不断发展,无线通信技术的需求也在不断增加。Chirp窄带扩频技术是一种具有广泛应用潜力的无线通信技术,它在低功耗、广域覆盖、抗干扰等方面具备独特的优势。本文介绍了如何利用磐启微Chirp技术构建ECWAN无线混合…

iSlide2024一款基于PPT的插件工具包含38个设计辅助功能

根据使用者情况表明iSlide 是一款拥有30W素材的PPT高效设计软件,可提高90%工作效率,现全球已有超过1400万使用者,智能排版原创高品模板可商用图形,真正摆脱PPT的束缚,把精力用在该用的地方。我们都明白islide插件功能特…

『昆仑天工』4款AI产品开源!提供API对接!

在文章开篇,小圈先介绍下 昆仑万维 公司旗下的AI大模型**『天工』**,它是由昆仑万维自研的双千亿级大语言模型, 也是国内首个对标ChatGPT的双千亿级大语言模型,可满足文案创作、知识问答、代码编程、逻辑推演、数理推算等需求。 …

skynet学习笔记01— skynet开发环境搭建(超详细)与第一个skynet程序

01、前置准备 开发所在目录 mhzzjmhzzj-virtual-machine:~/work/skynetStudy$ pwd /home/mhzzj/work/skynetStudy前置准备 mhzzjmhzzj-virtual-machine:~/work/skynetStudy$ sudo apt install lua5.3 mhzzjmhzzj-virtual-machine:~/work/skynetStudy$ apt install git mhzzj…

Stable Diffusion 的提示词使用技巧

推荐Stable Diffusion自动纹理工具: DreamTexture.js自动纹理化开发包 什么是提示语? 提示语是人工智能中的一个重要组成部分,尤其是自然语言处理 (NLP)。在AI自人工智能中,想要获得好的效果,简…

物联网AI MicroPython学习之语法 uhashlib哈希算法

学物联网,来万物简单IoT物联网!! uhashlib 介绍 实现二进制数据散列算法,支持sha256,sha1,MD5。 接口介绍 sha256 - 创建一个SHA256哈希对象 参数原型:hash_obj uhashlib.sha256([bytes]) …

220v插座led指示灯维修

由于220v是交流电,有反向电压的情况,而led反向通电的时候电阻无穷大,所以分压也无穷大,220v一导通就击穿,即使加了很大的电阻也没用,串联电阻只能作用于二极管正向的时候。 目前有两种方案: 方…

UE5 新特性 Nanite 开启

啥也不说,只能说,真的牛,在自己的项目上,从10几20的帧数,直接彪到了70 适用场景: 大场景,三角面足够多 在Project Setting里面 将这几个勾未true 勾上这个,放入场景即可

Hadoop知识点全面总结

文章目录 什么是HadoopHadoop发行版介绍Hadoop版本演变历史Hadoop3.x的细节优化Hadoop三大核心组件介绍HDFS体系结构NameNode介绍总结 SecondaryNameNode介绍DataNode介绍DataNode总结 MapReduce介绍分布式计算介绍MapReduce原理剖析MapReduce之Map阶段MapReduce之Reduce阶段 实…

Rust编程基础之条件表达式和循环

1.if表达式 if 表达式允许根据条件执行不同的代码分支, 以下代码是一个典型的使用if表达式的例子: fn main() {let number 3; ​if number < 5 {println!("condition was true");} else {println!("condition was false");} } 所有的 if 表达式都以…

【C++杂货铺】再谈哈希算法:位图 | 布隆过滤器 | 哈希切分

文章目录 一、位图1.1 一道面试题1.2 位图的概念1.3 位图的模拟实现1.4 位图的应用1.4.1 给定100亿个整数&#xff0c;设计算法找到只出现一次的整数1.4.2 给两个文件&#xff0c;分别有100亿个整数&#xff0c;我们只有1G内存&#xff0c;如何找到两个文件交集&#xff1f;1.4…

RabbitMQ 消息应答与发布

目录 一、消息应答 1、自动应答&#xff08;默认&#xff09; 2、手动消息应答的方法 ​编辑 3、消息重新入队 4、手动应答案列与效果演示 二、RabbitMQ持久化 1、队列持久化 2、消息持久化 三、不公平分发&#xff08;能者多劳&#xff0c;弱者少劳&#xff09; 1、…

设计模式之命令模式

定义 命令(Command)模式&#xff1a;将请求封装成对象&#xff0c;以便使用不同的请求、日志、队列等来参数化其他对象&#xff0c;命令模式也支持撤销操作。 命令模式是对命令的封装&#xff0c;把发出命令的责任和执行命令的责任分割开&#xff0c;委派给不同的对象。 类图和…

企业级低代码平台需具备的关键能力解析

低代码是数字化转型浪潮下的产物&#xff0c;国内外已经生产出了很多成熟的产品。目的是让企业以更低的成本、更快的周期、更易操作的方式完成企业数字化布局&#xff0c;以实现内部的高效工作。 一、什么是“企业级”低代码&#xff1f; 首先&#xff0c;我们先回答什么是“…

番外---10.1 gcc+make调试程序

######### step0&#xff1a;理解程序调试&#xff1b; &#xff08;原始程序文件--->目标文件---->可执行文件&#xff1b;&#xff09; step1&#xff1a;掌握使用gcc的调试方法&#xff1b; step2&#xff1a;掌握使用make编译方法&#xff1b; ######### step0&…

0002Java安卓程序设计-基于Uniapp+springboot菜谱美食饮食健康管理App

文章目录 开发环境 《[含文档PPT源码等]精品基于Uniappspringboot饮食健康管理App》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程、包运行成功 编程技术交流、源码分享、模板分享、网课教程 &#x1f427;裙&#xff1a;776871563 功能介绍&#xff…

TypeScript学习Ts的类型声明,关于类

TypeScript是什么&#xff1f; 以JavaScript为基础构建的语言一个JavaScript的超集可以在任何支持JavaScript的平台上执行TypeScript扩展了JavaScript并添加了类型TS不能被JS解析器直接执行 TypeScript开发环境搭建 下载Node.js安装Node.js使用npm全局安装TypeScript&#x…