Docker删除none镜像
起因最近发现Docker的相同容器多了几个,这样就会多出好多无用的镜像,所以需要删除,查了下none镜像产生的原因:
有时候重新构建镜像的时候,该镜像正在被某容器使用中,那么在重新构建同名同版本镜像后,docker保留原来的镜像,即容器还是用原来的,除非重启。那么原来的镜像名称变成NONE,TAG也成了NONE
看到这里就想到应该是之前的定时脚本引起的,,,
解决命令:
列出所有的镜像
1>docker images -a
列出所有的容器
1>docker ps -a
列出所有的容器 ID
1>docker ps -a -q
停止所有的容器
1>docker stop $(docker ps -a -q)
批量删除tag为”“镜像
1>docker rmi $(docker images | grep "<none>" | awk "{print $3}")
PS:说明
docker images | grep "<non ...
开源分享—Navicat全系产品注册激活
开题关于Navicat的破解激活相信使用数据库的都会使用到,前段时间换了公司,之后又是一波安装软件,然后网上找破解教程,找半天,然后下次用的时候又没有,这就很尴尬,于是想着把教程记录下来,激活软件也记录下!!!而且这次发现了 GitHub上面有两款开源的激活软件,这就很nice!:huaji:
软件下载地址直接在Navicat的官网进行下载选择自己需要的产品点击【免费试用】即可下载软件!
开源软件地址两种激活软件,原理应该是一样,只是操作流程不一样
https://github.com/DoubleLabyrinth/navicat-keygen参考地址:教程
https://github.com/Deltafox79/Navicat_Keygen参考地址:教程基本操作:双击软件,基本不需要改变界面
点击patch查找安装目录下面的Navicat.exe文件
直接 4)可以定制属于自己名称的秘钥
将秘钥粘贴到软件注册页面,然后点击手动激活,复制秘钥到破解软件4 点击左下角的 Generate,将新生成的 code copy到刚刚的软件激活页面,OK了!
PS:第一种没有界面, ...
十分钟搞定——Nginx安装SSL
前言 本文的Nginx主要是使用Docker安装,所以着重讲解容器版Nginx安装SSL过程,当然普通的Nginx安装也适用,都是通用的!
准备
安装SSL首先需要有域名,关于域名注册、备案不做讲解,网上好多教程可以自行查阅,域名的注册主要有腾讯云、阿里云、其他云
注册和备案好域名之后,我们就需要进行申请SSL证书,关于证书的申请过程不做详细介绍,腾讯云和阿里云都是有专门的文档介绍
腾讯云SSL文档
阿里云SSL文档
下载证书
腾讯云:
直接点击下载: 目录如下:
阿里云:(PS:没有使用阿里云 😰 ) 阿里云Nginx安装文档
操作
首先创建文件夹备用
1mkdir /data/nginx/logs /data/nginx/www /data/nginx/ssl /data/nginx/conf
将Nginx文件夹中的两个文件上传到服务器/data/nginx/ssl
将Nginx容器中的配置文件cp出来
123docker cp nginx:/etc/nginx/nginx.conf /data/nginx/conf/nginx.conf docker cp ...
Spring Boot切面类添加接口调用耗时
笔记123456789101112131415161718192021222324252627282930/** * 增加方法调用好事 */@Component@Aspect //标注增强处理类(切面类)public class AdminTimeAspect { private Logger log = LoggerFactory.getLogger(AdminTimeAspect.class); //可自定义切点位置,针对不同切点,方法上的@Around()可以这样写ex:@Around(value = "methodPointcut() && args(..)") @Around("execution (* com.xxx.controller..*.*(..))") public Object doAround(ProceedingJoinPoint joinPoint) throws Throwable{ long start = System.currentTi ...
Linux定时备份Docker的MySQL数据库
论备份的重要性
最近遇到了好几个网友出现MySQL数据库勒索事件,本人前两天也遇到,事情大概这样子的: 大早上起来,打开网站,发现500错误,这就很尴尬了,感觉查看日志发现怪事,数据库找不到了(PS:心里很慌,原因之前就想着备份,一直给忘了) 打开数据库真的不见了,多了一个不知道的库,里面有一张WARNING表,内容全是英文(PS:额,看不懂),去翻译,彻底惊呆了!比特币勒索(PS:心里一万个小马跑过)
接着百度发现在17年的时候又一波比特币勒索事件,好多数据库都被黑了,要求花钱赎回......
这件事情让我认识到数据库备份的重要性,哎,赶紧重新搞一套出来,幸亏博文都有备份,哈哈...
解决
由于本人使用的是docker部署的MySQL,所以去百度命令 1docker exec -it mysql mysqldump -uroot -p123456 databases > /backup/data_`date +%Y%m%d%H%M%S`.sql;拿着命令去跑了下,可以备份,完美
定时备份
想着不能每天手动处理吧,然后就做了一个定时任务,每天备份一次,不说了, ...
Spring Boot事务
关于Spring Boot启用事务:1.开启事务管理
在启动类上面加事务管理注解:
1>@EnableTransactionManagement // 启注解事务管理,等同于xml配置方式的 <tx:annotation-driven />
2.事务注解详解在service方法上面添加@Transactional注解
@Transactional注解失效说明
数据库引擎中MyIsam不支持事务,必须是InnnoDB引擎
@Transactional所注解的方法只有是public才起作用
@Transactional所注解的方法所在的类,必须注解@Service或@Component等
需要调用该方法,且需要支持事务特性的调用方是在 @Transactional所在的类的外面。注意:类内部的其他方法调用这个注解了@Transactional的方法,事务是不会起作用的。
@Transactional注解事务范围,并不是所有异常都可以进行数据回滚,他只有是RuntimeException类及其子类(中文称为:运行时异常/unchecked异常/ ...
修改MySQL密码
环境使用的`docker`安装`MySQL`,版本`8.0.12`
操作
首先进入docker的MySQL容器:
使用命令docker exec -it mysql /bin/bash
进入容器之后,登录到MySQL里面:
12>root@1f88cc6f4013:/# mysql -u root -p>Enter password:
输入密码之后,可以查询下目前的用户密码:
1mysql> select host,user,authentication_string from mysql.user;
host: 允许用户登录的ip‘位置’%表示可以远程; user:当前数据库的用户名; authentication_string: 用户密码(后面有提到此字段);
重点
如果当前root用户authentication_string字段下有内容,先将其设置为空,否则直接进行二步骤
12>use mysql;>update user set authentication_string='' ...
Spring Boot2.0配置Jackson日期格式输出
起因
今天写项目的时候发现实体对象中的字段有Date类型的,这样进行直接输出来的格式不是前端需要,每次都需要使用工具类进行转化,感觉很麻烦!而且在前端进行传递对应字段是Date类型的值得时候,也不好出来(PS:自己前端比较渣),在测试接口的时候,使用postman发现其也是没办法传Date类型的参数,当然也是有传递时间戳的方式,但是测试而已没必要那么麻烦,所以就在网上查阅资料,找到了对应的Jackson相关配置!
SpringBoot JSON工具包默认是Jackson,只需要引入spring-boot-starter-web依赖包,自动引入相应依赖包
以往的方法
之前我们都是直接进行格式化日期,然后输出才是前端需要的(图1,详情输出\图2新增参数报错)
Jackson时间格式介绍
jackson支持的时间格式:
"yyyy-MM-dd'T'HH:mm:ss.SSSZ"
"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
"EEE, dd MMM yyyy HH ...
Spring Boot启动自定义Banner
今天启动项目的时候注意到Spring Boot的启动日志图案,感觉不太好看,想到之前浏览过一篇文章# 新年彩蛋:Spring Boot自定义Banner,介绍了Spring Boot启动Banner可以使用自定义图案,学习下,随手记录在此:
Spring Boot 正常启动效果
上图就是Spring Boot 正常启动Banner的效果
`Banner`是`SpringBoot`框架一个特色的部分,其设计的目的无非就是一个框架的标识,其中包含了版本号、框架名称等内容,既然`SpringBoot`为我们提供了这个模块,它肯定也是可以更换的这也是`Spring`开源框架的设计理念。
更换Banner效果
操作简单创建一个`SpringBoot`框架:在Spring Boot工程的`/src/main/resources`目录下创建一个`banner.txt`文件,然后将ASCII字符画复制进去,就能替换默认的banner了,比如上图中的输出,就采用了下面的`banner.txt`内容:
永不宕机佛祖
12345678910111213141516171819202122232425 ...
关于Spring Boot跨域解决
在项目开发中,不可避免会遇到跨域问题!本文简述下遇到跨域解决办法:
什么是跨域首先,我们需要了解一下一个URL是怎么组成的:
// 协议 + 域名(子域名 + 主域名) + 端口号 + 资源地址
1http: + // + www.baidu.com + :8080/
只要协议,子域名,主域名,端口号这四项组成部分中有一项不同,就可以认为是不同的域,不同的域之间互相访问资源,就被称之为跨域。
随着前后端分离开发的越来越普及,会经常遇到跨域的问题,比如用ajax从`http://localhost:8080/test.html`页面向后台接口`http://localhost:8888/user/list`发起请求,
由于两个url端口不同,所以属于跨域,在console打印台会报No 'Access-Control-Allow-Origin' header is present on the requested resource
解决跨域的几种方案方法一:JSONP前端使用ajax,将dataType设置成jsonp,这里不做太多 ...