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

Docker安装

Docker实践

yum安装

YUM源可以使用官方YUM源、清华大学开源镜像站配置YUM源,也可以使用阿里云开源镜像站提供的YUM源,建议选择使用阿里云开源镜像站提供的YUM源,原因速度快。

地址: https://developer.aliyun.com/mirror/

我们安装ce版

https://developer.aliyun.com/mirror/docker-ce?spm=a2c6h.13651102.0.0.655e1b11Z3g4Hj

查看os信息

[root@centos133 ~]# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)

环境要求

内核要求

uname -r
> 3.10.0-514.el7.x86_64

3.10.0以上

关闭防火墙

firewall-cmd --state
> running

在CentOS 7及其以上版本中,firewalld是默认的防火墙,你可以通过以下命令关闭它并使其在重启后依然保持关闭状态:

  1. 关闭防火墙:
sudo systemctl stop firewalld
  1. 禁用防火墙服务,使其在重启后不会自动启动:
sudo systemctl disable firewalld
firewall-cmd --state
> not running

关闭selinux

sestatus

SELinux (Security Enhanced Linux) 是一个用于实施访问控制策略的 Linux 内核安全模块。虽然 SELinux 提供了增强的安全控制,但是也给系统配置和管理增加了一些复杂性。如果不正确地配置 SELinux,可能会阻止应用程序或服务正常工作。

要在CentOS 7中禁用 SELinux,按照以下步骤进行:

  1. 打开 SELinux 配置文件:
sudo vi /etc/selinux/config
  1. 找到 SELINUX 行,将其值更改为 disabled
SELINUX=disabled

然后保存并关闭文件。

此处眼睛要仔细,很可能enable就在前面,这会导致无法关闭selinux,已淌过坑,不谢

  1. 重启系统以使更改生效:
sudo reboot
  1. 重启后,你可以运行以下命令确认 SELinux 已被禁用:
sestatus

输出应显示 SELinux status: disabled,表明 SELinux 已被禁用。

下载

# 在docker host上使用 wget下载到/etc/yum.repos.d目录中即可。
wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 验证是否可用
yum repolist

status列,软件包数量>0即可

ls /etc/yum.repos.d/
# 直接安装docker-ce,此为docker daemon,所有依赖将被yum自动安装,含docker client等。
yum -y install docker-ce

以下是官方步骤,不一定非得执行,可以参考.

# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
# Step 4: 更新并安装Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
# Step 4: 开启Docker服务
sudo service docker start# 注意:
# 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,您可以通过以下方式开启。同理可以开启各种测试版本等。
# vim /etc/yum.repos.d/docker-ce.repo
#   将[docker-ce-test]下方的enabled=0修改为enabled=1
#
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# yum list docker-ce.x86_64 --showduplicates | sort -r
#   Loading mirror speeds from cached hostfile
#   Loaded plugins: branch, fastestmirror, langpacks
#   docker-ce.x86_64            17.03.1.ce-1.el7.centos            docker-ce-stable
#   docker-ce.x86_64            17.03.1.ce-1.el7.centos            @docker-ce-stable
#   docker-ce.x86_64            17.03.0.ce-1.el7.centos            docker-ce-stable
#   Available Packages
# Step2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.0.ce.1-1.el7.centos)
# sudo yum -y install docker-ce-[VERSION]

配置启动文件

配置Docker daemon

为什么修改启动文件?

  • 避免docker对宿主机造成影响比如防火墙

由于Docker使用过程中会对Centos操作系统中的Iptables防火墙中的FORWARD链默认规划产生影响及需要让Docker Daemon接受用户自定义的daemon.json文件,需要要按使用者要求的方式修改。

  • 定义自己调用的服务:如镜像仓库等等

文件位置

vim /usr/lib/systemd/system/docker.service

删除sock

ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

防火墙

ExecStartPost=/sbin/iptables -P FORWARD ACCEPT

重新加载

# 重启加载daemon文件
systemctl daemon-reload

启动

# 启动docker daemon
systemctl start docker# 设置开机自启动
systemctl enable docker

验证版本

使用Docker 客户端

# 使用docker version客户端命令查看已安装docker软件版本
docker version

涉及防火墙

在这里插入图片描述

避免docker对防火墙造成影响,有时候划线部分会变成Reject使网络不通

二进制安装

官方不建议此种部署方式,主因为不能自动更新,在条件有限制的情况下使用。

二进制安装参考网址:https://docs.docker.com/engine/install/binaries/

