Linux_CentOS_7.9部署Docker以及镜像加速配置等实操验证全过程手册

news2024/11/27 5:37:49
前言:实操之前大家应该熟悉一个新的名词DevOps 俗称开发即运维、新一代开发工程师(Development和Operations的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合…那我们Docker之所以发展如此迅速,也是因为它对此给出了一个标准化的解决方案-----系统平滑移植,容器虚拟化技术。
在我们传统如VMware或者Hyper-V搭建各种业务开发环境相当麻烦,随着换环境,换机器设备等就要重来一次,费力费时。很多人想到,能不能从根本上解决问题,软件可以带环境安装?也就是说,安装的时候,把原始环境一模一样地复制过来。开发人员利用 Docker 可以消除协作编码时“在我的机器上可正常工作”的问题。
传统上认为,软件编码开发/测试结束后,所产出的成果即是程序或是能够编译执行的二进制字节码等(java为例)。而为了让这些程序可以顺利执行,开发团队也得准备完整的部署文件,让维运团队得以部署应用程式,开发需要清楚的告诉运维部署团队,用的全部配置文件+所有软件环境。不过,即便如此,仍然常常发生部署失败的状况。Docker的出现使得Docker得以打破过去「程序即应用」的观念。透过镜像(images)将作业系统核心除外,运作应用程式所需要的系统环境,由下而上打包,达到应用程式跨平台间的无缝接轨运作。
一句话:解决了运行环境和配置问题的软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术。好吧,不啰嗦了,这里记录下简单docker的部署的记录,关于容器编排集群等大家可根据自身环境及学习去了解。
环境:

1、CentOS-7.9-x86_64-DVD-2009.iso 配置:8U/8G/100G
2、软件包 3:docker-ce-24.0.4-1.el7.x86_64 软件包 1:docker-ce-cli-24.0.4-1.el7.x86_64
————————————————

一、CentOS系统基础环境配置
1、修改主机名(重启系统后生效)
vi hostname
2、将IP设置为静态模式后重启网络,则文件配置成功;
vi /etc/sysconfig/network-scripts/ifcfg-ens33

#将 BOOTPROTO="dhcp"改为 “static”,并添加IP、网关、子网掩码、DNS的信息

3、禁用防火墙和关闭selinux
systemctl disable firewalld
systemctl stop firewalld

在这里插入图片描述

##永久关闭
vi /etc/selinux/config
##将SELINUX=enforcing 改为 SELINUX=disabled 然后保存并退出
##临时关闭系统重启后还是会自动开启
setenforce 0 

在这里插入图片描述
这里部署docker的基础环境已配置完成。

二、开始部署docker

Docker官网参考:https://docs.docker.com/engine/install/centos/

1、确定你是CentOS7及以上版本
cat /etc/redhat-release

在这里插入图片描述

2、卸载系统自带的docker版本
yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

在这里插入图片描述

3、接下来安装几个必要组件(如gcc),但我这边就直接update了,毕竟我们虚拟机是要做大事的,避免每次都单独安装。这里列出相关系统编辑、解压缩、FTP、更新等必要的工具程序;
yum -y update
yum -y install vim
yum -y install unzip
yum -y install lrzsz
4、安装docker官网要求的依赖包
yum install -y yum-utils
5、最重要的事情来了,设置Stable镜像仓库,配置yum源,也就是后续docker的仓库,我们都要从这个源进行push或pull
##推荐
国内阿里云:yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
##大坑
官网国外:yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
##查看仓库中所有的docker版本
yum list docker-ce --showduplicates | sort -r

在这里插入图片描述

6、更新yum软件包建立索引
yum makecache fast

在这里插入图片描述

7、安装docker的最新版本
yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

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

7.1 不指定版本号即默认安装
yum install -y docker-ce
7.2 如果要指定版本号安装
##此时指定的就是docker-ce-18.09的版本
yum install docker-ce-18.09* -y
##例如docker-ce-3:24.0.0-1.el8 替换<VERSION_STRING> 使用所需版本,然后运行以下命令安装:
sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io docker-buildx-plugin docker-compose-plugin
8、启动docker并设置docker开机自启服务
systemctl start docker
systemctl enable docker
9、查看docker程序运行进程
ps -ef | grep docker

在这里插入图片描述

10、测试验证docker是否安装成功
docker version

在这里插入图片描述

11、永远的HelloWorld
docker run hello-world

在这里插入图片描述
此时,就已经完成了docker运行安装验证,但我觉得还有一步更重要就是我们的配置镜像加速,这是我们日常运维人是必须要配置的,这取决于我们日常push和pull的效率等,下面我就简单添加下,具体操作还需要运维的同学们到阿里云配置各自的加速器脚本。

三、镜像加速获取及配置
1、URL:目前我这边测试环境使用阿里云容器镜像服务:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
2、注册账户:当然还有腾讯网易等都可以使用不指定,注册一个属于自己的阿里云账户
3、登入获取加速器地址及脚本:登陆阿里云开发者平台–点击控制台—选择容器镜像服务—获取加速器地址—粘贴脚本直接执行
4、重启服务器

5、docker镜像加速配置
[root@docker239 docker]# mkdir -p /etc/docker
[root@docker239 docker]# tee /etc/docker/daemon.json <<-'EOF'
> {
>   "registry-mirrors": ["https://******.mirror.aliyuncs.com"]
> }
> EOF
{
  "registry-mirrors": ["https://******.mirror.aliyuncs.com"]
}
[root@docker239 docker]# cat /etc/docker/daemon.json
{
  "registry-mirrors": ["https://******.mirror.aliyuncs.com"]
}

在这里插入图片描述

[root@docker239 docker]# systemctl daemon-reload
[root@docker239 docker]# systemctl restart docker
[root@docker239 docker]# docker run hello-world

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/793907.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【*1800树上贪心】CF1401 D

Problem - D - Codeforces 题意&#xff1a; 思路&#xff1a; 首先&#xff0c;1尽可能少&#xff0c;那就是让pi尽可能不合并地摊到所有边上&#xff0c;然后计算贡献 按照CF惯用套路&#xff0c;这样的n^2贡献肯定是更换枚举对象&#xff0c;我们去枚举边&#xff0c;按边…

Docker consul 的容器服务更新与发现

目录 一、Consul 简介 1.什么是服务注册与发现 2. 什么是consul 3.consul 架构 二、部署 consul 服务器&#xff08;192.168.88.10&#xff09; 1.建立 Consul 服务 2.查看集群信息 3.通过 http api 获取集群信息 三、registrator服务器&#xff08;192.168.88.60&…

Gnomon水下环境 下

不会全下去 鱼群 方向反了&#xff0c;位置不对 不动了 速度快&#xff0c;一个条 数量太多 太卡 使用的弧线没问题 &#xff0c;这块我有点晕 水泡制作 运动严重 减少晃动 turbulenceField1.phaseZ time*20; 总结 使用晶格调节大概样子,变成柔体 particleShape1.daxiaorand(…

shell实现数据库分库分表备份

#!/bin/bash2 3 backup/backup/db #存放数据库的位置4 nodatabasesinformation_schema|mycat|performance_schema|sys|mysql #要过滤的数据库5 6 mysql -uroot -predhat -e "show databases" -N | egrep -v "${nodatabases}" > dbname #将数据库存放在…

ansible自动化运维(二)剧本、角色编写实战

&#x1f618;作者简介&#xff1a;一名运维工作人员。 &#x1f44a;宣言&#xff1a;人生就是B&#xff08;birth&#xff09;和D&#xff08;death&#xff09;之间的C&#xff08;choise&#xff09;&#xff0c;做好每一个选择。 &#x1f64f;创作不易&#xff0c;动动小…

在C语言中,变量主要的作用是什么?

常量记忆数据只能存储一个固定的数据&#xff0c;永远不变&#xff0c;所以这当然不能算得上是记忆数据 变量存储的数据可以改变&#xff0c;你可以让它记忆5&#xff0c;下一步它可以变为10 如果你还无法理解 那么请不用尝试变量编程实现以下&#xff1a; 输入一个100之内…

Cesium态势标绘专题-简单箭头(标绘+编辑)

标绘专题介绍:态势标绘专题介绍_总要学点什么的博客-CSDN博客 入口文件:Cesium态势标绘专题-入口_总要学点什么的博客-CSDN博客 辅助文件:Cesium态势标绘专题-辅助文件_总要学点什么的博客-CSDN博客 本专题没有废话,只有代码,代码中涉及到的引入文件方法,从上面三个链…

NoSQL-Redis持久化

NoSQL-Redis持久化 一、Redis 高可用&#xff1a;1.概述&#xff1a; 二、Redis持久化&#xff1a;1.持久化的功能&#xff1a;2.Redis 提供两种方式进行持久化&#xff1a; 三、RDB 持久化&#xff1a;1.定义&#xff1a;2.触发条件&#xff1a;3.执行流程&#xff1a;4.启动时…

地下水除砷工艺盘点:生物法、混凝法、沉淀法、吸附法和离子交换法

砷(As)为非人体必需元素&#xff0c;既不溶解于水又不溶解于酸&#xff0c;在自然界有三价无机态 As(III)、五价无机态 As(V)以及有机砷MMA(甲基胂酸)、DMA(二甲基胂酸)、TMA(三甲基胂酸)等。 砷在水体中主要以三价和五价的无机酸形式存在&#xff0c;三价砷的毒性更强&#xf…

作为一名测试工程师,你知道“微信红包”怎么测试吗?

测试思维 测试任何事物的测试思路可以总结如下&#xff1a; 第一步&#xff1a;梳理产品的核心业务流程&#xff1a;明白这是个什么项目&#xff0c;实现了什么业务&#xff0c;以及是怎么实现的&#xff1f; 这个步骤一般是参考公司的需求文档来的&#xff0c;如果产品提供…

Mr. Cappuccino的第52杯咖啡——Mybatis环境搭建与使用

Mybatis环境搭建与使用 Mybatis介绍Mybatis环境搭建与使用基于XML方式-原生方式开发创建数据库表项目准备项目结构项目代码实体类中添加有参构造方法产生的问题 基于XML方式-mapper代理开发项目准备项目结构项目代码SQL映射文件中namespace未设置为接口全限定名产生的问题 基于…

ESP32 LVGL:使用menuconfig配置LVGL会导致全部文件重新编译问题解决

问题描述 在使用ESP32 IDF LVGL时&#xff0c;我们可以通过idf.py menuconfig来对LVGL进行配置&#xff0c;但是每次使用idf.py menuconfig配置完LVGL后&#xff0c;由于修改了工程的sdkconfig文件&#xff0c;因此所有的文件都需要重新编译。如下图&#xff1a; 需要编译几千…

Mkdocs中利用Js实现大小圈鼠标拖动样式

在docs/javascripts/extra.js下复制粘贴&#xff1a; var CURSOR;Math.lerp (a, b, n) > (1 - n) * a n * b;const getStyle (el, attr) > {try {return window.getComputedStyle? window.getComputedStyle(el)[attr]: el.currentStyle[attr];} catch (e) {}return …

Java并发(十三)----共享存在的问题

1、小故事 老王&#xff08;操作系统&#xff09;有一个功能强大的算盘&#xff08;CPU&#xff09;&#xff0c;现在想把它租出去&#xff0c;赚一点外快 小南、小女&#xff08;不同的线程&#xff09;来使用这个算盘来进行一些计算&#xff0c;并按照时间给老王支付费用…

多元函数习题

目录 例题1&#xff1a; 例题2&#xff1a; 例题3&#xff1a; 证明题 例1&#xff1a; 例题2 ​编辑 例题3&#xff1a; 例题4&#xff1a; 例题1&#xff1a; 第二问的解法2&#xff1a; 例题2&#xff1a; 选择D&#xff0c;偏导数存在与函数连续并没有关系。 例题3&…

Git竞合处理

Gitee新建一个代码仓库&#xff0c;clone到本地&#xff0c;模拟竞合的情况出现 这里仓库已经配好了ssh&#xff0c;所以没有添加账户绑定的步骤 clone到本地 模拟A同学Clone代码 git clone 项目地址新建一个文件&#xff0c;上传到仓库 push到仓库 代码仓库已经可以看到了…

mysql-速成补充

目录 1.演示事务 ​编辑 1.1 read-uncommitted 1.2 read-committed 1.3 repeatable read 1.4 幻读 1.5 serializable 1.6 savepoint 2 变量 2.1 语法 2.2 举例 3 存储过程和函数 3.1 特点和语法 3.2 举例 4.函数 4.1 语法 4.2 举例 5 流程控制 5.1 分…

window.location.protocol使用实战图片不同浏览器显示问题解决方案

图片在不同浏览器可能会显示不出来个别原因分析&#xff0c; 如火狐浏览器协议类型会有问题 但是谷歌可以 解决方案&#xff1a;将写死的协议 如http换成window.location.protocol就可以了 前景&#xff1a;前台项目和后台项目有时返回的并不是图片全路径 &#xff0c;有时候…

接口测试进阶之数据模板

大家好久不见了。今天的文章将介绍jinja2模板在接口测试数据上的应用。 这几个月我在想&#xff0c;进阶系列要怎么写。 毕竟很多情况下&#xff0c;我觉得写技术文章和做培训一样&#xff0c;都会有两个结果&#xff1a; 1.是需要这些知识的人看不懂。 2.是看得懂的人不需要…

数值线性代数: 共轭梯度法

本文记录共轭梯度噶求解线性方程组的原理及流程。 零、预修 0.1 LU分解 设&#xff0c;若对于&#xff0c;均有&#xff0c;则存在下三角矩阵和上三角矩阵&#xff0c;使得。 设&#xff0c;若对于&#xff0c;均有&#xff0c;则存在唯一的下三角矩阵和上三角矩阵&#xff…