随笔分类 -  Docker

摘要:[toc] 背景说明 在早期生产环境尝试使用docker的时候,虽然使用了harbor作为镜像仓库,但是并没有做好相关存储规划,所有的镜像都直接存储到了harbor本地。随着业务发展,本地存储已无法满足镜像存储需求。 解决方案有两种: 1. 使用共享文件系统存储,比如glusterfs,直接挂载本地 阅读全文
posted @ 2019-03-28 15:21 breezey 阅读(9384) 评论(1) 推荐(3) 编辑
摘要:[toc] docker镜像仓库中镜像的清理,一直是个比较麻烦的事情。尤其是在测试环境当中,每天都会有大量的构建。由此会产生大量的历史镜像,而这些镜像,大多数都没有用。 在harbor中,清理镜像,也得分为两步,第一步是从ui中删除历史镜像。这个时候镜像并不会被真正删除,好在harbor集成了镜像删 阅读全文
posted @ 2019-03-28 15:20 breezey 阅读(11508) 评论(2) 推荐(0) 编辑
摘要:[toc] Swagger介绍 Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTFul 风格的 Web 服务。通过 Swagger,我们可以方便的、快速的实现 RESTFul API,同时它也提供UI界面,可以直观的管理和测试各个API接口,它还可以集成到各种开发语言中 阅读全文
posted @ 2019-03-28 15:19 breezey 阅读(2021) 评论(0) 推荐(0) 编辑
摘要:[toc] Docker存储 docker提供数据卷来实现数据共享与持久化,而数据卷的挂载有两种方式: 挂载主机目录(Bind mounts) 数据卷容器(Data Volumes) 数据卷是一个可供容器使用的特殊目录,它绕过文件系统,可以提供很多有用的特性: 数据卷可以在容器之间共享和重用 对数据 阅读全文
posted @ 2018-09-04 23:43 breezey 阅读(1429) 评论(0) 推荐(1) 编辑
摘要:[toc] 镜像的分层特性 在说docker的文件系统之前,我们需要先想清楚一个问题。我们知道docker的启动是依赖于image,docker在启动之前,需要先拉取image,然后启动。多个容器可以使用同一个image启动。那么问题来了:这些个容器是共用一个image,还是各自将这个image复制 阅读全文
posted @ 2018-09-04 23:40 breezey 阅读(8182) 评论(2) 推荐(4) 编辑
摘要:[toc] 说明 在上一篇 "企业级镜像管理系统Harbor" 中,我们简要说明了单机版本harbor的配置。然而这种单机部署显然无法满足在生产中需求,必须要保证应用的高可用性。 目前有两种主流的方案来解决这个问题: 双主复制 多harbor实例共享后端存储 双主复制 主从同步 harbor官方默认 阅读全文
posted @ 2018-08-08 17:37 breezey 阅读(17327) 评论(0) 推荐(1) 编辑
摘要:Docker Compose介绍 Docker Compose是一个定义和运行多容器应用的单机编排工具。通过Docker Compose你可以使用一个单一的YAML文件来配置多个应用服务,通过一条命令,就可以将所有配置的服务全部启动起来。 使用Docker Compose的三个步骤: 使用Docke 阅读全文
posted @ 2018-08-05 16:02 breezey 阅读(4892) 评论(0) 推荐(1) 编辑
摘要:[toc] 1、简介 Flannel是一种基于overlay网络的跨主机容器网络解决方案,也就是将TCP数据包封装在另一种网络包里面进行路由转发和通信, Flannel是CoreOS开发,专门用于docker多机互联的一个工具,让集群中的不同节点主机创建的容器都具有全集群唯一的虚拟ip地址 Flan 阅读全文
posted @ 2018-08-04 19:14 breezey 阅读(25492) 评论(0) 推荐(2) 编辑
摘要:在一台ubuntu 18.04上执行docker login 登录镜像仓库的时候,抛出如下异常: error getting credentials err: exit status 1, out: 原因可以参考这里:https://github.com/moby/moby/issues/34175 阅读全文
posted @ 2018-06-20 10:01 breezey 阅读(2744) 评论(1) 推荐(2) 编辑
摘要:docker原生支持众多的日志引擎,适用于各种不同的应用场景,本篇文档对其作一个简单的说明。 Docker日志引擎说明 docker支持的日志引擎如下: none:关闭docker的回显日志, docker logs 看不到任何输出。使用这种方式也就意味着无法查看任何容器输出的日志 json fil 阅读全文
posted @ 2018-06-04 10:07 breezey 阅读(2280) 评论(0) 推荐(0) 编辑
摘要:[toc] Docker简介 什么是Docker Docker的英文翻译是“码头工人”,即搬运工,它搬运的东西就是我们常说的集装箱Container,Container里面装的是任意类型的App。我们的开发人员可以通过Docker将App变成一种标准的、可移植的、自管理的组件,我们可以在任何主流的操 阅读全文
posted @ 2018-06-01 19:05 breezey 阅读(1789) 评论(0) 推荐(1) 编辑
摘要:问题背景 通常我们一个完整的应用镜像有两部分组成,一个是运行时环境,一个是应用程序。我们以php应用为例,一个完整的php应用需要包含openresty + php两个服务来配置运行时环境,然后再加上php代码,来完成一整个php应用的发布。php代码产生的日志由程序自行控制,一般都会按天滚动,在日 阅读全文
posted @ 2018-04-13 00:19 breezey 阅读(1786) 评论(0) 推荐(1) 编辑
摘要:[toc] 容器管理 运行容器 1、运行一个容器示例: 2、将容器在前台运行: 需要说明的是,容器是为任务而生的。一个容器建议只运行一个进程,而且这个进程需要在容器的前台运行,不能通过daemon的方式运行。如果进程退出,容器也会随之停止 3、容器的启动过程说明: 检查本地是否存在指定的镜像,如果没 阅读全文
posted @ 2018-04-13 00:16 breezey 阅读(1211) 评论(0) 推荐(1) 编辑
摘要:[toc] 网络 docker提供几种网络,它决定容器之是以及外界和容器之间怎么样去通信。 可以通过如下方法查看docker的网络: null:无网络,使用这种网络的容器会完全隔离 host:主机网络,使用这种网络的容器会使用主机的网络,这种网络对外界是完全开放的,能够访问到主机,就能访问到容器 b 阅读全文
posted @ 2018-04-13 00:15 breezey 阅读(568) 评论(0) 推荐(0) 编辑
摘要:[toc] 创建、启动、停止容器 docker创建的容器是处于停止状态,可以使用docker start命令来启动 新建并启动容器 执行过程: 检查本地是否存在指定的镜像,如果没有就从指定的仓库下载 利用镜像启动一个容器 分配一个文件系统,并在只读的镜像层外面挂载一层可读写层 从宿主机配置的网桥接口 阅读全文
posted @ 2018-04-13 00:14 breezey 阅读(801) 评论(0) 推荐(0) 编辑
摘要:Dockerfile的组成 Dockerfile分为四部分: 基础镜像信息 维护者信息 镜像操作指令 容器启动时执行指令 Dockerfile指令说明 FROM 格式为 或者 第一条指令必须为FROM指令。并且,如果在同一个Dockerfile中创建多个镜像时,可以使用多个FROM指令(每个镜像一次 阅读全文
posted @ 2018-04-13 00:13 breezey 阅读(763) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示