获取二进制文件,此文件中包含dockerd与docker 2个文件。
# wget https://download.docker.com/linux/static/stable/x86_64/docker-20.10.9.tgz
解压下载的文件
# tar xf docker-20.10.9.tgz
查看解压出的目录
# ls docker
containerd       containerd-shim-runc-v2  docker   docker-init   runc
containerd-shim  ctr                      dockerd  docker-proxy
安装解压后的所有二进制文件
# cp docker/* /usr/bin/
运行Daemon
# dockerd &会有大量的信息输出,停止后,直接回车即可使用。
如果您需要使用其他选项启动守护程序,请相应地修改上述命令或创建并编辑文件`/etc/docker/daemon.json` 以添加自定义配置选项。
确认是否可以使用docker客户端命令
# which docker
/usr/bin/docker使用二进制安装的docker客户端
# docker version

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

获取二进制文件,此文件中包含dockerd与docker 2个文件。
# wget https://download.docker.com/linux/static/stable/x86_64/docker-20.10.9.tgz
解压下载的文件
# tar xf docker-20.10.9.tgz
查看解压出的目录
# ls docker
containerd       containerd-shim-runc-v2  docker   docker-init   runc
containerd-shim  ctr                      dockerd  docker-proxy

其他

ExecStart=/usr/bin/dockerd

docker.service文件中ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock这个是什么意思?有什么作用

这行指令在 Docker 服务启动时被执行。解读这行指令如下:

  • ExecStart: 这是 Systemd 的一个指令,用来定义当服务启动时要执行的命令。

  • /usr/bin/dockerd: 这是 Docker 守护进程(dockerd)的完整路径,它是 Docker 运行的主要进程,用于管理 Docker 容器。

  • -H fd://: 这是 Docker 守护进程的一个选项,-H 用来定义 Docker 守护进程监听的地址。fd:// 是一个特殊的监听地址,用于与 Systemd 进行集成,让 Systemd 负责处理 Docker 守护进程的 socket。

  • --containerd=/run/containerd/containerd.sock: 这是 Docker 守护进程的另一个选项,定义了 Docker 守护进程与 containerd 守护进程通信的 socket 的路径。containerd 是 Docker 的一个组件,用于管理容器的生命周期。

所以这行命令的作用是,当 Docker 服务启动时,启动 Docker 守护进程,让它监听 Systemd 提供的 socket,并通过指定的 socket 与 containerd 守护进程通信。

-H fd://--containerd=/run/containerd/containerd.sock 这两个参数指定了 Docker 守护进程与其它服务(例如 systemd 和 containerd)之间的通信方式。在大多数情况下,这两个参数是有用的,应该保留。它们让 Docker 更好地与宿主机的系统集成,提高了 Docker 的稳定性和效率。

然而,在某些特殊的配置或使用场景中,你可能需要修改这些参数或完全移除它们。比如:

  1. 如果你想要 Docker 守护进程监听 TCP 端口,以便从远程管理 Docker,你需要添加 -H tcp://<ip>:<port> 参数。这可能需要你移除 -H fd:// 参数,因为 Docker 守护进程只能监听一种类型的 socket。

  2. 如果你想要 Docker 守护进程直接与 Docker 的 containerd 组件通信,而不是通过 socket 文件,你可以移除 --containerd=/run/containerd/containerd.sock 参数。

注意,这些修改可能会增加 Docker 的安全风险,降低 Docker 的稳定性和效率,因此只有在你完全理解这些参数的含义,并且确定你需要这样做时,才应该进行这些修改。

相关文章:

Docker安装

Docker实践 yum安装 YUM源可以使用官方YUM源、清华大学开源镜像站配置YUM源&#xff0c;也可以使用阿里云开源镜像站提供的YUM源&#xff0c;建议选择使用阿里云开源镜像站提供的YUM源&#xff0c;原因速度快。 地址: https://developer.aliyun.com/mirror/ 我们安装ce版 …...

06. 计数原理

6. 计数原理 6.1 分类加法计数原理与分步乘法计数原理 分类加法计数原理定义 完成一件事&#xff0c;有 n n n 类办法&#xff0c;在第1类办法中有 m 1 m_1 m1​ 种不同的方法&#xff0c;在第2类办法中有 m 2 m_2 m2​ 种不同的方法&#xff0c;…&#xff0c;在第 n n…...

计算机网络基础(静态路由,动态路由,公网IP,私网IP,NAT技术)

文章目录 一&#xff1a;静态路由和动态路由二&#xff1a;静态路由的配置路由信息的方式演示三&#xff1a;默认路由四&#xff1a;公网IP和私网IP和NAT技术的基本理解 一&#xff1a;静态路由和动态路由 在说静态路由和动态路由前&#xff0c;我们需要来了解一下&#xff0…...

CGAL 点云Alpha-Shape曲面重建算法

文章目录 一、简介二、相关参数三、实现代码四、实现效果参考资料一、简介 在数学上, a l p h a − s h a p e alpha-shape a...

