最常见的CD方法是金丝雀和蓝绿部署。进行蓝绿部署期间,IT会与当前版本一起部署一个新的组件或应用程序版本。新版本(绿)被部署到生产中并对其进行测试,与此同时当前版本(蓝)依旧可以使用。如果新版本的代码运行良好,那么所有用户将会切换到新版本中。金丝雀部署也有两个版本:当前版本和更新版本。IT开始将一小部分用户请求路由到新版本。代码和用户的行为会被持续监控。如果错误率或用户投诉并没有增加,则路由到新版本的请求份额将逐渐增加(例如,1%、10%、50%最后到100%)。一旦所有请求都发送到新版本中,那么旧版本就会自动退休或删除。

docker本质就是宿主机的一个进程,docker是通过namespace实现资源隔离,通过cgroup实现资源限制,通过写时复制技术(copy-on-write)实现了高效的文件操作(类似虚拟机的磁盘比如分配500g并不是实际占用物理磁盘500g)1)namespaces 名称空间2)control Group 控制组cgroup的特点是:cgroup的api以一个伪文件系统的实现方式,用户的程序可以通过文件系统实现cgroup的组件管理cgroup的组件管理操作单元可以细粒度到线程级别,另外用户可以创建和销毁cgroup,从而实现资源载分配和再利用所有资源管理的功能都以子系统的方式实现,接口统一子任务创建之初与其父任务处于同一个cgroup的控制组四大功能:资源限制:可以对任务使用的资源总额进行限制优先级分配:通过分配的cpu时间片数量以及磁盘IO带宽大小,实际上相当于控制了任务...

nginxdocker pull nginxdocker run --name nginx -p 8081:80 -d nginxmkdir -p ~/docker-data/nginx/www ~/docker-data/nginx/logs ~/docker-data/nginx/conf拷贝容器内 Nginx 默认配置文件到本地当前目录下的 conf 目录,容器 ID 可以查看 docker ps 命令输入中的第一列:执行docker cp执行将本地主机的index.html复制到docker容器中。docker cp 本地主机文件路径 nginx容器id://usr/share/nginx/htmldocker cp nginx容器id://usr/share/nginx/html/index.html 本地主机文件路径docker cp <容器id>:/etc/...

指令 解释FROM FROM debian:stretch 表示以 debian:stretch 作为基础镜像进行构建RUN RUN 后面跟的就是一些 shell 命令,通过&&将这些脚本连接在了一行执行,这么做的原因是为了减少镜像的层数ENV 设置环境变量ARG 和 ENV 的效果一样,都是设置环境变量。ARG 所设置的构建环境的环境变量,在将来容器运行时是不会存在这些环境变量COPY 复制文件,COPY [–chown=:] <源路径>… <目标路径>ADD 跟 COPY 性质一样,ADD 支持 URL,自动解压 tar 等压缩文件CMD 指定默认的容器主进程的启动命令, CMD [“nginx”, “-g”, “daemon off;”]ENTRYPOINT 一个 Dockerfile 只能有一个 E...

全量备份使用 mysqldump 工具直接上脚本:!/bin/bash在使用之前,请提前创建以下各个目录db_user="root"db_passwd="123456"db_host="192.168.1.101"db_prod="3306"db_name="test"backup_dir="/home/leo/backup/bakmysql"backup_old_dir="/home/leo/backup/bakmysqlold"echo $backup_old_dir进入备份目录将之前的移动到 old 目录cd "$backup_dir"echo "you are in bakmysql directory now"mv $db_name* "$backup_old_dir"echo "Old databases are moved to bakmysqlold fol...