自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 JSch学习笔记

JSch笔记第 1 章 JSch简介1.1 简述1)jsch是ssh2的一个纯Java实现。它允许你连接到一个sshd服务器,使用端口转发、X11转发、文件传输等。2)SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。3)ftp协议通常是用来在两个服务器之间传输文件的,但是它本质上是不安全的。4)SFTP可以理解为SSH + FTP,也就是安全的网络文件传输协议。1.2 实现原理Jsch进行服务器连接时可以看作java的jdbc连接,首先需要实例化一个jsch对象,再利用这个

2021-08-28 14:22:51 18433

原创 Go基础篇 - 初级(1) - 变量

变量–1 变量声明方式1)指定变量类型,声明若不赋值,使用默认值func main(){ //定义变量 声明变量 var i int //给变量i 复制 i = 10 //使用变量 fmt.Println("i=",i);}2)根据值自行判断变量类型(类型推导)var num = 10.11fmt.Println("num=", num);3)省略var,注意左侧的变量不应该是已经声明过的,否则会导致编译错误;另外此形式声明,只能再函数内部,不能在函数外部name :=

2021-04-10 14:44:01 196

原创 Kubernetes Pod篇(1)Pod概述 - 根容器Pause、Pod清单、镜像拉取策略、command与args的区别

1. Pod简述# 本节要点 根容器Pause的作用,作为整组容器的状态,Pod里的多个业务容器共享Pause容器IP,共享Pause容器挂接的Volume。 每个Pod都有唯一IP;一个Pod容器与另外主机的Pod容器之间可以直接通信。 Pod运行在节点Node中;Pod是对容器的封装,是k8s最小的调度单元,也是Kubernetes最重要的基本概念;Pause容器简述每个Pod都有一个特殊的被称为“根容器”的Pause容器,Pause容器对应的镜像属于Kubernetes平台

2020-12-28 19:52:30 1959

原创 一文看懂Maven

一、什么是Maven?Maven是一个项目管理和综合工具。Maven提供了开发人员构建一个完整的生命周期框架。开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期。二、Maven是干什么的?它是一个Apache的开源项目,主要服务于基于Java平台的项目构建、依赖管理和项目信息管理,为了不重复造轮子。例如:两个项目A B,项目A需要依赖一些jar包,项目B...

2020-12-24 19:53:33 200

原创 list.stream().forEach

People people1 = new People(1, "Ligs", true); People people2 = new People(2, "Songzx", false); People people3 = new People(3, "Jinzg", true); People people4 = new People(4, "Liuzx", false); People people5 = new Peopl...

2020-12-23 18:38:00 9455 2

原创 Iterator 方法 remove()、 hasNext()、next()

调用 it.next() 会返回迭代器的下一个元素,并且更新迭代器的状态。调用 it.hasNext() 用于检测集合中是否还有元素。调用 it.remove() 将迭代器返回的元素删除注意:remove对象是否存在,如果这个对象已被remove,再次remove会出现此异常Java.lang.IllegalStateException异常 People people1 = new People(1, "Ligs", true); People people2 = ne

2020-12-22 19:23:30 292 1

原创 Java startsWith() 方法

/** * startsWith() 方法用于检测字符串是否以指定的前缀开始。 */ String Str = "www.baidu.com"; System.out.print("返回值 :" ); System.out.println(Str.startsWith("www") ); System.out.print("返回值 :" ); System.out.pri...

2020-12-21 19:31:33 4188

原创 Docker镜像篇(10)- 综合练习 - springboot项目制作镜像

mysql镜像制作[root@docker ~]# docker run --rm --name first-mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.64bcd97f8848534b3a6ff461c49ab3b9b49347b05e5bfc68e87d0ecfdbb491d71[root@docker ~]# docker ps -aCONTAINER ID IMAGE COMMAND

2020-12-18 21:29:52 187

原创 Docker镜像篇(9) - 镜像原理

1)镜像构造Docker镜像由bootfs和rootfs构造;bootfs包含了bootloader(引导加载程序)和 kernel(Linux内核)。用户是不能对这层作任何修改的。在容器启动之后,bootfs会被卸载以节约内存资源。rootfs位于bootfs之上,代表一个Docker容器在启动时(而非运行后)其内部进程可见的文件系统视角, 或者 Docker 容器的根目录。当然,该目录下含有 Docker 容器所需要的系统文件、工具、容器文件等。rootfs 包含4 个 image

2020-12-17 18:54:23 729

原创 Docker镜像篇(8) - 镜像仓库 - Harbor

