Docker 安装配置
本章背景知识
本章主要介绍在 Centos 操作系统平台上进行安装和配置Docker Engine。
环境准备
1、操作系统支持。
CentOS、Debian、Fedora、Raspbian、RHEL、SLES、Ubuntu、Binaries
2、启用yum 软件仓库源。
centos-extras
编者注:Centos 默认已经开启centos-extras 源。
3、移除Docker旧版本。
sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine
4、关闭 firewalld 防火墙,安装 iptables 防火墙。
# 关闭防火墙
systemctl stop firewalld# 取消开机启动
systemctl disable firewalld#安装iptables
yum install iptables-services -y# 重启防火墙使配置生效
systemctl start iptables# 设置防火墙开机启动
systemctl enable iptables
如果不执行这一步,Docker 服务器无法自动添加规则
[(103条消息) centos7安装docker报错iptables v1.4.21: Couldn‘t load target `DOCKER-ISOLATION‘_尧、木子的博客-CSDN博客](https://blog.csdn.net/weixin_38879931/article/details/125563912)
5、创建默认存储目录
mkdir /data
安装方法
1、yum 仓库:
使用 yum 软件仓库联网安装。
2、RPM包:
下载 RPM 包并手动安装,并且手动管理升级。这对于有些无法访问互联网的机器特别有用。
3、自动化脚本:
在测试和开发环境中,用户使用自动化脚本安装 Docker。
编者注:本章节介绍【yum仓库】和【RPM包】安装方式。
yum 仓库:联网安装
设置 yum 软件仓库
1、安装 yum-utils 软件包。
2、设置Docker软件仓库。
sudo yum install -y yum-utils$ sudo yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo
Docker Engine 安装步骤
1、安装 Docker Engine ,容器和 Docker Compose
sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y
2、安装过程中,会提示验证指纹,你需要接受并验证它。
3、若需要安装特定版本的 Docker 引擎,你需要列出所有的可用版本。
yum list docker-ce --showduplicates | sort -r
4、启动 Docker
sudo systemctl start docker
5、验证 Docker 是否能够运行hello-world镜像
sudo docker run hello-world
RPM 包:离线安装
1、大多数生产环境是不允许连接外网的,所以只能使用下载 RPM 包后手动安装。
2、由于安装 Docker RPM 包的相关依赖包非常复杂,所以这里就使用制作好的 Yum 离线缓存,进行安装,简化安装过程。
设置 yum 软件仓库
1、下载对应网盘中的 yum 仓库缓存包和配置文件,找到对应操作系统版本。
2、上传对应 yum.tar.gz 和 yum.repos.d.tar 包。
cd /var/cache/
rm -rf /var/cache/yum
tar -zxvf yum.tar.gz
cd /etc/
rm -rf /etc/yum.repos.d
tar -zxvf yum.repos.d.tar.gz
Docker Engine 安装步骤
1、安装 Docker Engine ,容器和 Docker Compose
sudo yum -C --nogpgcheck install -y yum-utils
sudo yum -C --nogpgcheck install docker-ce docker-ce-cli containerd.io docker-compose-plugin
| 选项 | 说明 |
|---|---|
| -C | 不更新缓存 |
| –nogpgcheck | 不验证指纹。 |
2、启动 Docker |
sudo systemctl start docker
3、Docker 镜像本地化仓库配置
Docker Hub 在国内访问比较慢,可以使用本地化网易镜像,提高下载镜像的速度。
4、配置镜像源地址。
root# vim /etc/docker/daemon.json---------------写入以下内容--------------{
....
"registry-mirrors": ["https://hub-mirror.c.163.com"]
....
}
5、重启 Docker 服务。
root# sudo systemctl restart docker
6、验证 Docker 是否能够运行 hello-world 镜像
sudo docker run hello-world
配置 Docker Engine 服务
本节主要介绍Docker Engine 服务配置。
Docker Engine管理用户
以上方式安装后,不会自动创建管理Docker服务的普通用户。每次操作Docker都需要root用户,这样非常不方便。针对这个问题,可以创建新的普通用户,并且加入到docker用户组。
1、创建Docker Engine专用管理用户,并加入docker用户组。
sudo useradd docker -g docker
Docker Engine服务管理
1、Docker Engine 服务开启启动
systemctl enable docker
2、systemctl 启停Docker Engine服务。
sudo systemctl start docker.service
sudo systemctl status docker.service
sudo systemctl stop docker.service
3、service 启停Docker Engine服务。
root# sudo service docker start
root# sudo service docker status
root# sudo service docker stop
Docker Engine更改默认存储目录
1、Docker 默认的存储目录是存放在/var/lib/docker,这个目录一般挂载在根(/) 目录下。
2、这个目录存储大量的镜像和容器,非常容易撑满磁盘,所以需要更换默认的存储目录。
3、配置默认存储目录。
root# vim /etc/docker/daemon.json---------------写入以下内容--------------{…snip…"data-root": "/data"…snip…}
4、关闭Docker 服务。
sudo systemctl stop docker
5、迁移Docker 容器和镜像数据。
sudo mv /var/lib/docker/* /data/
6、重启Docker服务。
root# sudo systemctl start docker
7、检查是否能够成功拉取镜像。
root# sudo docker pull hello-world
也可以使用软连接方式进行数据迁移。相关文章:
Docker 安装配置
本章背景知识 本章主要介绍在 Centos 操作系统平台上进行安装和配置Docker Engine。 环境准备 1、操作系统支持。 CentOS、Debian、Fedora、Raspbian、RHEL、SLES、Ubuntu、Binaries 2、启用yum 软件仓库源。 centos-extras 编者注:Centos 默认已经开启cento…...
死锁检测组件-设想
死锁检测组件-设想 现在有三个临界资源和三把锁绑定了,三把锁又分别被三个线程占用。(不用关注临界资源,因为锁和临界资源是绑定的) 但现在出现这种情况:线程1去申请获取锁2,线程2申请获取锁3,…...
线程池的使用
为什么要使用线程池 复习一下创建线程的几种方式: 继承Thread 实现Runnable 实现Callable 但是如果频繁的创建/销毁线程,就会造成资源浪费。这时候就需要将线程创建好之后存起来,以后要用取出来,用完后再放回去。 注意 ÿ…...
字节码指令
目录 2.1 入门 2.2 javap 工具 2.3 图解方法执行流程 1)原始 java 代码 2)编译后的字节码文件 3)常量池载入运行时常量池 4)方法字节码载入方法区 5)main 线程开始运行,分配栈帧内存 6)…...
TLS/SSL证书彻底扫盲
证书格式 pem Privacy Enhanced Mail文本格式,以 -----BEGIN CERTIFICATE----- 开头,以-----END CERTIFICATE-----结尾 der 二进制格式,只保存证书,不保存私钥java和window服务器常见 pfx/p12 Predecessor of PKCS#12二进制格式&…...
WGCNA | 值得你深入学习的生信分析方法!~(网状分析-第五步-高级可视化)
1写在前面 前面我们用WGCNA分析完成了一系列的分析,聚类分割模块。🥰 随后进一步筛选,找到与我们感兴趣的表型或者临床特征相关的模块,而且进行了模块内部分析。😘 再然后是对感兴趣模块进行功能注释,了解模…...
try catch finally执行顺序
try catch finally,try里有return,finally还执行么?答案: 执行,并且返回return时,finally的执行早于try。try-catch-finally的执行顺序无return当try中的t()没有抛出异常public static void main(String[] …...
2023年数学建模美赛D题(Prioritizing the UN Sustainability Goals)分析与编程
2023年数学建模美赛D题分析建模与编程 重要说明: 本文介绍2023年美赛题目,并进行简单分析;本文首先对 D题进行深入分析,其它题目分析详见专题讨论;本文及专题分析将在 2月17日每3小时更新一次,完全免费&am…...
35岁测试工程师被辞退,给你们一个忠告
一:前言:人生的十字路口静坐反思 入软件测试这一行至今已经10年多,承蒙领导们的照顾与重用,同事的支持与信任,我的职业发展算是相对较好,从入行到各类测试技术岗位,再到测试总监,再转…...
华为OD机试题 - 租车骑绿岛(JavaScript)
最近更新的博客 2023新华为OD机试题 - 斗地主(JavaScript)2023新华为OD机试题 - 箱子之形摆放(JavaScript)2023新华为OD机试题 - 考古学家(JavaScript)2023新华为OD机试题 - 相同数字的积木游戏 1(JavaScript)2023新华为OD机试题 - 最多等和不相交连续子序列(JavaScri…...
Linux下Python脚本的编写解析fio(minimal格式)(三)
在服务器测试(storage)过程中,会看到很多人写跑fio的脚本用minimal格式来解析,因为这种格式返回的结果对与脚本(shell,python)解析log非常方便.下面介绍一下这种方式下,用Python来解析log 1 一般客户会要求结果中出现一下参数的值: bandwidth…...
【实战场景二】如何设计一个分布式锁?
如何优雅的设计一个分布式锁?如何设计一个分布式锁?1、什么是分布式锁2、那么分布式锁,具备什么条件呢?3、设计分布式锁有哪些方式?3.1 利用redis实现分布式锁原理3.2 基于数据库做分布式锁3.3 基于zookeeper实现分布式…...
Java中ThreadLocal类详解
ThreadLocal从名字上我们看出,它叫做本地线程变量,每个线程都有各自的的变量,而不再是我们之前的两个线程共用同一个变量;以这个类创建的变量,在多个线程都用到这个变量时,可以为每一个线程创建一个变量副本…...
从一致性角度考虑推荐冷启动长尾推荐问题(一)
前言:目前中长尾推荐的方法有很多,主流的方法有几类比如:1)在没有项目ID嵌入的情况下提高推荐模型的鲁棒性,2)利用有限的交互数据提高学习效率,如使用元学习方法;3)利用物品侧面信息,便于物品ID嵌入的初始化࿰…...
电脑(Windows)常用快捷键
简述:实用的键盘快捷键是一个程序员的必备技能,下面给大家整理了一下常用的键盘快捷键; ⭐CtrlP 打开“打印机”对话框; ⭐CtrlW 关闭当前网页; ⭐CtrlF 查找(网页内查找); ⭐…...
Java类加载器
1 类加载器 1.1 类加载 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过类的加载,类的连接,类的初始化这三个步骤来对类进行初始化。如果不出现意外情况,JVM将会连续完成这三个步骤,所以有时也把这三个步骤统称为…...
信号完整性设计规则之单根信号失真最小化
本文内容从《信号完整性与电源完整性分析》整理而来,加入了自己的理解,如有错误,欢迎批评指正。 1. 通常采用所能容许的最长上升边。 上升边越短,带宽越大,信号完整性问题越严重。 2. 使用可控阻抗走线。 可控阻抗…...
Python3 数据结构
列表 Python中列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和元组不能。 以下是 Python 中列表的方法: 方法 描述 list.append(x) 把一个元素添加到列表的结尾…...
Compose-Navigation带参传递
带参传递 目前 compose 还不支持传入对象作为参数! 简单双参数 根目录下新建文件夹 entity,新建单例类 ContentType 作为数据类存储位置 新增数据类 DemoContent,这表示我们需要传入的两个参数,后面带问号判空 object ContentT…...
【函数栈帧的创建和销毁】 -- 神仙级别底层原理,你学会了吗?
文章目录1.函数的调用方式 2.函数在栈区上的动作 1.函数的调用方式 相信你对调用函数一点都不陌生,但是在调用函数的过程中,却存在着很多你无法见到的东西,这是底层信息,想要理解透彻,就得深入底层去观察。 本文以…...
FanControl终极指南:Windows风扇智能控制完全手册
FanControl终极指南:Windows风扇智能控制完全手册 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa/Fan…...
FCPX调色进阶:不靠插件,用内置工具实现电影感人物突出效果
FCPX调色进阶:不靠插件,用内置工具实现电影感人物突出效果 在影视创作中,人物主体的突出不仅是技术操作,更是视觉叙事的核心语言。Final Cut Pro X(FCPX)作为专业级剪辑软件,其内置调色工具往往…...
5G NR里那个神秘的Timing Advance,到底是怎么让手机和基站‘对表’的?
5G NR中的Timing Advance:手机与基站如何实现精准"对表" 想象一下音乐会现场,指挥家轻轻抬起指挥棒,所有乐手在同一瞬间开始演奏——这种完美同步在5G网络中同样至关重要。当你的手机与基站通信时,电磁波以光速穿梭&…...
C++性能优化
C性能优化是个系统工程,不是靠一两个“奇技淫巧”就能搞定的。我把它拆成四个层次来讲,从最立竿见影的到最底层的,你面试或实战时按这个框架去思考,思路会非常清晰。 第一层:算法与数据结构(性价比最高&…...
RStudio启动报错“R session failed to start”的排查与修复指南
1. 错误现象与初步诊断 当你满心欢喜地安装完RStudio,双击图标准备大展身手时,突然弹出一个冰冷的错误提示:"R session failed to start"。这种情况我遇到过不下十次,特别是帮学生调试环境的时候。先别急着重装系统&…...
Agent-Skills 工程化实践 —— 让 AI 编程从 “能用” 到 “可生产”
当 AI 生成代码的速度越来越快,开发者面临的新问题也随之而来:代码能运行,但不符合工程规范;功能实现了,但缺乏可维护性;开发效率提升了,但后续维护成本反而增加。Agent-Skills 项目的出现&…...
新加坡高校 Canvas 攻击事件影响评估与安全治理研究
摘要 2026 年 5 月发生的 Canvas 学习平台全球供应链攻击事件,对新加坡国立大学、新加坡社科大学、新加坡管理学院等高校造成服务中断与数据泄露风险,成为教育数字化场景下第三方平台安全风险的典型案例。本次攻击由 Shiny Hunters 组织实施,…...
带fp8激活量化的RMSNorm算子手撕
rms_norm_fp8_noweight_fp16:计算流程与优化 完整代码 void rms_norm_fp8_noweight_fp16(const __half *x, __nv_fp8_e4m3 *out,int seq_len, int dim, const float *d_scale,cudaStream_t stream) {rms_norm_fp8_noweight_kernel<<<seq_len, 256, 0, stream>&g…...
魔方机器人(二)从定点采样到序列生成:OpenCV颜色识别的工程实践
1. 魔方机器人颜色识别的工程挑战 第一次尝试用摄像头识别魔方颜色时,我对着屏幕上闪烁的色块发呆了整整三天。明明肉眼能清晰分辨的红色和橙色,在程序里却总是混淆。这就是魔方机器人开发中最关键的环节——颜色识别的工程化实现,它直接决定…...
CAJ转PDF终极指南:3步告别知网格式限制,实现跨平台学术自由
CAJ转PDF终极指南:3步告别知网格式限制,实现跨平台学术自由 【免费下载链接】caj2pdf Convert CAJ (China Academic Journals) files to PDF. 转换中国知网 CAJ 格式文献为 PDF。佛系转换,成功与否,皆是玄学。 项目地址: https:…...
