关于中间证书的坑

某客户购买GlobalSign的通配符证书 在测试过程中发现,某些Android手机总是报证书不可信,且证书链长度为1,提示没有配置完整证书链

最终问客户要到了中间证书,添加到服务器证书后面,解决。 添加过程仍然有坑! 1、服务器证书在前面,中间证书加在后面 2、对空格和回车换行有要求!

[阅读全文]

修改tomcat容器时区

默认tomcat容器时区为UTC0,与中国东8区相差8小时

会导致某些依赖时间的应用获取时间不正确,如:xxl-job-admin,设置的cron中指定了小时级以上则会不正常执行(小时级以下不涉及具体时区)

[阅读全文]

Docker环境变量

  1. env_file,environment中定义的环境变量是传给container用的,不是在docker-compose.yml中的环境变量用的
  2. docker-compose.yml中的环境变量${VARIABLE:-default}引用的是在.env中定义的或者同个shell export出来的
  3. docker-compose中替换.env文件变量的研究,.env文件的环境变量:
    1. 只能用大写
    2. 不能出现".“号
    3. 可以用”_"
    4. 只能用在up -d

后记:不用太过研究,限制多,且应用得少

[阅读全文]

*nix快捷键集锦

Ctrl + a,切换到命令行开始。这个操作跟Home实现的结果一样的,但Home在某些unix环境下无法使用,便可以使用这个组合;在Linux下的vim,这个也是有效的;另外,在windows的许多文件编辑器里,这个也是有效的。

[阅读全文]

关于Dockerfile

  1. ARG和ENV ARG指令定义了用户可以在编译时或者运行时传递的变量,如使用如下命令:–build-arg = ENV指令是在dockerfile里面设置环境变量,不能在编译时或运行时传递。 ARG和ENV的有效结合:ARG var ENV var=${var}

    [阅读全文]
docker 

基于容器的MySQL定时备份数据库

注:以下使用mysqldump方式备份会导致锁表,生产环境备份建议使用xtrabackup

  1. 将如下内容添加至:/data/backup.sh
1
2
3
docker exec -i data_mysql_1 mysqldump -uroot -pPassword dbname > /data/`date +%Y%m%d`.sql \
	&& tar -zcvf `date +%Y%m%d`.tar.gz `date +%Y%m%d`.sql \
	&& rm -fr /data/`date +%Y%m%d`.sql
  1. 添加执行权限:
1
sudo chmod +x /data/backup.sh
  1. 在宿主机加定时调度,每天凌晨1点执行:crontab -e
1
0 1 * * * /bin/bash /data/backup.sh

docker exec -i不能加t,也不需要加t!!!这里坑了很久!

[阅读全文]

mysql常见问题

问题

create table: Specified key was too long; max key length is 767 bytes

原因

数据库表采用utf8编码,其中varchar(255)的column进行了唯一键索引 而mysql默认情况下单个列的索引不能超过767位(不同版本可能存在差异)

[阅读全文]
mysql 

git原理图

Git初学者?刚从svn转过来?看看下面几张图,比大篇幅文章清楚多了

git  svn 

Docker配置文件

默认dockerd全局配置文件在/etc/docker/daemon.json,该文件默认不存在,创建就好了,常用内容:

1
2
3
4
5
6
7
8
{
"data-root": "/data/docker",
"log-driver":"json-file",
	"log-opts":{
		"max-size": "10m",
		"max-file": "3"
	}
}

设置docker主目录,docker运行产生的数据都保存在这里,如镜像、容器、日志、卷等,会占用较大空间,默认在/var/docker下,务必修改!!!

[阅读全文]
docker