Java 文件过滤器FileFilter | 按条件筛选文件

文章目录 一、概述1.1 何时会用到文件过滤器1.2 工作流程1.3 常用的接口和类1.4 文件过滤器的作用 二、按文件属性过滤2.1 按前缀或后缀过滤文件名2.2 按文件大小过滤 三、按文件内容过滤3.1 文本文件过滤器3.1.1 根据关键字过滤文件内容3.1.2 使用正则表达式过滤文件内容 3.2 …...

python格式化地址信息

背景 最近在折腾一个好玩的库&#xff0c;capa 实现地址的格式化输出。我看的教程是这样的&#xff1a; location_str ["徐汇区虹漕路461号58号楼5楼", "泉州市洛江区万安塘西工业区"] import cpca df cpca.transform(location_str) df在正式的运行代码…...

k8s1.26.6 安装gitlab

Gitlab官方提供了 Helm 的方式在 Kubernetes 集群中来快速安装&#xff0c;但是在使用的过程中发现 Helm 提供的 Chart 包中有很多其他额外的配置&#xff0c;所以我们这里使用自定义的方式来安装&#xff0c;也就是自己来定义一些资源清单文件。 Gitlab主要涉及到3个应用&…...

C5.0决策树建立个人信用风险评估模型

通过构建自动化的信用评分模型&#xff0c;以在线方式进行即时的信贷审批能够为银行节约很多人工成本。本案例&#xff0c;我们将使用C5.0决策树算法建立一个简单的个人信用风险评估模型。 导入类库 读取数据 #创建编码所用的数据字典 col_dicts{} #要编码的属性集 cols [che…...

【k8s集群部署】使用containerd运行时部署kubernetes集群(V1.27版本)

【k8s集群部署】使用containerd运行时部署kubernetes集群(V1.27版本) 一、本次实践介绍1.1 环境规划介绍1.2 本次实践简介二、三台主机基础环境配置2.1 主机配置工作2.2 关闭防火墙和selinux2.3 关闭swap2.4 清空iptables2.5 配置时间同步2.6 修改内核参数2.7 配置hosts文件三…...

网络安全进阶学习第八课——信息收集

文章目录 一、什么是信息收集&#xff1f;二、信息收集的原则三、信息收集的分类1.主动信息收集2.被动信息收集 四、资产探测1、Whois查询#常用网站&#xff1a; 2、备案信息查询#常用网站&#xff1a; 3、DNS查询#常用网站&#xff1a; 4、子域名收集#常用网站&#xff1a;#常…...

Spring Data Elasticsearch - 在Spring应用中操作Elasticsearch数据库

Spring Data Elasticsearch 文章目录 Spring Data Elasticsearch1. 定义文档映射实体类2. Repository3. ElasticsearchRestTemplate3.1 查询相关特性3.1.1 过滤3.1.2 排序3.1.3 自定义分词器 3.2 高级查询 4. 索引管理4.1 创建索引4.2 检索索引4.3 修改映射4.4 删除索引 5. 异常…...

图论-简明导读

计算机图论是计算机科学中的一个重要分支&#xff0c;它主要研究图的性质和结构&#xff0c;以及如何在计算机上有效地存储、处理和操作这些图。本文将总结计算机图论的核心知识点。 一、基本概念 计算机图论中的基本概念包括图、节点、边等。图是由节点和边构成的数据结构&am…...

记一次 .NET 某物流API系统 CPU爆高分析

一&#xff1a;背景 1. 讲故事 前段时间有位朋友找到我&#xff0c;说他程序CPU直接被打满了&#xff0c;让我帮忙看下怎么回事&#xff0c;截图如下&#xff1a; 看了下是两个相同的程序&#xff0c;既然被打满了那就抓一个 dump 看看到底咋回事。 二&#xff1a;为什么会打…...

【Docker】Docker安装Kibana服务_Docker+Elasticsearch+Kibana

文章目录 1. 什么是Kibana2. Docker安装Kibana2.1. 前提2.2. 安装Kibana 点击跳转&#xff1a;Docker安装MySQL、Redis、RabbitMQ、Elasticsearch、Nacos等常见服务全套&#xff08;质量有保证&#xff0c;内容详情&#xff09; 1. 什么是Kibana Kibana 是一款适用于Elasticse…...

前端面试题-VUE

1. 对于MVVM的理解 MVVM 是 Model-View-ViewModel 的缩写Model 代表数据模型&#xff0c;也可以在 Model 中定义数据修改和操作的业务逻辑。View 代表 UI 组件&#xff0c;它负责将数据模型转化成 UI 展现出来。ViewModel 监听模型数据的改变和控制视图⾏为、处理⽤户交互&…...

Linux嵌入式平台安全启动理解介绍

