08_Dockerfile精讲及新型容器镜像构建技术
Dockerfile精讲及新型容器镜像构建技术一、容器与容器镜像之间的关系说到Docker管理的容器不得不说容器镜像,主要因为容器镜像是容器模板,通过容器镜像我们才能快速创建容器。 如下图所示: Docker Daemon通过容器镜像创建容器。 二、容器镜像分类 操作系统类 CentOS Ubuntu 在dockerhub下载或自行制作 应用类 Tomcat Nginx MySQL Redis 三、容器镜像获取的方法主要有以下几种: 1、在DockerHub直接下载 2、把操作系统中文件系统打包为容器镜像 3、把正在运行的容器打包为容器镜像,即docker commit 4、通过Dockerfile实现容器镜像的自定义及生成 四、容器镜像获取方法演示4.1 在DockerHub直接下载1# docker pull centos:latest 1# docker pull nginx:latest 4.2 把操作系统中文件系统打包为容器镜像4.2.1 安装一个最化的操作系统 4.2.2 把操作系统中文件系统进行打包1# tar --numeric-o...
07_Docker容器化部署企业级应用集群
Docker容器化部署企业级应用集群一、Docker容器化部署企业级应用1.1 使用Docker容器化部署企业级应用必要性 有利于快速实现企业级应用部署 有利于快速实现企业级应用恢复 1.2 使用Docker容器化部署企业级应用参考资料 二、使用Docker容器实现Nginx部署2.1 获取参考资料 2.2 运行Nginx应用容器 不在docker host暴露端口 12# docker run -d --name nginx-server -v /opt/nginx-server:/usr/share/nginx/html:ro nginx664cd1bbda4ad2a71cbd09f0c6baa9b34db80db2d69496670a960be07b9521cb 123# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS ...
06_docker容器镜像加速器及本地容器镜像仓库
docker容器镜像加速器及本地容器镜像仓库一、容器镜像加速器 由于国内访问国外的容器镜像仓库速度比较慢,因此国内企业创建了容器镜像加速器,以方便国内用户使用容器镜像。 1.1 获取阿里云容器镜像加速地址 1.2 配置docker daemon使用加速器123456添加daemon.json配置文件# vim /etc/docker/daemon.json# cat /etc/docker/daemon.json{ "registry-mirrors": ["https://s27w6kze.mirror.aliyuncs.com"]} 123重启docker# systemctl daemon-reload# systemctl restart docker 12尝试下载容器镜像# docker pull centos 二、容器镜像仓库2.1 docker hub2.1.1 注册 准备邮箱及用户ID 2.1.2 登录 2.1.3 创建容器镜像仓库 2....
05_Docker容器镜像
05_Docker容器镜像一、Docker容器镜像操作2.1 查看本地容器镜像2.1.1 使用docker images命令查看12345# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEbash latest 5557e073f11c 2 weeks ago 13MBnginx latest 605c77e624dd 3 weeks ago 141MBcentos latest 5d0da3dc9764 4 months ago 231MB 2.1.2 使用docker image命令查看12345# docker image listREPOSITORY TAG IMAGE ID CREATED SIZEbash latest 5557e073f11c 2 weeks ago 13MBnginx late...
04_使用容器运行Nginx应用及Docker命令
使用容器运行Nginx应用及Docker命令一、使用容器运行Nginx应用1.1 使用docker run命令运行Nginx应用1.1.1 观察下载容器镜像过程 查找本地容器镜像文件 12345678910执行命令过程一:下载容器镜像# docker run -d nginx:latestUnable to find image 'nginx:latest' locallylatest: Pulling from library/nginxa2abf6c4d29d: Downloading 1.966MB/31.36MB 下载中a9edb18cadd1: Downloading 1.572MB/25.35MB589b7251471a: Download complete 下载完成186b1aaa4aa6: Download completeb4df32aa5a72: Waiting 等待下载a0bcbecc962e: Waiting 123456789执行命令过程二:下载容器镜像[root@localhost ~]# docker run -d n...
03_容器管理工具_Docker生态架构及部署
容器管理工具 Docker生态架构及部署一、Docker生态架构1.1 Docker Containers Are Everywhere 1.2 生态架构 1.2.1 Docker Host用于安装Docker daemon的主机,即为Docker Host,并且该主机中可基于容器镜像运行容器。 1.2.2 Docker daemon用于管理Docker Host中运行的容器、容器镜像、容器网络等,管理由Containerd.io提供的容器。 1.2.3 Registry容器镜像仓库,用于存储已生成容器运行模板的仓库,用户使用时,可直接从容器镜像仓库中下载容器镜像,即容器运行模板,就可以运行容器镜像中包含的应用了。例如:Docker Hub,也可以使用Harbor实现企业私有的容器镜像仓库。 1.2.4 Docker clientDocker Daemon客户端工具,用于同Docker Daemon进行通信,执行用户指令,可部署在Docker Host上,也可以部署在其它主机,能够连接到Docker Daemon即可操作。 1.2.5 Image把应用运行环境及计算资源打包方式生...
02_容器技术所涉及Linux内核关键技术
容器技术所涉及Linux内核关键技术一、容器技术前世今生1.1 1979年 — chroot 容器技术的概念可以追溯到1979年的UNIX chroot。 它是一套“UNIX操作系统”系统,旨在将其root目录及其它子目录变更至文件系统内的新位置,且只接受特定进程的访问。 这项功能的设计目的在于为每个进程提供一套隔离化磁盘空间。 1982年其被添加至BSD当中。 1.2 2000年 — FreeBSD Jails FreeBSD Jails是由Derrick T. Woolworth于2000年在FreeBSD研发协会中构建而成的早期容器技术之一。 这是一套“操作系统”系统,与chroot的定位类似,不过其中包含有其它进程沙箱机制以对文件系统、用户及网络等资源进行隔离。 通过这种方式,它能够为每个Jail、定制化软件安装包乃至配置方案等提供一个对应的IP地址。 1.3 2001年 — Linux VServer Linux VServer属于另一种jail机制,其能够被用于保护计算机系统之上各分区资源的安全(包括文件系统、CPU时间、网络地址以及内存等)。 每个分区被称为一套...
01_应用(APP)部署容器化演进之路
应用(Application)部署容器化演进之路一、应用程序部署痛点1.1 应用程序部署流程举例:部署一个JAVA编程语言开发的Web应用,以War包放入Tomcat方式部署。 部署过程如下: 服务器配置运行环境:JAVA代码运行环境,例如JDK或JRE 服务器上安装Tomcat web中间件,用于运行War包 把JAVA Web对应的War包放置于Tomcat对应目录 在服务器上启动Tomcat应用 可选:涉及数据库(MySQL)或缓存系统(Redis)等都需要逐一部署。 1.2 应用程序扩缩容 涉及多台服务器部署相同的上述环境 痛点:上述环境部署要重新实施一遍,较浪费人力与物力成本 1.3 应用程序多环境部署 环境:本地测试环境、预发布环境、生产环境 在本地测试环境运行没有问题,但在预发布环境中出现了问题,甚至上面2种环境都没有问题,到了生产环境就有问题了。 需求:一次成功,可到处运行。 二、 计算资源应用演进过程2.1 使用物理服务器痛点 从物理服务器自身管理角度 物理服务器环境部署人力成本大,特别是在自动化手段不足的情况下,依靠人肉运维的方式解决。 当物理...
防火墙常用命令
日期 版本 作者 说明 2021-12-25 V-1.0 孔留锋 整理防火墙常用命令。 2022-05-27 V-1.2 孔留锋 补充ufw命令。 iptables防火墙简介 IPTABLES 是与最新的 3.5 版本 Linux 内核集成的 IP 信息包过滤系统。如果 Linux 系统连接到因特网或 LAN、服务器或连接 LAN 和因特网的代理服务器, 则该系统有利于在 Linux 系统上更好地控制 IP 信息包过滤和防火墙配置。 命令1234567891011121314151617181920212223242526272829303132333435363738# 查看防火墙状态service iptables status# 停止防火墙service iptables stop# 启动防火墙service iptables start# 重启防火墙service iptables restart# 永久关闭防火墙chkconfig iptables off# 永久关闭后重启chkconfig iptables on# 查看iptables规则:i...
Linux常用快捷键
日期 版本 作者 说明 2021-10-04 V-1.0 孔留锋 整理linux常见命令。 Shell常用快捷键 常用命令 快捷键 说明 快捷键 说明 常用 Ctrl + 左右键 在单词之间跳转(和 Alt + B 与 Alt + F 功能一致) Ctrl + A 跳到本行的行首(同 home 键) Ctrl + E 跳到页尾(同 end 键) Ctrl + U 删除当前光标前面的所有文字(还有剪切功能) Ctrl + K 删除当前光标后面的所有文字(还有剪切功能) Ctrl + Y 粘贴Ctrl + U或Ctrl + K剪切的内容 Ctrl + L 进行清屏操作 Ctrl + W和Alt + D 对于当前的单词进行删除操作,W删除光标左边的单词的字符,D则删除单词右边的字符 Ctrl + P 显示上一个缓存命令(同 上 键) Ctrl + N 显示上一个缓存命令(同 下 键) Alt + Backsapce 删除当前光标左边的单词 Ctrl + C 终止进程/命令 Ctrl + Z 挂起当前进程(可...
Spring注解开发
一、概述 Spring注解开发。 二、常用注解@Configuration标记在类上,告诉Spring这是一个配置类 12345AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(MainConfig.class);//其中MainConfig.class 用@Configuration,告诉Spring这是一个配置类(配置类==配置文件)@Configurationpublic class MainConfig {} @ComponentScan标记在类上,告诉Spring扫描哪些包下的类。 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152//配置类==配置文件@Configuration //告诉Spring这是一个配置类@ComponentScans( va...
Elasticsearch-常见异常及解决
连接相关异常1信息 elasticsearch: cluster_block_exception TOO_MANY_REQUESTS/12/index read-only / allow delete 原因 当linux磁盘空间不够情况后,ES集群为了保护数据,会自动把索引分片index置为只读read-only 解决方案12345#执行如下curl --user elastic:elastic -XPUT -H "Content-Type: application/json" http://192.168.1.66:9200/_all/_settings -d '{"index.blocks.read_only_allow_delete": false}'#注意,若没有密码,去掉--user elastic:elastic
VMware安装CentOS
VMware安装CentOS7.5VMware新建虚拟机1.新建虚拟机向导点击文件->新建虚拟机;或者Ctrl+n,选择自定义,点击下一步。 2.虚拟机硬件兼容默认选择即可,点击下一步。 3.安装来源选择稍后安装操作系统,点击下一步。 4.选择操作系统版本根据要装的系统镜像进行选择,这里选择CentOS7 ,点击下一步。 5.命名虚拟机位置自定义,这里选择D:\WorkSpace\VirtualMachine\VMware\Base-Visualization,点击下一步。 注意:建议虚拟机名称和问价夹名称相同,便于查找管理。 6.处理器配置选取原则是选满,即处理器数量*每个吹起内核数量= 本地电脑的CPU个数,且不能超过。 查看CUP核数, 桌面下点击查看任务管理器-> 性能-> 打开资源监视器 这里CUP0-CPU15,一共16个。选择4*4配置 7.虚拟机内存根据本机配置,本机32G内存,这里选4G. 8.网络类型本机使用,选择NAT模式,点击下一步。 9.I/O控制器选择LSI Logic ,点击下一步。 10....
Elasticsearch-用户管理常用API
一、概述 用户管理常用API。 版本 Elasticsearch-7.8.1 API查看索引12#-u 表示设置密码curl http://127.0.0.1:9200/_cat/indices -u elastic:elastic 查看用户12#-u 表示设置密码curl http://127.0.0.1:9200/_xpack/security/user?pretty -u elastic:elastic 查看所有用户12#-u 表示设置密码curl http://127.0.0.1:9200/_xpack/security/user?pretty -u elastic:elastic 查看用户12#-u 表示设置密码curl http://127.0.0.1:9200/_xpack/security/user/elastic?pretty -u elastic:elastic 禁用用户12#-u 表示设置密码curl http://127.0.0.1:9200/_xpack/security/user/elastic/_disable?pretty -u e...
Elasticsearch-重置访问密码
一、概述 Elasticsearch 密码重置。 版本 Elasticsearch-7.8.1 已知密码重置1234curl -XPOST -u elastic "127.0.0.1:9200/_security/user/elastic/_password" -H 'Content-Type: application/json' -d'{"password" : "elastic123456"}'#控制台需要键入原来的密码进行验证Enter host password for user 'elastic':#输入原来密码:XZXX 忘记密码重置1234567891011121314#1.修改配置文件config/elasticsearch.yml,注释掉支持x-pack的xpack.security.enabled: true配置,保存退出#2.重启Elasticsearch进程./bin/elasticsearch -d# 查看...
Elasticsearch-设置访问密码
一、概述 Elasticsearch 是一个开源的分布式搜索引擎,用于存储和检索大量数据。由于 Elasticsearch 存储的数据可能包含敏感信息,因此需要对 Elasticsearch 进行安全配置,以保护数据的安全性。 设置密码是 Elasticsearch 安全配置的一部分。通过设置密码,可以限制对 Elasticsearch 的访问,只允许授权的用户访问 Elasticsearch。这可以有效地防止未经授权的用户访问 Elasticsearch 数据,并保护 Elasticsearch 中存储的敏感信息。 版本 Elasticsearch-7.8.1 二、流程12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455#切换安装目录cd /opt/moudle/elasticsearch-7.8.1#生成证书./bin/elasticsearch-certutil ca./bin/elasticsearch-cer...
git 同时配置GitLab、Gitee、GitHub
日期 版本 作者 说明 2020-07-29 V-1.0 孔留锋 配置。 概要简介 同时配置GitLab、GitHub、Gitee,前提需要安装Git。 前提123456# 查看全局的user.name 和 user.emailgit config --global --list # 清除全局配置git config --global --unset user.name "kongliufeng" git config --global --unset user.email "814345920@qq.com" Gitee安装1234567891011121314151617181920212223242526272829#1.生成Gitee密钥ssh-keygen -t rsa -f ~/.ssh/id_rsa_gitee -C "814345920@qq.com"#完成后会在~/.ssh / 目录下生成以下文件id_rsa.id_rsa_giteeid_rsa.id_rsa_gitee.pub#...
Nginx(七)-高级
Nginx实现服务器端集群搭建Nginx与Tomcat部署前面课程已经将Nginx的大部分内容进行了讲解,我们都知道了Nginx在高并发场景和处理静态资源是非常高性能的,但是在实际项目中除了静态资源还有就是后台业务代码模块,一般后台业务都会被部署在Tomcat,weblogic或者是websphere等web服务器上。那么如何使用Nginx接收用户的请求并把请求转发到后台web服务器? 步骤分析: 121.准备Tomcat环境,并在Tomcat上部署一个web项目2.准备Nginx环境,使用Nginx接收请求,并把请求分发到Tomat上 环境准备(Tomcat)浏览器访问: 1http://192.168.200.146:8080/demo/index.html 获取动态资源的链接地址: 1http://192.168.200.146:8080/demo/getAddress 本次课程将采用Tomcat作为后台web服务器 (1)在Centos上准备一个Tomcat 123451.Tomcat官网地址:https://tomcat.apache.org/2.下载tomca...
Nginx(六)-进阶-缓存集成
Nginx缓存集成缓存的概念缓存就是数据交换的缓冲区(称作:Cache),当用户要获取数据的时候,会先从缓存中去查询获取数据,如果缓存中有就会直接返回给用户,如果缓存中没有,则会发请求从服务器重新查询数据,将数据返回给用户的同时将数据放入缓存,下次用户就会直接从缓存中获取数据。 缓存其实在很多场景中都有用到,比如: 场景 作用 操作系统磁盘缓存 减少磁盘机械操作 数据库缓存 减少文件系统的IO操作 应用程序缓存 减少对数据库的查询 Web服务器缓存 减少对应用服务器请求次数 浏览器缓存 减少与后台的交互次数 缓存的优点 1.减少数据传输,节省网络流量,加快响应速度,提升用户体验; 2.减轻服务器压力; 3.提供服务端的高可用性; 缓存的缺点 1.数据的不一致 2.增加成本 本次课程注解讲解的是Nginx,Nginx作为web服务器,Nginx作为Web缓存服务器,它介于客户端和应用服务器之间,当用户通过浏览器访问一个URL时,web缓存服务器会去应用服务器获取要展示给用户的内容,将内容缓存到自己的服务器上,当下一次请求到来时...
Nginx(五)-进阶-负载均衡
Nginx负载均衡负载均衡概述早期的网站流量和业务功能都比较简单,单台服务器足以满足基本的需求,但是随着互联网的发展,业务流量越来越大并且业务逻辑也跟着越来越复杂,单台服务器的性能及单点故障问题就凸显出来了,因此需要多台服务器进行性能的水平扩展及避免单点故障出现。那么如何将不同用户的请求流量分发到不同的服务器上呢? 负载均衡的原理及处理流程系统的扩展可以分为纵向扩展和横向扩展。 纵向扩展是从单机的角度出发,通过增加系统的硬件处理能力来提升服务器的处理能力 横向扩展是通过添加机器来满足大型网站服务的处理能力。 这里面涉及到两个重要的角色分别是”应用集群”和”负载均衡器”。 应用集群:将同一应用部署到多台机器上,组成处理集群,接收负载均衡设备分发的请求,进行处理并返回响应的数据。 负载均衡器:将用户访问的请求根据对应的负载均衡算法,分发到集群中的一台服务器进行处理。 负载均衡的作用1、解决服务器的高并发压力,提高应用程序的处理性能。 2、提供故障转移,实现高可用。 3、通过添加或减少服务器数量,增强网站的可扩展性。 4、在负载均衡器上进行过滤,可以提高系统的安全性。 负载均衡常用...