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

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

前言:实操之前大家应该熟悉一个新的名词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.lryc.cn/news/98327.html

相关文章:

  • 强引用和弱引用
  • tp6 实现excel 导入功能
  • 【C++】类和对象(中篇)
  • 大数据处理架构详解:Lambda架构、Kappa架构、流批一体、Dataflow模型、实时数仓
  • 双指针解决n数之和问题
  • 安全学习DAY07_其他协议抓包技术
  • electron的electron-packager打包运行和electron-builder生产安装包过程,学透 Electron 自定义 Dock 图标
  • 【无标题】深圳卫视专访行云创新马洪喜:拥抱AI与云原生,深耕云智一体化创新
  • jenkins通过流水线进行构建jar包
  • Android开发:通过Tesseract第三方库实现OCR
  • 合并两个有序链表——力扣21
  • 企业数据,大语言模型和矢量数据库
  • LabVIEW使用支持向量机对脑磁共振成像进行图像分类
  • kafka面试题
  • 树的遍历(一题直接理解中序、后序、层序遍历,以及树的存储)
  • JVM系统优化实践(22):GC生产环境案例(五)
  • DevOps系列文章 之GitLabCI模板库的流水线
  • spring扩展点ApplicationContextAware解释
  • 力扣热门100题之最大子数组和【中等】【动态规划】
  • 导出为PDF加封面且分页处理dom元素分割
  • 【C++入门】浅谈类、对象和 this 指针
  • 【Linux命令200例】indent对C语言代码进行缩进和格式化
  • Hive 调优集锦(1)
  • 【C++详解】——智能指针
  • Jmeter接口/性能测试,Jmeter使用教程(超细整理)
  • 59,综合案例-演讲比赛流程管理系统
  • 前端JS 展示上传图片缩略图(本地图片读取)
  • Vue中$route和$router的区别
  • 基于多任务学习卷积神经网络的皮肤损伤联合分割与分类
  • 串口环形缓冲区