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
是默认的防火墙,你可以通过以下命令关闭它并使其在重启后依然保持关闭状态:
- 关闭防火墙:
sudo systemctl stop firewalld
- 禁用防火墙服务,使其在重启后不会自动启动:
sudo systemctl disable firewalld
firewall-cmd --state
> not running
关闭selinux
sestatus
SELinux (Security Enhanced Linux) 是一个用于实施访问控制策略的 Linux 内核安全模块。虽然 SELinux 提供了增强的安全控制,但是也给系统配置和管理增加了一些复杂性。如果不正确地配置 SELinux,可能会阻止应用程序或服务正常工作。
要在CentOS 7中禁用 SELinux,按照以下步骤进行:
- 打开 SELinux 配置文件:
sudo vi /etc/selinux/config
- 找到
SELINUX
行,将其值更改为disabled
:
SELINUX=disabled
然后保存并关闭文件。
此处眼睛要仔细,很可能enable就在前面,这会导致无法关闭selinux,已淌过坑,不谢
- 重启系统以使更改生效:
sudo reboot
- 重启后,你可以运行以下命令确认 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 的稳定性和效率。
然而,在某些特殊的配置或使用场景中,你可能需要修改这些参数或完全移除它们。比如:
-
如果你想要 Docker 守护进程监听 TCP 端口,以便从远程管理 Docker,你需要添加
-H tcp://<ip>:<port>
参数。这可能需要你移除-H fd://
参数,因为 Docker 守护进程只能监听一种类型的 socket。 -
如果你想要 Docker 守护进程直接与 Docker 的 containerd 组件通信,而不是通过 socket 文件,你可以移除
--containerd=/run/containerd/containerd.sock
参数。
注意,这些修改可能会增加 Docker 的安全风险,降低 Docker 的稳定性和效率,因此只有在你完全理解这些参数的含义,并且确定你需要这样做时,才应该进行这些修改。
相关文章:

Docker安装
Docker实践 yum安装 YUM源可以使用官方YUM源、清华大学开源镜像站配置YUM源,也可以使用阿里云开源镜像站提供的YUM源,建议选择使用阿里云开源镜像站提供的YUM源,原因速度快。 地址: https://developer.aliyun.com/mirror/ 我们安装ce版 …...
06. 计数原理
6. 计数原理 6.1 分类加法计数原理与分步乘法计数原理 分类加法计数原理定义 完成一件事,有 n n n 类办法,在第1类办法中有 m 1 m_1 m1 种不同的方法,在第2类办法中有 m 2 m_2 m2 种不同的方法,…,在第 n n…...

计算机网络基础(静态路由,动态路由,公网IP,私网IP,NAT技术)
文章目录 一:静态路由和动态路由二:静态路由的配置路由信息的方式演示三:默认路由四:公网IP和私网IP和NAT技术的基本理解 一:静态路由和动态路由 在说静态路由和动态路由前,我们需要来了解一下࿰…...
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格式化地址信息
背景 最近在折腾一个好玩的库,capa 实现地址的格式化输出。我看的教程是这样的: location_str ["徐汇区虹漕路461号58号楼5楼", "泉州市洛江区万安塘西工业区"] import cpca df cpca.transform(location_str) df在正式的运行代码…...
k8s1.26.6 安装gitlab
Gitlab官方提供了 Helm 的方式在 Kubernetes 集群中来快速安装,但是在使用的过程中发现 Helm 提供的 Chart 包中有很多其他额外的配置,所以我们这里使用自定义的方式来安装,也就是自己来定义一些资源清单文件。 Gitlab主要涉及到3个应用&…...

C5.0决策树建立个人信用风险评估模型
通过构建自动化的信用评分模型,以在线方式进行即时的信贷审批能够为银行节约很多人工成本。本案例,我们将使用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文件三…...

