在Docker容器内部创建的文件默认存储在可写的容器层,容易产生几个问题: 当容器不存在时,数据文件不能持久化,同时这些数据文件不方便在容器之外被其他进程使用。 当容器运行的时候容器可写层严重依赖宿主机,不能轻易移动这些数据文件到其他地方。 在容器层写数据文件需要存储驱动(storage driv
Docker是通过读取Dockerfile文件来自动构建镜像,Dockerfile其实就是一个包含了很多命令行指令的文本文件,通过这些指令来装配一个镜像。 要掌握Docker构建镜像的技巧,就必须首先了解Dockerfile的基本指令,下面先详细介绍Dockerfile中的一些常用指令。 基本
这篇文章主要讲解一些go语言开发的入门知识,希望对准备入门学习Go语言的开发者有点帮助。我之前也一直用Java语言进行开发,后来迫于公司的相关容器项目, 就自学Go语言,一边学习一边完成工作。Go语言是Google开源的编程语言,众多开源项目kubernetes、docker、prometh
Docker Hub以及利用开源harbor项目搭建的镜像仓库服务,对于Docker Client发起的docker login、docker push、docker pull等命令都会做基本的用户认证, 最简单常用的认证方式就是Basic Auth,即在发起的http请求头中添加一个Authorization,
一键分享功能是网站社交化的一个重要组件,当前发现一款使用非常简单的js插件,就是share.js,项目地址: https://github.com/overtrue/share.js 。 share.js使用非常简单,它可以通过参数配置自由控制展示哪些分享图标,同时它还可以自定义分享时的title以及icon。 如此简单的一个js组件,对于我这样的一个后端开发人员,
评论功能是静态博客系统的一个特色,是阅读者交流学习的一种手段。当前国内外都开源出很多评论系统, 包括企业或者个人贡献的,但是很多评论系统临时开放出来,过一段时间则关闭停止服务,所以给自己的博客选择一款稳定 的评论系统非常重要。 对于静态博客来说,由于它缺失后台服务,所以用户的评论数据都是落地在第
Callable Runnable 在Java中可以通过继承Thread或者实现Runnable接口两种方式来创建多线程,这两种方式创建的线程执行完毕之后,我们无法获取执行结果, 除非通过共享变量或者线程通信方式(Q消息等)间接实现,Java在1.5之后可以通过Callable和Future接口在线程执行完毕之后获取执行结
二叉树的遍历有三种方法,分别是先序、中序、后序,先序遍历顺序为根、左、右,中序遍历顺序为左、根、右,后序遍历顺序为左、右、根。 遍历二叉树的方式又包括递归、非递归两种方式。 先序遍历结果:50、30、20、40、60 中序遍历结果:20、30、40、50、60 后序遍历结果:20、40、30、60
先简单了解下有序数组和链表两种数据结构 有序数组 优点:用二分查找法可以在有序数组中快速查找特定的值,时间O(logN),当然按顺序遍历也只是O(N) 缺点:插入或者删除,需要多次移动数据项,平均要移动N/2次,不适合发生很多插入或者删除操作的场景 链表 优点:链表的插入和删除都非常快,时间O(1)
chartmuseum chartmuseum是helm chart的仓库,它的存储层支持FileSystem以及各大云厂商的对象存储中间件, 默认支持阿里云的OSS、百度的BOS、Amazon S3、Microsoft Azure、Oracle、Openstack、Google等, 其他厂商需自行实现Storage的B