一、意义 安全启动可以防止未授权的或是进行恶意篡改的软件在系统上运行,是系统安全的保护石,每一级的前一个镜像会对该镜像进行校验。 1.1 安全启动原理介绍 通过数字签名进行镜像完整性验证(使用到非对称加密算法和哈希算法) 签名过程: raw_image--->use ha…...

安全学习DAY09_加密逆向,特征识别

算法逆向&加密算法分类&#xff0c;特征识别 文章目录 算法逆向&加密算法分类&#xff0c;特征识别算法概念&#xff0c;分类单向散列加密 - MD5对称加密 - AES非对称加密 - RSA 常见加密算法识别特征&#xff0c;解密特点MD5密文特点BASE64编码特点AES、DES特点RSA密文…...

原型模式(Prototype)

原型模式是一种创建型设计模式&#xff0c;使调用方能够复制已有对象&#xff0c;而又无需使代码依赖它们所属的类。当有一个类的实例&#xff08;原型&#xff09;&#xff0c;并且想通过复制原型来创建新对象时&#xff0c;通常会使用原型模式。 The Prototype pattern is g…...

深度学习之用PyTorch实现线性回归

代码 # 调用库 import torch# 数据准备 x_data torch.Tensor([[1.0], [2.0], [3.0]]) # 训练集输入值 y_data torch.Tensor([[2.0], [4.0], [6.0]]) # 训练集输出值# 定义线性回归模型 class LinearModel(torch.nn.Module):def __init__(self):super(LinearModel, self)._…...

45.248.11.X服务器防火墙是什么,具有什么作用

防火墙是一种网络安全设备或软件&#xff0c;服务器防火墙的作用主要是在服务器和外部网络之间起到一个安全屏障的作用&#xff0c;保护计算机网络免受未经授权的访问、恶意攻击或不良网络流量的影响&#xff0c;保护服务器免受恶意攻击和非法访问。它具有以下功能&#xff1a;…...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型&#xff1a;架构设计与关键步骤 在当今数字化转型的浪潮中&#xff0c;大语言模型&#xff08;LLM&#xff09;已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中&#xff0c;不仅可以优化用户体验&#xff0c;还能为业务决策提供…...

springboot 百货中心供应链管理系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;百货中心供应链管理系统被用户普遍使用&#xff0c;为方…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

MODBUS TCP转CANopen 技术赋能高效协同作业

在现代工业自动化领域&#xff0c;MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步&#xff0c;这两种通讯协议也正在被逐步融合&#xff0c;形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

GitFlow 工作模式(详解)

今天再学项目的过程中遇到使用gitflow模式管理代码&#xff0c;因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存&#xff0c;无论是github还是gittee&#xff0c;都是一种基于git去保存代码的形式&#xff0c;这样保存代码…...

基于Springboot+Vue的办公管理系统

角色&#xff1a; 管理员、员工 技术&#xff1a; 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能&#xff1a; 该办公管理系统是一个综合性的企业内部管理平台&#xff0c;旨在提升企业运营效率和员工管理水…...

为什么要创建 Vue 实例

核心原因:Vue 需要一个「控制中心」来驱动整个应用 你可以把 Vue 实例想象成你应用的**「大脑」或「引擎」。它负责协调模板、数据、逻辑和行为,将它们变成一个活的、可交互的应用**。没有这个实例,你的代码只是一堆静态的 HTML、JavaScript 变量和函数,无法「活」起来。 …...

人工智能--安全大模型训练计划:基于Fine-tuning + LLM Agent

安全大模型训练计划&#xff1a;基于Fine-tuning LLM Agent 1. 构建高质量安全数据集 目标&#xff1a;为安全大模型创建高质量、去偏、符合伦理的训练数据集&#xff0c;涵盖安全相关任务&#xff08;如有害内容检测、隐私保护、道德推理等&#xff09;。 1.1 数据收集 描…...

WPF八大法则:告别模态窗口卡顿

⚙️ 核心问题&#xff1a;阻塞式模态窗口的缺陷 原始代码中ShowDialog()会阻塞UI线程&#xff0c;导致后续逻辑无法执行&#xff1a; var result modalWindow.ShowDialog(); // 线程阻塞 ProcessResult(result); // 必须等待窗口关闭根本问题&#xff1a…...

用神经网络读懂你的“心情”:揭秘情绪识别系统背后的AI魔法

用神经网络读懂你的“心情”:揭秘情绪识别系统背后的AI魔法 大家好,我是Echo_Wish。最近刷短视频、看直播,有没有发现,越来越多的应用都开始“懂你”了——它们能感知你的情绪,推荐更合适的内容,甚至帮客服识别用户情绪,提升服务体验。这背后,神经网络在悄悄发力,撑起…...