Harbor是构建企业级私有docker镜像的仓库的开源解决方案,它是Docker Registry的更高级封装,它除了提供友好的Web UI界面,角色和用户权限管理,用户操作审计等功能外,它还整合了K8s的插件(Add-ons)仓库,即Helm通过chart方式下载,管理,安装K8s插件,而chartmuseum可以提供存储chart数据的仓库【注:helm就相当于k8s的yum】。另外它还整合了两个开源的安全组件,一个是Notary,另一个是Clair,Notary类似于私有CA中心,而Clair则是.

2020-12-16 18:54:32 389

原创 Docker镜像篇(7) - 镜像仓库 - 阿里云

网址https://www.aliyun.com/按照上图开始上传镜像修改镜像的名字,只有修改repository才可以上传成功,查看本地镜像上传至阿里云本地仓库删除本地镜像从阿里云下载镜像查看阿里云是否有此镜像...

2020-12-15 19:25:34 153

原创 Docker镜像篇(6) - 镜像仓库 - dockerhub

网址https://hub.docker.com/如何将创建的镜像上传dockerhub呢?修改镜像标签push关于镜像至刚刚创建的仓库注意:退出输入以下代码即可退出,此处先不要退出

2020-12-14 18:53:47 148

原创 Docker镜像篇(5) - 镜像导入导出

查看两个宿主机的当前镜像将tomcat打包为tomcat.tar语法: docker save -o 路径/镜像名.tar 镜像:版本从Node1将tomcat.tar文件传输到Node2的/root目录中在Node2中对tomcat.tar解压查看解压的镜像

2020-12-10 18:57:42 206

原创 简单易懂map遍历的几种方式

