摘要: 当你有若干个容器之后,你可能就希望实现容器的跨机部署访问了,比如aspnetcore在一台host上,mysql在另外一个host上,如果要实现这样的功能,需要你 借助docker自带的overlay网络模型了。 一: overlay网络模型 要想快速的搭建overlay网络,你可以通过docker阅读全文
posted @ 2019-07-07 13:39 一线码农 阅读(1337) 评论(0) 编辑
摘要: 这一篇我们来聊聊私有仓库的搭建,其实不管你是通过docker build还是compose的方式进行构建的镜像,最终还是要将生成好的镜像push到远程的仓库中,这样 多个平台可以方便的获取你registry中的镜像,否则你不还得带着你的源代码到处跑不是? 而且私有仓库还利于镜像的获取分发,反正都是内阅读全文
posted @ 2019-07-04 12:02 一线码农 阅读(619) 评论(0) 编辑
摘要: 这一篇继续完善webnotebook,如果你读过上一篇的内容,你应该知道怎么去挂载webnotebook日志和容器的远程访问,但是这些还远不够,webnotebook 总要和一些数据库打交道吧,比如说mysql,mongodb,redis,通常情况下这些存储设备要么是以容器的方式承载,要么是由DBA阅读全文
posted @ 2019-02-22 17:24 一线码农 阅读(1567) 评论(4) 编辑
摘要: 到目前为止大家应该对镜像和容器有了一个大概认知,而且也用了docker进行了一个简单化的部署,但仔细一看问题还有很多,所以这篇我们继续完善。 一:如何让外网访问到容器内应用 我们知道容器内拥有自己的子网,和你的主机ip不在一个网段内,所以宿主之外的机器是无法访问的,要实现的话你只能通过nat转发,在阅读全文
posted @ 2019-02-20 12:39 一线码农 阅读(1201) 评论(2) 编辑
摘要: 上一篇我们聊到了容器,现在大家应该也知道了,没有镜像就没有容器,所以镜像对docker来说是非常重要的,关于镜像的特性和原理作为入门系列就不阐 述了,我还是通过aspnetcore的小sample去熟悉镜像的操控。 一:镜像在哪里 这个问题问到点子上了,就好像说肉好吃,那你告诉我哪里才能买的到? 1阅读全文
posted @ 2019-02-18 17:59 一线码农 阅读(1265) 评论(3) 编辑
摘要: 我们知道容器是一个打包了应用和相关依赖的盒子,那怎么去操控这个盒子呢? 这一篇我通过一个简单的aspnetcore程序来加深对盒子的理解,使用之前先 安装一下Docker的环境。 一:Docker的安装 官方下载地址:https://docs.docker.com/install/linux/doc阅读全文
posted @ 2019-02-17 17:06 一线码农 阅读(1887) 评论(3) 编辑
摘要: docker出来也有很多年了,但用到的公司其实并不是很多,docker对传统开发是一个革命性的,几乎颠覆了之前我们传统的开发方法和部署模式,而大多 公司保守起见或不到万不得已基本上不会去变更现有模式。 一:Docker出现之前我们都有哪些困惑 1. 应用依赖多,系统参数配置杂,部署起来麻烦 这句话怎阅读全文
posted @ 2019-02-16 21:11 一线码农 阅读(2455) 评论(3) 编辑
摘要: 上一篇我们简单的说到了使用jenkins+supervisor实现了一个单机版的多副本部署,但是在更多的场景下还是需要netcore程序的多机一键部署,那么多 机器间如何分发呢? 肯定不能使用scp这么低级别的命令,所以你的技术栈中要引进ansible,用它来实现这个功能不要太爽。 一:ansibl阅读全文
posted @ 2019-01-29 11:57 一线码农 阅读(1656) 评论(6) 编辑
摘要: 上一篇我们用jenkins做了一个简单的自动化发布,在shell中采用的是 BUILD_ID=dontKillMe nohup dotnet xxx.dll & 这种简单的后台承载,如果你的业务 量相对比较小,可以用这个方法玩一玩,但存在二个问题:1. 无法对进程进行批量或者可视化管理。 2. 单机阅读全文
posted @ 2019-01-22 18:47 一线码农 阅读(816) 评论(2) 编辑
摘要: 自从redis加入了module功能之后,redis的生态就很有意思了,每个领域的大佬都会以插件的形式给redis扩展一些新的功能,比如本篇说到的rediSQL,rebloom。 一:rediSQL 1. 背景 redis虽然是牛逼,但还是有很多人吐槽redis操作性太弱,比如你想要在redis上实阅读全文
posted @ 2019-01-19 17:09 一线码农 阅读(793) 评论(0) 编辑
摘要: 一旦你的程序docker化之后,你会遇到各种问题,比如原来采用的本地记日志的方式就不再方便了,虽然你可以挂载到宿主机,但你使用 --scale 的话,会导致 记录日志异常,所以最好的方式还是要做日志中心化,另一个问题,原来一个请求在一个进程中的痉挛失败,你可以在日志中巡查出调用堆栈,但是docker阅读全文
posted @ 2018-09-18 08:18 一线码农 阅读(5619) 评论(23) 编辑
摘要: 在很久之前net还只能在windows上部署的时候,或许很多创业公司的朋友发布项目还都是人肉部署,反正windows都是可视化的界面,拖拖拉拉,开开关关还不 是特别麻烦。。。现如今你的项目需要在linux上部署,可惜的是再也没有什么可视化的界面给你,全在xshell上操作,如果在xshell上部署个阅读全文
posted @ 2018-09-08 11:04 一线码农 阅读(2834) 评论(8) 编辑
摘要: 一: 问题提出 现如今大家写的netcore程序大多部署在linux平台上,而且服务程序里面可能会做各种复杂的操作,涉及到多数据源(mysql,redis,kafka)。成功部署成后台 进程之后,你以为这样就万事大吉了? 却不知当你更新代码时,暴力的kill掉这个进程导致你的业务出现数据不一致,业务阅读全文
posted @ 2018-09-03 08:36 一线码农 阅读(3168) 评论(21) 编辑
摘要: 一般情况下,aspnetcore发布后的默认端口是5000,这个大家都知道,而且默认骨架代码中没有看到任何让你输入的ip地址和端口号,但作为程序员的我们,不希望 被框架所管制,那如何实现默认端口的修改呢? 骨架代码: 发布如下: 一:解决办法1(UseUrls) 骨架代码就那么几行,很容易在这个IW阅读全文
posted @ 2018-09-01 08:34 一线码农 阅读(7351) 评论(19) 编辑
摘要: 先结果导向,来看我在kibana dashborad中制作的几张监控图。 一:先睹为快 dashboard1:监控几个维度的日志,这么点日志量是因为把无用的清理掉了,而且只接入了部分应用。 <1> 每日日志总数。 <2> 每日日志错误数,从log4net中level=ERROR抠出来的。 <3> 每阅读全文
posted @ 2018-06-13 08:00 一线码农 阅读(4000) 评论(4) 编辑