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

K8S学习指南(1)-docker的安装

文章目录

    • 引言
    • 1. Windows 系统中安装 Docker
      • a. 确认系统要求
      • b. 下载 Docker Desktop
      • c. 安装 Docker Desktop
      • d. 配置 Docker Desktop
      • e. 验证安装
    • 2. Ubuntu 系统中安装 Docker
      • a. 更新包列表
      • b. 安装依赖包
      • c. 添加 Docker GPG 密钥
      • d. 添加 Docker APT 仓库
      • e. 安装 Docker
      • f. 添加用户到 docker 组
      • g. 重启系统
      • h. 验证安装
    • 3. CentOS 系统中安装 Docker
      • a. 安装依赖包
      • b. 设置 Docker CE 仓库
      • c. 安装 Docker
      • d. 启动 Docker 服务
      • e. 设置 Docker 为开机启动
      • f. 添加用户到 docker 组
      • g. 验证安装
    • 安装过程中的注意事项
      • a. Hyper-V 启用失败
      • b. Windows 版本不兼容
      • c. 安装期间网络问题
      • d. 安装完成后无法启动 Docker
      • e. 安装过程中占用存储空间
    • 结论

引言

Docker 是一种流行的容器化平台,能够简化应用程序的开发、部署和管理。本文将深入介绍在 Windows、Ubuntu 和 CentOS 系统中安装 Docker 的详细步骤,同时讨论在安装过程中可能遇到的一些注意事项。

1. Windows 系统中安装 Docker

a. 确认系统要求

在安装 Docker 之前,请确保 Windows 符合以下基本要求:

  • Windows 10 专业版或企业版,64 位。
  • 启用虚拟化技术(VT-x)和 Hyper-V。
  • 至少 4 GB 的系统内存。

b. 下载 Docker Desktop