网络安全进阶学习第八课——信息收集
文章目录 一、什么是信息收集?二、信息收集的原则三、信息收集的分类1.主动信息收集2.被动信息收集 四、资产探测1、Whois查询#常用网站: 2、备案信息查询#常用网站: 3、DNS查询#常用网站: 4、子域名收集#常用网站:#常…...
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. 异常…...

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

记一次 .NET 某物流API系统 CPU爆高分析
一:背景 1. 讲故事 前段时间有位朋友找到我,说他程序CPU直接被打满了,让我帮忙看下怎么回事,截图如下: 看了下是两个相同的程序,既然被打满了那就抓一个 dump 看看到底咋回事。 二:为什么会打…...

【Docker】Docker安装Kibana服务_Docker+Elasticsearch+Kibana
文章目录 1. 什么是Kibana2. Docker安装Kibana2.1. 前提2.2. 安装Kibana 点击跳转:Docker安装MySQL、Redis、RabbitMQ、Elasticsearch、Nacos等常见服务全套(质量有保证,内容详情) 1. 什么是Kibana Kibana 是一款适用于Elasticse…...
前端面试题-VUE
1. 对于MVVM的理解 MVVM 是 Model-View-ViewModel 的缩写Model 代表数据模型,也可以在 Model 中定义数据修改和操作的业务逻辑。View 代表 UI 组件,它负责将数据模型转化成 UI 展现出来。ViewModel 监听模型数据的改变和控制视图⾏为、处理⽤户交互&…...
Linux嵌入式平台安全启动理解介绍
一、意义 安全启动可以防止未授权的或是进行恶意篡改的软件在系统上运行,是系统安全的保护石,每一级的前一个镜像会对该镜像进行校验。 1.1 安全启动原理介绍 通过数字签名进行镜像完整性验证(使用到非对称加密算法和哈希算法) 签名过程: raw_image--->use ha…...

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

原型模式(Prototype)
原型模式是一种创建型设计模式,使调用方能够复制已有对象,而又无需使代码依赖它们所属的类。当有一个类的实例(原型),并且想通过复制原型来创建新对象时,通常会使用原型模式。 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服务器防火墙是什么,具有什么作用
防火墙是一种网络安全设备或软件,服务器防火墙的作用主要是在服务器和外部网络之间起到一个安全屏障的作用,保护计算机网络免受未经授权的访问、恶意攻击或不良网络流量的影响,保护服务器免受恶意攻击和非法访问。它具有以下功能:…...

label-studio的使用教程(导入本地路径)
文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

css实现圆环展示百分比,根据值动态展示所占比例
代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...

全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...

Linux 内存管理实战精讲:核心原理与面试常考点全解析
Linux 内存管理实战精讲:核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用,还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...
scikit-learn机器学习
# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...

GraphQL 实战篇:Apollo Client 配置与缓存
GraphQL 实战篇:Apollo Client 配置与缓存 上一篇:GraphQL 入门篇:基础查询语法 依旧和上一篇的笔记一样,主实操,没啥过多的细节讲解,代码具体在: https://github.com/GoldenaArcher/graphql…...

6.9-QT模拟计算器
源码: 头文件: widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QMouseEvent>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpublic:Widget(QWidget *parent nullptr);…...
基于Uniapp的HarmonyOS 5.0体育应用开发攻略
一、技术架构设计 1.混合开发框架选型 (1)使用Uniapp 3.8版本支持ArkTS编译 (2)通过uni-harmony插件调用原生能力 (3)分层架构设计: graph TDA[UI层] -->|Vue语法| B(Uniapp框架)B --&g…...
在Spring Boot中集成RabbitMQ的完整指南
前言 在现代微服务架构中,消息队列(Message Queue)是实现异步通信、解耦系统组件的重要工具。RabbitMQ 是一个流行的消息中间件,支持多种消息协议,具有高可靠性和可扩展性。 本博客将详细介绍如何在 Spring Boot 项目…...