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.函数的调用方式 相信你对调用函数一点都不陌生,但是在调用函数的过程中,却存在着很多你无法见到的东西,这是底层信息,想要理解透彻,就得深入底层去观察。 本文以…...

利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力
引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...

srs linux
下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...

【单片机期末】单片机系统设计
主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...
拉力测试cuda pytorch 把 4070显卡拉满
import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...
【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)
升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求ÿ…...
Go语言多线程问题
打印零与奇偶数(leetcode 1116) 方法1:使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...

关于easyexcel动态下拉选问题处理
前些日子突然碰到一个问题,说是客户的导入文件模版想支持部分导入内容的下拉选,于是我就找了easyexcel官网寻找解决方案,并没有找到合适的方案,没办法只能自己动手并分享出来,针对Java生成Excel下拉菜单时因选项过多导…...

windows系统MySQL安装文档
概览:本文讨论了MySQL的安装、使用过程中涉及的解压、配置、初始化、注册服务、启动、修改密码、登录、退出以及卸载等相关内容,为学习者提供全面的操作指导。关键要点包括: 解压 :下载完成后解压压缩包,得到MySQL 8.…...

系统掌握PyTorch:图解张量、Autograd、DataLoader、nn.Module与实战模型
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文通过代码驱动的方式,系统讲解PyTorch核心概念和实战技巧,涵盖张量操作、自动微分、数据加载、模型构建和训练全流程&#…...