import java.util.*;public class MapFor { public static void main(String[] args) { Map<String,Double> map = new HashMap<String,Double>(); map.put("Ligs", 58D); map.put("Songzx", 1000D); map.put("Chisz", 100

2020-12-08 19:37:47 638

原创 Docker镜像篇(4) - 玩转Dockerfile指令 - ENV、RUN、CMD、ENTRYPOINT

ENV用于为镜像定义所需的环境变量,并可被kockerfile文件位于其后的其他指令所调用比如定义单个环境变量ENV DOC_ROOT /data/定义多个环境变量,使用“ \ ”隔开表示换行ENV DOC_ROOT=/data/ WEB_SERVER_PACKAGE=“nginx-1.19.2”编写Dockerfile文件,设置环境变量DOC_ROOT为/data/web/html/和WEB_SERVER_PACKAGE为"nginx-1.19.2",并在之后的指令中进行运用[root

2020-12-07 19:02:24 2439

原创 Docker镜像篇(3) - 玩转Dockerfile指令 - ADD、WORKDIR、VOLUME、EXPOSE

ADD基于URL路径,把你指定的文件下载到本地,并打包进镜像中下面继续编写dockerfile,添加ADD指令,下载nginx打包运行容器,发现并没有对下载的tar包解压刚刚我们发现从远程获取的tar包,在放入容器中时,并不自动在容器中进行解压,接下来我们尝试从本地上传的tar包能否解压,首先下载tar到宿主机中编写dockerfile文件构造镜像通过运行容器,可以发现tar包已经被解压WORKDIR用于为Dockerfile中所有的RUN、C

2020-12-03 18:28:26 2164

原创 Exception in thread “main“ java.lang.ClassNotFoundException解决方案

启动springboot项目出现以下错误Exception in thread "main" java.lang.ClassNotFoundException: com.ix.Application at java.net.URLClassLoader.findClass(URLClassLoader.java:382) at java.lang.ClassLoader.loadClass(ClassLoader.java:418) at org.sprin

2020-12-01 20:06:04 30683 7

原创 Docker镜像篇(2) - 玩转Dockerfile指令 - FRM、MAINTAINER、LABEL、COPY

什么是dockerfile?Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。Docker通过读取Dockerfile中的指令自动生成映像。Docker以从上到下的顺序运行Dockerfile的指令。为了指定基本映像,第一条指令必须是FROM。一个声明以#字符开头则被视为注释。Dockerfile 一般分为四部分:基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令.FROMFROM,说明在哪个镜像的基础上构造镜像,必须在第一个非注释行,

2020-11-30 20:03:55 753

原创 WARNING: IPv4 forwarding is disabled. Networking will not work解决方案

今天在运行mysql容器的时候出现以下错误首先修改配置文件echo "net.ipv4.ip_forward=1" >>/usr/lib/sysctl.d/00-system.conf重启docker和网络服务systemctl restart network && systemctl restart docker此时运行mysql容器,完美解决...

2020-11-29 11:57:32 621

原创 Docker镜像篇(1) - 轻松制作镜像 - commit

如何使用容器创建镜像呢?首先我们先运行一个容器在/date/html目录里写一个简单的页面重新打开一个窗口1,查看运行的容器下面我们将刚刚修改的b1容器作为镜像提交,-p参数表示暂时停止容器,进行镜像制作查看当前镜像,发现没有标签和repository下面我们根据刚刚的image id,赋予repository和标签(v0.1是标签,slowlove是repository,ix是仓库名),再次查看镜像我们也可以对其镜像设置为最新镜像,可以看到镜像id一样

2020-11-28 11:49:50 215

原创 简单易懂List集合add()和addAll()的区别

直接上代码 List<Object> resultAdd = new ArrayList<>(); List<Object> resultAddAll = new ArrayList<>(); People people1 = new People(1, "Ligs", true); People people2 = new People(2, "Songzx", false);

2020-11-27 19:17:16 864

原创 Docker基础篇(12)- 综合练习 - tomcat容器部署springboot项目连接mysql容器

mysql容器创建mysql容器,使用volume将数据库的data与本地目录关联,密码为123456连接大黄,创建数据库slowlove,设计表PersonSET NAMES utf8mb4;SET FOREIGN_KEY_CHECKS = 0; DROP TABLE IF EXISTS `person`;CREATE TABLE `person` ( `id` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NO

2020-11-24 18:49:50 272

原创 Docker基础篇(11)- 容器网络 - 暴露端口方式

在进行暴露端口服务之前,我们先制作一个镜像,用于练习制作镜像,查看本地镜像运行容器查看ip连接服务关闭容器,下面开始四种暴露端口方式指定容器内部端口“ -p ”指定容器内部端口为80查看容器内部ip连接容器内部ip,那么如何在外部访问该服务呢?我们可以进入容器,查看容器的暴露端口查看容器myweb的端口也可以看出,宿主机对应的该服务地址为“ 0.0.0.0:32768 ”,即任意宿主机地址都可以访问查看宿主机端口映射,

2020-11-23 19:37:11 10905

原创 Docker基础篇(10)- 容器网络 - 网络模型

Docker容器网络通过网络名称空间隔离,之后会将名称空间封闭容器不创建任何网络设备,只有lo作为容器内部通信使用,无法与容器之外进行通信桥接容器默认的网络模型为桥接 桥接的时候,创建一对虚拟网络设备,一半放在容器上,一半放在doker0桥上。 通过这对虚拟网络设备进行网络通信联盟式容器现有一个容器A,拥有自己的网络名称空间另一个容器B可以共享容器的网络名称空间容器A和容器B使用lo本地内部通信首先创建容器b1[root@localhost ~]# docker r

2020-11-22 12:02:01 1180 1

原创 spring项目启动时,如何在控制台查看mybatis运行的sql语句

在mybatis配置文件添加信息<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration> <settings> <!-- 打印查询语句 --> <s

2020-11-21 09:54:23 1368

原创 Docker基础篇(9)- 多个容器共享一块卷、操作Volume命令

多个容器共享一块卷指定b3容器来和b2容器共享一块卷,b2容器先不要关闭[root@localhost ~]# docker run --name b3 -it --rm -v /data/volumes/b2:/data busybox查看文本存在/ # ls /data/index.html添加文本信息,并查看/ # echo “b3 is coming” >> /data/index.html/ # cat /data/index.htmlbusybox httpd se

2020-11-20 13:54:39 2313

原创 Docker基础篇(5)- Docker容器常用基础命令

运行容器运行容器命令docker run 镜像[:tag]运行一个busybox容器,此时会自动将下载,如果本地仓库没有镜像docker run busybox运行tomcat容器docker run tomcat查看当前运行的容器docker ps或者docker container ls因为tomcat运行,占用一个窗口,重新打开一个窗口我们只看到了tomcat让容器,刚刚创建的容器busybox容器呢?因为容器运行完毕命令,即进入exited状态,tomcat容器

2020-11-20 07:31:07 330

原创 Docker基础篇(8)- Volume简述、指定宿主机目录和容器目录创建volume

简述Volume在学习volume之前,我们需要思考一个问题容器删除之后,其数据也会丢失,那么如何去解决容器删除,数据不丢失呢?这个时候就有了存储卷,那么什么是存储卷呢?我们可简单理解成在宿主机上找一个文件系统(主机级的)之上存在某一目录,而后把这个目录直接与容器内部的文件系统之上的某一目录建立所谓的绑定关系。随后容器内的进程向目录中写数据的时候是直接写在宿主机的目录上。实现容器内的数据保存时可以绕过容器内部文件系统的限制从而与宿主机的文件系统建立了关系。二者是同步的。可以使得连个隔离的容器

2020-11-18 22:03:19 8739

原创 Docker基础篇(7)- Docker运行nginx、redis容器

Nginx容器首先创建一个nginx1容器,-d为后台运行查看当前运行的容器查找nginx的ip宿主机访问容器,连接ip关闭nginx容器Redis容器在后台运行名为redis1的redis容器[root@localhost ~]# docker run --name redis1 -d redis查看运行的容器进入redis1的操作界面查看容器redis1的日志关闭容器...

2020-11-16 19:31:51 275

原创 Docker基础篇(6)- Docker容器状态、docker run常用参数

下图是我对容器状态的理解下面对容器的几种状态进行操作首先运行一个容器docker run -it --name b1 busybox/ # exit查看容器状态处于exiteddocker ps -a此时使用start命令可以将容器b1从die状态重新启动为running状态,并进行交互docker start -i b1在另一个窗口即可查看b1容器已经在运行docker ps此时我们可以将running状态的b1容器变为pause阻塞状态docker pause b1b

2020-11-14 12:10:57 3132

原创 strm().filter().collect()和stream().map().collect()的作用

在看代码的时候看到了一下

2020-11-11 20:54:13 1014 2

原创 Docker基础篇(4)- Docker镜像常用命令

在学习Docker的时候,我们经常使用busybox镜像作为我们的练习镜像。简述busybox镜像Busybox是一个集成了一百多个最常用Linux命令和工具的软件工具箱,它在单一的可执行文件中提供了精简的Unix工具集。搜索指定镜像搜索busybox镜像docker search busybox查看当前已经安装的镜像,有两个命令都可以做到docker image ls 或者docker images从下图中,我们可以看到是刚刚使用的hello-world镜像,有镜像的ID

2020-11-10 08:03:12 333

原创 Docker基础篇(3)- Docker基础概念 - 镜像、容器、仓库

容器与镜像为什么要把镜像和容器一块讲,因为它们之间的关系太过紧密。镜像: 带有容器启动基础信息的模板容器: 镜像的可以运行实例那么如何更好的理解镜像与容器之间的关系呢?就拿西湖醋鱼来说,把做好的西湖醋鱼比作运行容器,那制作西湖醋鱼的完整步骤就是镜像。镜像记录着,你需要西湖的鱼,西湖的水,多少克的草鱼肉、醋、黄酒、酱油、白醋以及火候大小、时间卡点等等。要想做出正宗的西湖醋鱼只需要按照镜像中记录的信息去照做即可。这就是镜像和容器之间的关系。仓库、镜像、容器之间的关系Docker基础篇(

2020-11-07 12:26:26 370 1

原创 Docker基础篇(2)- Docker基础概念 - 仓库

在学习Docker之前,需要先了解三个概念 镜像 、容器 、仓库;本节先介绍仓库。知道Maven仓库的,这一节非常简单。先看一下仓库结构Docker镜像存储在镜像仓库服务(Image Registry)当中。镜像仓库服务(Image Registry)包含多个镜像仓库(Image Repository)。同样,一个镜像仓库中可以包含多个镜像。每个仓库可以包含多个标签,每个标签对应一个镜像。为了更好理解这句话,可以看下图。mysql是一个仓库,tomcat是一个仓库,nginx是一个仓

2020-11-07 11:20:23 284

原创 Docker基础篇(1)- Docker安装 - 教你傻瓜式安装Docker

Docker基础篇(1)- Docker安装

2020-11-04 21:48:14 549

原创 理解IaaS、Paas、SaaS的含义及区别

**理解IaaS、SaaS、paas的含义及区别**在家自己做猪肉大葱饺子,需要准备很多东西,面、猪肉、大葱、调料、擀面杖、锅、醋、餐桌。需要下图所示的一切:买好速冻水饺,回家水煮就好了,在自己的餐桌上吃。和自己在家做不同,你需要一个水饺供应商。叫外卖,热水饺就送到家门口。在饺子馆吃水饺,连桌子、醋、大蒜都是饺子馆的。总结一下,吃饺子可以通过如下途径:好了,现在忘掉饺子!假设你是一家超牛的技术公司,根本不需要别人提供服务,你拥有基础设施、应用等等其它一切,你把它们分为三层:基础设施

2020-10-30 17:12:40 833 1

原创 浅谈程序、进程及进程创建

**浅谈程序、进程及进程创建**计算机实际上可以做的事情实质上非常简单,比如计算两个数的和,再比如在内存中寻找到某个地址等等。这些最基础的计算机动作被称为指令 (instruction)。所谓的程序(program),就是这样一系列指令的所构成的集合。通过程序,我们可以让计算机完成复杂的操作。程序大多数时候被存储为可执行的文件。这样一个可执行文件就像是一个菜谱,计算机可以按照菜谱作出可口的饭菜。那么,程序和进程(process)的区别又是什么呢?进程是程序的一个具体实现。只有食谱没什么用,我们总要

2020-10-30 16:43:54 329

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除