- 博客(118)
- 问答 (1)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Docker之通过资源控制来限制风险
容器实现的是进程上下文环境的隔离,而不是对整个系统进行虚拟化。通过管控风险可以防止由于软件缺陷而导致的错误行为,也可以防止由于消耗资源过量而导致计算机无响应的攻击类行为。容器可以确保软件仅使用分配的计算资源并且访问受限的数据。一、设置资源配额 计算机系统的物理资源也是有限的,所以为了解决以上问题,需要隔离进程和有限供应资源。而构建隔离高度隔离的系统的部分工作就包括为各个容器提供资源配额。 (1)内存限制 内存限制是可以对容器的最基本的限制,内存限制规定了容器内的进...
2021-12-16 15:47:28
2421
原创 五分钟了解JumpServer V3版本升级注意事项与平滑升级
因 JumpServer V3 版本剔除了原本的系统用户功能,将资产与账号直接绑定,故升级前需保证每一台资产绑定的系统账号的用户名不重复,即每一个资产只可以保留一个同名账号。
2023-04-23 11:38:45
1705
1
原创 五分钟了解JumpServer V2.* 与 v3 的区别
1、梳理数据。JumpServer V3 去除了系统用户功能,将资产与资产直接绑定。当一个资产名下有多个同名账号,例如两个root用户时,升级后会自动合并最后一个root,不会同步其他root用户。升级前需保证每一个资产只拥有一个同名系统用户;2、梳理数据。JumpServer V3 合并了原版本中的数据库和主机。当主机名和数据库名重复时,可能导致数据库信息全部丢失。升级前需保证数据库资产与主机资产命名不一致。3、保存数据。JumpServer升级后部分数据不会迁移,例如:远程应用数据、自动化任务数据。
2023-03-10 17:12:28
1615
原创 试题一——关于ansible
问题:将装有ansible的机器上的某个shell脚本复制到受管理的目标主机上,并返回运行结果。解决一(输出所有有关信息):[root@localhost ansible]# cat hello.yml---- hosts: webservers user: root tasks: - name: copy sh copy: src=./hello.sh dest=/root/hello.sh - name: sh hello.sh...
2022-01-13 09:40:26
1471
2
原创 自动化运维之ansible——playbook进阶
一、并发运行ansible默认只会创建5个进程,所以一次任务只能同时控制5台机器执行。那如果在使用ansible的过程中有大量的机器需要控制,或者在使用中想减少进程数,以上情况下,可以采取异步执行。ansible的门票快可以把task放入后台,然后轮循它,这使得在一定进程数下能让大量需要的机器同时运作起来。使用async和poll这两个关键字便可以并行运行一个任务。async这个关键字触发ansible并行运作任务,而async的值是ansible等待运行这个任务的最大超时时间,而poll就是ans
2022-01-04 14:38:20
2106
原创 关于docker容器识别
一、名称 使用固定的容器名称对于实验和一些文档撰写非常必要,但是在具有多个容器的系统中,使用这样的固定名称可能会导致一些冲突。默认情况下,Docker会为创建的每个容器分配一个唯一的名称。但是在创建或启动一个容器命令中,含有--name选项,则使用给定的值命名容器,默认分配名称的流程将被忽略。如果需要给某个容器修改名称,则可以使用如下命令。 docker rename 旧名称 新名称 重命名可以减少命名冲突,但依旧会存在,所以可以使用唯一标识符——容器id。...
2021-12-07 15:49:40
1245
原创 Docker三剑客之Compose 、Machine、Swarm
一、docker-Compose1、简介 Compose 是定义和运行多个Docker容器的应用,即对容器进行编排。通过Compose,可以使用yml文件配置应用程序需要的所有服务。Compose使用的三个步骤: (1)使用dockerfile定义应用程序的环境; (2)使用docker- compose.yml定义构成应用程序的服务,使得应用程序在隔离环境中运行; (3)最后,执行docker-compose up命令来启动并运行整个应用程序。...
2021-12-06 14:57:12
629
原创 Docker的一些问题
问题一:容器与虚拟机之间的区别根本性区别:容器与宿主机共享相同的内核docker仅仅隔离单一进程(或者一组进程,这取决去构建镜像的方式),并且所有的容器都运行在相同的宿主机系统上。由于其隔离型应用在内核级别,所以相对于虚拟机而言,容器的运行并不会导致宿主机上的较大开销。当一个容器运行时,所选的一个或一组进程仍然会运行在相同的宿主机上,而不会虚拟化或模拟任何东西。相比之下,虚拟机运行时,虚拟机管理程序会虚拟化整个系统(从cpu到ram)。为了支撑虚拟机的系统,需要克隆或虚拟化一个新的操作系统。所以
2021-12-03 17:00:05
177
原创 问题二:关于创建docker主机
问题:出现在virtualbox下载后的再次进行创建时。Error with pre-create check: "We support Virtualbox starting with version 5. Your VirtualBox install is \"WARNING: The vboxdrv kernel module is not loaded. Either there is no module\\n available for the current kerne...
2021-12-03 11:09:38
182
原创 问题:VBoxManage not found. Make sure VirtualBox is installed and VBoxManage is in the path
问题:该问题出现在使用docker-machine的创建新的docker主机时,主要问题意思大概是没有该虚拟化软件。解决:1、virtualbox官网Oracle VM VirtualBox2、点击下载 如上图蓝色部分。进入如下界面,点击如下红色部分!3、点击跳转后,下滑到最底部。4、出现如下界面5、到服务器上创建/etc/yum.repos.d/virtualbox.repo[virtualbox]name=Oracle Linux / ...
2021-12-03 10:43:54
1760
原创 Docker安装之国内国外
一、官网推荐的安装官网一直推荐在github上拉取进行安装,但由于一些众所周知的原因,大部分时间会拉取失败。二、网内安装CENTOS 安装 dockercurl -sSL https://get.daocloud.io/docker | shCENTOS安装docker-composecurl -L https://get.daocloud.io/docker/compose/releases/download/v2.1.0/docker-compose-`uname -s`-`
2021-11-04 11:41:26
690
原创 全链路监控之pinpoint
一、pinpoint出现与其他相似概念比较(1)、pinpoint概念 pinpoint是由java/PHP编写而成的,用来对大规模的分布式系统提供应用性能管理。pinpoint可以解决复杂架构下的拓扑解析与性能分析。(2)、pinpoint的特点 分布式事务追踪,跟踪跨分布式应用的消息; 自动检测拓扑,帮助搞清楚应用架构; 水平扩展可以支持大规模服务器集群; 提供代码级别的可见性,轻松定位失败点和瓶颈; 使用字节码增强技术,添加新功能是无需修改代码...
2021-11-03 17:27:51
5945
原创 DevOps自动化之Jenkins
一、DevOps介绍DevOps 一词的来自于 Development 和 Operations 的组合,突出重视软件开发人员和运维人员的沟通合作,通过自动化流程来使得软件构建、测试、发布更加快捷、频繁和可靠。DevOps 其实包含了三个部分:开发、测试和运维。换句话 DevOps 希望做到的是软件产品交付过程中IT工具链的打通,使得各个团队减少时间损耗,更加高效地协同工作。(1)持续集成 持续集成是一个将集成提前到开发周期的实践方式。让构建、测试和集成代码变更集成经常反复发生。通俗来说..
2021-10-29 18:10:39
1513
原创 一键安装与配置gitlab(脚本)
一、解决问题概述该脚本可以解决 gitlab安装、配置访问网址、配置初始登录密码、配置系统的邮箱。二、脚本内容#!/bin/bash#下面是定义颜色变量,用来给输出变量定义RED='\e[1;31m' #输出为红色GREEN='\e[1;32m' #输出为绿色YELLOW='\033[1;33m'BLUE='\E[1;34m'PINK='\E[1;35m'RES='\033[0m'#下面这个函数是gitlab的安装步骤function install() { #安装
2021-10-28 14:09:06
1087
原创 版本控制之搭建自己的代码存储仓库——Gitlab
一、简单介绍GitLab 是一个用于仓库管理系统的开源项目。类似于GitHub和GItee。GitHub不是第一选择的原因:一是因为在国内的客户在进行拉取跟推送时,由于一些众所周知的原因,可能会导致访问不到;二是仓库都需要进行public,如果创建私有仓库需要收费。Gitee也是一个仓库管理系统,但是在Gitee上只有5GB的免费空间。Gitlab很好的解决了这两个问题。Gitlab有两个版本,Gitlab-ce 和Gitlab-ee。Gitlab-ce是免费的,功能可适合于小公司使用;Gi
2021-10-18 16:44:19
3996
原创 版本控制之SVN介绍
一、简介 SVN是简写,原名为(Subversion)。它是一个开源的版本控制系统,它管理着随时间改变的数据,这些数据均存在在一个中央处理器当中。即之前介绍过的分布式版本控制系统。(1)主要功能 ①、目录版本控制 svn实现了一个“虚拟”的版本控管文件系统,能够根据时间跟踪整个目录的变动。目录和文件都能进行版本控制。与cvs相比,cvs只能跟踪单个文件的历史。 ②、真实的版本历史 svn中,可以增加、删除、复制...
2021-10-15 11:01:23
726
原创 yum安装jenkins出现的问题
一、问题执行yum安装jenkins时出现提示如下所示。[root@localhost yum.repos.d]# yum install -y jenkins已加载插件:fastestmirrorLoading mirror speeds from cached hostfile* base: mirrors.ustc.edu.cn* extras: mirrors.nju.edu.cn* updates: ftp.sjtu.edu.cn正在解决依赖关系--> ...
2021-10-14 15:43:24
1860
原创 版本控制之git分支
一、分支理解(1)文件保存 GIT保存的不是文件,而是一系列不同时刻的快照。(2)首次提交 首次提交的对象中有五个对象:三个blob对象(保存着文件快照)、一个树对象(记录着目录结果和blob对象索引)以及一个提交对象(包括指向书对象的指针和所有提交对象)。(3)修改后再提交做出修改之后再次提交,如此产生的提交对象会包含一个指向上次提交对象(父对象)的指针。(4)GIT分支 GIT分支本质上仅仅是指向提交对象的可变指针。默认分支的名称是mast...
2021-10-14 11:08:46
149
原创 版本控制之远端仓库
一、协议git可以使用四种不同的协议传输资料:本地协议(Local)、HTTP协议、SSH协议、以及Git协议。(1)本地协议本地协议的远程版本库就是同一主机的另一个目录。(2)HTTP协议HTTP协议有两种,智能HTTP协议和哑HTTP协议。智能HTTP协议:即支持像 git:// 协议一样设置匿名服务, 也可以像 SSH 协议一样提供传输时的授权和加密。哑HTTP协议:哑 HTTP 协议里 web 服务器仅把裸版本库当作普通文件来对待,提供文件服务。(3)SSH协议架
2021-10-13 16:29:28
225
原创 版本控制之GIT文件操作
一、文件状态 Untracked: 未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制.通过git add状态变为Staged Unmodify: 文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处,如果它被修改, 而变为Modified. 如果使用git rm移出版本库, 则成为Untracked文件 Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处,通过git ...
2021-10-12 16:48:32
152
原创 版本控制之Git项目搭建
一、创建工作目录与常用指令工作目录一般就是Git要管理的文件夹,可以是项目目录,也可以是空目录(注:建议文件夹名称中不要含有中文)。日常命令:二、本地仓库搭建创建本地仓库的方法有两种:一种时创建一个全新的仓库,另一种时克隆远程目录(1)创建全新仓库创建全新仓库,需要在Git管理的项目的根目录下执行:git init执行后可以看到,在该项目目录下出现了一个.git文件夹,关于版本等的所有信息均在这个目录中。(2)克隆远程仓库克隆远程仓库就会将远程服务器上的仓库..
2021-10-11 17:03:39
118
原创 版本控制之Git基本理论
一、工作区域 git本地有三个工作区域:工作区、暂存区、资源区。加上远端的git仓库就可以分为四个工作区域,文件在这四个区域之间的流转:工作区:就是平时存放项目代码的地方、暂存区:用于临时存放改动,事实上暂存区只是一个文件,保存即将提交的文件列表信息。仓库区:即本地仓库,就是安全存放数据的位置,仓库区中有所有提交的版本的数据。其中HEAD指向最新放入仓库的版本。远程仓库:远程仓库,托管代码的服务器。二、Git工作流程基本的Git工作流程如下:1、在工作区中...
2021-10-11 16:40:52
95
原创 版本控制之分类
一、版本控制之本地版本控制记录每次版本变化,相当于服务器或虚拟机的快照,适用于单人使用。二、版本控制之集中版本控制所有的版本都存在于服务器上,开发者从服务器上同步或者上传修改。所有版本数据存在于服务器上,用户本地可能只拥有最新版本。而且,所有版本存在于单一服务器,可能会存在服务器数据丢失的风险。代表:SVN三、版本控制之分布式版本控制所有版本控制在开发者自己的电脑以及服务器上都有备份,可以很大程度的避免集中式版本控制可能带来的风险。代表:GIT四、GIT和SV..
2021-10-11 11:34:26
334
原创 版本控制之git的安装与版本升级(适用于centos)
一、Centos安装git(1)git相关网站git官网地址https://git-scm.com/git相关安装包下载地址https://mirrors.edge.kernel.org/pub/software/scm/git/(2)安装相关依赖yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel -y(3)直接yum安装yum install git-
2021-10-09 10:36:41
401
原创 部署项目并设置为访问IP默认为该项目
问题:在工作中,昨天出现一个问题。公司需要的一个网站需要部署到服务器上,并映射到某域名上,即访问IP直接访问该项目。解决方法(1)tomcat解决 ①、安装tomcatyum install tomcat -y #yum安装tomcatyum install tomcat-webapps tomcat-admin-webapps -y #安装验证页面 ②、启动tomcat,并设置为开机自启动[root@localhost ~]# systemctl start...
2021-09-30 11:26:14
256
原创 Docker之docker容器连接
一、单向连接(1)利用-link可以实现单向互联(2)示例 ①、创建一个容器②、验证tomcat2可以ping通tomcat1tomcat1不可以ping通tomcat2由此可得--link 只可以实现单项连接③、查看配置docker inspect tomcat2二、双向互联(1)方法:用户自定义网络。如果我们现在为了让两个容器间可以相互通信,那么只需要将他们放在同一网络或者子网中.(2)示例①、查看docker中目前已有的...
2021-09-17 10:18:51
1416
原创 Docker之Docker容器数据卷
一、Docker数据卷出现得原因 解决Docker容器关闭或删除后数据不存在的问题。即数据持久的问题。将数据存在于可以找到的位置,类似于宿主机之中等。 类似于目录挂载,将容器中的数据目录挂载至宿主机中。二、Docker数据卷挂载(1)指定路径挂载[root@lab01 ~]# docker run -it -v /root/ceshi(宿主机地址):/root/ceshi(容器中需要被映射的地址) --name nginx01 nginx 这样挂载的结果就是宿主机地址和容器...
2021-09-08 16:15:58
192
原创 增量备份 差量备份
1、增量备份是在一次全备份或上一次增量备份后,以后每次的备份只需备份与前一次相比增加或者被修改的文件。2、差量备份是复制上次全备份以来所有变更数据的一种备份。
2021-09-07 16:46:12
1074
原创 JAVA实现判断CSV文件有几列几行
import java.io.FileReader;import java.io.IOException;import java.io.LineNumberReader;class LineNumberReaderExample{ public static void main(String[] args) { readFromFile("文件位置"); } private static void readFromFile(String filen...
2021-09-02 18:08:11
2021
原创 网络命令之netstat
一、MYSQL8密码恢复 1、恢复密码 (1)停止服务 (2) 修改配置文件(vi /etc/my.cnf) (3)重启服务 (4) (5)二、mysql8新特性三、mysql8用户管理四、mysql8权限管理...
2021-08-13 14:54:22
270
原创 Linux命令之nslookup
一、用途nslookup用于查询DNS的记录,查询域名解析是否正常,在网络故障时用来诊断网络问题。二、用法(1)直接使用[root@lab01 ~]# nslookup www.baidu.comServer: 100.125.1.250Address: 100.125.1.250#53Non-authoritative answer: #未验证的回答www.baidu.com canonical name = www.a.shifen.com. #目标域名Name:
2021-08-13 11:16:08
3039
原创 Redis与memcache的比较
在日常选择缓存机制时,最容易想到的就是redis和memcache,然后对其进行对比。一、在性能方面 由于redis只使用单核,而memcache可以使用多核。所以平均到每一个核上,Redis在存储小数据时比Memcached性能更高。而在100k以上的数据时,Memcached性能要高于Redis。二、支持的数据类型 Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,hash等数据结构的存储;memcache支持key-value类型的数据,在...
2021-08-12 15:55:13
1054
原创 Mysql安装(二)
一、卸载mariadb和postfixrpm -e mariadb-libs postfix 如果这个语句不可以卸载 可以使用如下:#yum remove postfix二、创建用户组、用户和存放代码的位置groupadd mysql #创建用户组useradd -g mysql mysql #创建用户mkdir mysql #创建文件夹三、解压下载压缩包,官网下载地址:https://www.mysql.com/downloads/tar xf mysq
2021-08-04 16:18:50
132
原创 Docker常用命令(按照a-z排序)
attach Attach to a running container #当前shell下attach连接指定运行镜像build Build an image from a Dockerfile #通过Dockerfile定制镜像commit Create a new image from a containers changes #提交当前容器为新的镜像cp Copy files/folders from a container to a HOSTDIR or to...
2021-08-02 17:17:04
1154
原创 基于MyCat实现数据库读写分离
一、读写分离读写分离即把数据库的读写操作分布在两个数据库上或者更多的数据库上,数据库进行数据同步。二、读写分类的实现方式 读写分离的两种方法:使用中间件或者内部进行配置。常用如下: (1)配置多个数据源,根据业务需求访问不同的数据,指定对应的策略:写入访问对应的数据库,查询访问相应的数据库,不同数据库之间做好数据一致性。 (2)动态切换数据源,根据配置的文件,业务动态切换访问的数据库。 (3)通过MyCat来实现读写分离:使用mycat中间件,m...
2021-07-29 17:21:52
614
原创 Docker基础知识
一、基础介绍 Docker基于Linux内核,使用Go语言进行开发,是基于操作系统层面的虚拟化技术。二、与传统虚拟化的区别 传统虚拟化技术是虚拟出一套完整的硬件,在硬件的基础上运行一个完整的操作系统,再在操作系统上运行服务;而容器是直接依赖于宿主机,他没有自己的硬件,直接运行于宿主机的内核,因此容器比传统虚拟机更加轻量化。三、优点 1、更高效的利用系统资源 2、更快速的启动时间 3、一致的运行环境 4、持续交付和部署 5...
2021-07-27 10:20:23
104
原创 IaaS 与PaaS 和SaaS
一、三种均为云服务模型,云计算+服务。二、区别对比 IaaS是以操作系统为分界,即基础架构为服务。即云服务商只提供基础设施,用户可以在基础设置上部署运行任何程序,包括操作系统和应用软件。用户没有权限访问底层设施。常见的IaaS服务有虚拟机、华为云弹性云服务器等。 PaaS是包含服务运行环境,即平台为服务。PaaS给用户提供的能力是使用由云服务提供商支持的编程语言、库、服务以及开发工具来创建、开发应用程序并部署在相关的基础设施上。用户无需管理底层的基础设施,包括网络、服务器...
2021-07-27 10:05:04
813
原创 Docker 之Dockerfile详解
一、Dockerfile的用法Dockerfile是用来创建镜像的文件,该文件中包含构建镜像的命令。二、一个例子 (创建tomcat镜像)FROM ccc7a11d65b1 (这串数字是我已经创建好一个ubuntu镜像的镜像id,在这里作为tomcat的基础镜像MAINTAINER hmkENV REFRESHED_AT 2018-03-10 (这个环境变量用来表名该镜像模板的最后更新时间)#切换镜像目录,进入/usr目录WORKDIR /usr#在/usr/下创建jdk
2021-07-20 10:25:59
852
1
转载 socat端口转发脚本一站式部署
#! /bin/bashPATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/binexport PATH# ====================================================# System Request:CentOS 6+ 、Debian 7+、Ubuntu 14+# Author: Rat's# Dscription: Socat一键脚本#...
2021-07-16 16:05:15
996
空空如也
oracle rac中配置CPU数。
2021-07-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人