访问 Docker 官方网站(https://www.docker.com/products/docker-desktop)下载 Docker Desktop 的最新版本。

c. 安装 Docker Desktop

运行下载的安装程序,按照提示进行安装。安装期间可能需要系统重启。

d. 配置 Docker Desktop

安装完成后,打开 Docker Desktop。在系统托盘中,你会看到 Docker 图标,表示 Docker 已成功安装并正在运行。

e. 验证安装

打开命令提示符或 PowerShell,运行以下命令验证 Docker 是否正确安装:

docker --version
docker run hello-world

如果一切正常,将显示 Docker 版本信息和一则欢迎消息。

2. Ubuntu 系统中安装 Docker

a. 更新包列表

在 Ubuntu 系统上,首先确保包列表是最新的:

sudo apt update

b. 安装依赖包

安装 Docker 所需的一些基本依赖包:

sudo apt install -y apt-transport-https ca-certificates curl software-properties-common

c. 添加 Docker GPG 密钥

添加 Docker 官方 GPG 密钥,以确保下载的软件包的完整性:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

d. 添加 Docker APT 仓库

添加 Docker APT 仓库到系统源列表:

echo "deb [signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

e. 安装 Docker

安装 Docker Engine:

sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io

f. 添加用户到 docker 组

将当前用户添加到 docker 用户组,以避免使用 sudo 运行 Docker 命令:

sudo usermod -aG docker $USER

g. 重启系统

使用户组更改生效:

sudo reboot

h. 验证安装

运行以下命令验证 Docker 是否正确安装:

docker --version
docker run hello-world

如果一切正常,将显示 Docker 版本信息和一则欢迎消息。

3. CentOS 系统中安装 Docker

a. 安装依赖包

在 CentOS 系统上,首先安装一些基本依赖包:


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

b. 设置 Docker CE 仓库

配置 Docker CE 仓库:

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

c. 安装 Docker

安装 Docker Engine:

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

d. 启动 Docker 服务

sudo systemctl start docker

e. 设置 Docker 为开机启动

sudo systemctl enable docker

f. 添加用户到 docker 组

将当前用户添加到 docker 用户组:

sudo usermod -aG docker $USER

g. 验证安装

运行以下命令验证 Docker 是否正确安装:

docker --version
docker run hello-world

如果一切正常,将显示 Docker 版本信息和一则欢迎消息。

安装过程中的注意事项

在安装 Docker 过程中,可能会遇到一些常见问题,以下是一些注意事项和解决方法:

a. Hyper-V 启用失败

如果在 Windows 安装 Docker Desktop 时出现 Hyper-V 启用失败的问题,可能是因为系统 BIOS 中未启用虚拟化技术。解决方法是进入系统 BIOS 设置,启用虚拟化技术选项(VT-x)。

b. Windows 版本不兼容

Docker Desktop 对 Windows 10 的版本有要求,确保你的 Windows 10 版本为专业版或企业版,并且更新至最新版本。

c. 安装期间网络问题

在安装期间,Docker 需要从互联网下载一些组件。如果在安装过程中遇到网络问题,可以尝试使用代理或确保系统能够访问互联网。

d. 安装完成后无法启动 Docker

如果安装完成后无法启动 Docker,可以尝试重新安装 Docker Desktop,并确保没有其他虚拟化工具冲突。

e. 安装过程中占用存储空间

Docker 镜像和容器会占用一定的存储空间。在安装 Docker 时,确保系统有足够的可用存储空间。

结论

通过本文,你应该已经了解了在 Windows、Ubuntu 和 CentOS 系统中安装 Docker 的详细步骤以及可能遇到的一些注意事项。安装 Docker 可以为开发者提供一个灵活、轻量级的容器化环境,帮助简化应用程序的开发和部署过程。如果你遇到了问题,可以参考 Docker 官方文档或社区寻求帮助。希望你能顺利地在不同系统中安装和使用 Docker,并享受容器化技术带来的便利。

相关文章:

K8S学习指南(1)-docker的安装

文章目录 引言1. Windows 系统中安装 Dockera. 确认系统要求b. 下载 Docker Desktopc. 安装 Docker Desktopd. 配置 Docker Desktope. 验证安装 2. Ubuntu 系统中安装 Dockera. 更新包列表b. 安装依赖包c. 添加 Docker GPG 密钥d. 添加 Docker APT 仓库e. 安装 Dockerf. 添加用…...

vue3 + mark.js 实现文字标注功能

效果图 安装依赖 npm install mark.js --save-dev npm i nanoid代码块 <template><!-- 文档标注 --><header><el-buttontype"primary":disabled"selectedTextList.length 0 ? true : false"ghostclick"handleAllDelete"…...

运筹优化 | 模拟退火求解旅行商问题 | Python实现

"""模拟退火旅行商""" import random import numpy as np import math import time import matplotlib.pyplot as plt plt.rcParams[font.sans-serif] [SimHei] plt.rcParams[axes.unicode_minus] False location np.loadtxt(city_location.t…...

1017 A除以B

本题要求计算 A/B&#xff0c;其中 A 是不超过 1000 位的正整数&#xff0c;B 是 1 位正整数。你需要输出商数 Q 和余数 R&#xff0c;使得 ABQR 成立。 输入格式&#xff1a; 输入在一行中依次给出 A 和 B&#xff0c;中间以 1 空格分隔。 输出格式&#xff1a; 在一行中依…...

SAP UI5 walkthrough step8 Translatable Texts

在这个章节&#xff0c;我们会将一些文本常量独立出一个资源文件 这样的话&#xff0c;可以方便这些文本常量被翻译成任意的语言 这种国际化的操作&#xff0c;我们一般命名为i18n 新建一个文件i18n.properties webapp/i18n/i18n.properties (New) showHelloButtonTextSay …...

RocketMQ-源码架构二

梳理一些比较完整&#xff0c;比较复杂的业务线 消息持久化设计 RocketMQ的持久化文件结构 消息持久化也就是将内存中的消息写入到本地磁盘的过程。而磁盘IO操作通常是一个很耗性能&#xff0c;很慢的操作&#xff0c;所以&#xff0c;对消息持久化机制的设计&#xff0c;是…...

Unity_ET框架项目-斗地主_启动运行流程

unity_ET框架项目-斗地主_启动运行流程 项目源码地址&#xff1a; Viagi/LandlordsCore: ET斗地主Demohttps://github.com/Viagi/LandlordsCore下载项目到本地。 启动运行步骤&#xff1a; 下载目录如下&#xff1a; 1. VS&#xff08;我用是2022版VisualStudio&#xff09…...

自动化测试框架 —— pytest框架入门篇

今天就给大家说一说pytest框架。 今天这篇文章呢&#xff0c;会从以下几个方面来介绍&#xff1a; 01、pytest框架介绍 pytest 是 python 的第三方单元测试框架&#xff0c;比自带 unittest 更简洁和高效&#xff0c;支持非常丰富的插件&#xff0c;同时兼容 unittest 框架。…...

String类详解

String类详解 大家好&#xff0c;我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 解密String类&#xff1a;探秘Java中的字符串魔法 在Java的世界里&#xff0c;String类犹如一位魔法…...

Linux高级管理--安装MySQL数据库系统

MySQL服务基础 MySQL.是一个真正的多线程、多用户的SQL数据库服务&#xff0c;凭借其高性能、高可靠和易于使 用的特性&#xff0c;成为服务器领域中最受欢迎的开源数据库系统。在2008年以前&#xff0c;MySOL项目由MySQL AB公司进行开发&#xff0c;发布和支持&#xff0c;之后…...

团建策划信息展示服务预约小程序效果如何

团建是中大型企业商家每年举办的员工活动&#xff0c;其形式多样化、具备全部参与的娱乐性。但在实际策划流程及内容时&#xff0c;部分公司便会难以入手&#xff0c;术业有专攻&#xff0c;这个时候团建策划公司便会发挥效果。 如拓展训练、露营、运动会、体育竞技等往往更具…...

一个Redis实例最多能存放多少keys

程序员的公众号&#xff1a;源1024&#xff0c;获取更多资料&#xff0c;无加密无套路&#xff01; 最近整理了一份大厂面试资料《史上最全大厂面试题》&#xff0c;Springboot、微服务、算法、数据结构、Zookeeper、Mybatis、Dubbo、linux、Kafka、Elasticsearch、数据库等等 …...

K8S(四)—pod详解

目录 pod介绍Pod的概念&#xff1a;Pod的特性&#xff1a;Pod的配置&#xff1a;Pod的控制&#xff1a;示例 YAML 文件&#xff1a; pod启动流程问题 两种方式启动镜像的升级和回滚更新 Deployment&#xff1a;回滚检查 Deployment 历史版本回滚到之前的修订版本缩放 Deploymen…...

shiro Filter加载和执行 源码解析

一、背景 在使用若依框架&#xff08;前后端不分离包含shiro安全框架&#xff09;时&#xff0c;发现作者添加了验证码、登录帐号控制等自定义过滤器&#xff0c;于是对自定的过滤器加载和执行流程产生疑问。下面以验证码过滤器为例&#xff0c;对源码解析。注意类之间的继承关…...

IDEA上传jar包到Maven

mvn install:install-file //固定格式&#xff0c;maven的语法 -Dfilealibaba-sdk-1.0.0.jar //这里填写包的路径&#xff0c;因为我们是在当前目录所以只需要输入包名即可 -DgroupIdcom.qiehua.csdn //这里填写包的groupId&#xff0c;之后作为pom.xml中引用的gr…...

JavaScript——基本语法

1.定义变量&#xff1a; 变量类型 变量名 变量值 var关键字声明变量 es6版本以上 var 可写可不写 <script>// 定义变量&#xff1a;变量类型 变量名 变量值 var关键字声明变量 es6版本以上 var 可写可不写var num 2;</script>2.条件控制 <script>var …...

一款最近很火的开源低代码平台

低代码平台近年来获得大量融资的原因是多方面的。首先&#xff0c;低代码平台代表了软件开发领域的一个重要趋势&#xff0c;即通过简化编程过程来降低技术门槛&#xff0c;使非专业开发者也能构建应用程序。这为那些希望加速数字化转型的企业提供了新的可能性&#xff0c;因此…...

vue之代理配置devServer(vue.config.js)片段

关于vue.config.js的部分配置解析&#xff1a;首先看下面一段配置 devServer: { open: process.platform darwin,//true or false &#xff08;true则启动项目自动打开系统自带浏览器&#xff09; host: 0.0.0.0, // 配置devServer服务监听的地址 比如&#xff1a;想让局域网…...

CTD测试流程

连接 连接17Plus&#xff0c;用usb转232线&#xff0c;db9公针2、3分别接Data I/O的2、3。DB9的5接Data I/O的1。尼龙塞子打开状态。不用闭合。 软件连接 打开SeaTermAF V2&#xff0c;注意打开前先把串口插上&#xff0c;否则软件读不到串口。如果读不到&#xff0c;就在插…...

面试经典150题(15-19)

leetcode 150道题 计划花两个月时候刷完&#xff0c;今天&#xff08;第七天&#xff09;完成了5道(15-19)150&#xff1a; 今天这些都是我之前做过的&#xff0c;还有就是今天的全都是模拟过程。。所以做的还算快。 15&#xff08;13. 罗马数字转整数&#xff09; 题目描述&a…...

在rocky linux 9.5上在线安装 docker

前面是指南&#xff0c;后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

【位运算】消失的两个数字(hard)

消失的两个数字&#xff08;hard&#xff09; 题⽬描述&#xff1a;解法&#xff08;位运算&#xff09;&#xff1a;Java 算法代码&#xff1a;更简便代码 题⽬链接&#xff1a;⾯试题 17.19. 消失的两个数字 题⽬描述&#xff1a; 给定⼀个数组&#xff0c;包含从 1 到 N 所有…...

Opencv中的addweighted函数

一.addweighted函数作用 addweighted&#xff08;&#xff09;是OpenCV库中用于图像处理的函数&#xff0c;主要功能是将两个输入图像&#xff08;尺寸和类型相同&#xff09;按照指定的权重进行加权叠加&#xff08;图像融合&#xff09;&#xff0c;并添加一个标量值&#x…...

k8s业务程序联调工具-KtConnect

概述 原理 工具作用是建立了一个从本地到集群的单向VPN&#xff0c;根据VPN原理&#xff0c;打通两个内网必然需要借助一个公共中继节点&#xff0c;ktconnect工具巧妙的利用k8s原生的portforward能力&#xff0c;简化了建立连接的过程&#xff0c;apiserver间接起到了中继节…...

AI,如何重构理解、匹配与决策?

AI 时代&#xff0c;我们如何理解消费&#xff1f; 作者&#xff5c;王彬 封面&#xff5c;Unplash 人们通过信息理解世界。 曾几何时&#xff0c;PC 与移动互联网重塑了人们的购物路径&#xff1a;信息变得唾手可得&#xff0c;商品决策变得高度依赖内容。 但 AI 时代的来…...

Pinocchio 库详解及其在足式机器人上的应用

Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库&#xff0c;专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性&#xff0c;并提供了一个通用的框架&…...

SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题

分区配置 (ptab.json) img 属性介绍&#xff1a; img 属性指定分区存放的 image 名称&#xff0c;指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件&#xff0c;则以 proj_name:binary_name 格式指定文件名&#xff0c; proj_name 为工程 名&…...

使用LangGraph和LangSmith构建多智能体人工智能系统

现在&#xff0c;通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战&#xff0c;比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...

C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)

名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...

Golang——9、反射和文件操作

反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一&#xff1a;使用Read()读取文件2.3、方式二&#xff1a;bufio读取文件2.4、方式三&#xff1a;os.ReadFile读取2.5、写…...