随笔分类 - Docker
docker学习笔记
摘要:最近在写下单功能实现,想要压测下。单纯压测本地很难达到效果,最好是像生产部署一样,基于实际情况进行压测。手头没那么机器的情况下,采用docker做实例化部署就可以了。 以部署下单服务为例,我需要把api服务打包,然后构建docker镜像,最后多实例部署。每次修改完毕代码手动改来改去挺花时间的。一度想
阅读全文
摘要:docker容器启动后,怎么确认容器运行正常,怎么确认可以对外提供服务了,这就需要health check功能了。 之前对health check的功能不在意,因为只要镜像跑起来了就是健康的,如果有问题就会运行失败。在连续两次收到两个启动失败的issue之后,我决定修正一下。 遇到的问题是,一个we
阅读全文
摘要:使用Makefile构建Docker ===================== 刚开始学习docker命令的时候,很喜欢一个字一个字敲,因为这样会记住命令。后来熟悉了之后,每次想要做一些操作的时候就不得不 重复的输入以前的命令。当切换一个项目之后,又重复输入类似但又不完全相同的命令,仅仅通过his
阅读全文
摘要:定时清理docker私服镜像 =================== 使用CI构建docker镜像进行发布极大促进了大家的版本发布效率,于是镜像仓库也就急速膨胀。为了缓解磁盘压力,我们需要设置一些清理策略。 对于不同docker镜像的清理策略应该是不同的。比如,默认保留最近5个版本的镜像,对于工具类
阅读全文
摘要:现在大部分的docke镜像是基于debian Docker容器是不支持后台服务的,像systemctl service crontab这些后台运行的服务是不能通过 类似这种方案实现的,你必须写自己的entrypoint脚本来启动。本文记录了基于Debian的docker容器设置定时任务的方式。 案例
阅读全文
摘要:docker挂载volume的用户权限问题,理解docker容器的uid 在刚开始使用docker volume挂载数据卷的时候,经常出现没有权限的问题。 这里通过遇到的问题来理解docker容器用户uid的使用,以及了解容器内外uid的映射关系。 遇到的问题 本地有一个node的项目需要编译,采用
阅读全文
摘要:Docker volume speed up npm install ================================ 上一节决定在Jenkins中采用Docker作为构建环境,于是就可以为所欲为的使用各种node版本编译我们的项目。解决了版本切换问题。然而,Docker设计的目的就
阅读全文
摘要:如何挑选node docker镜像 ====================== 在使用Jenkins构建前端项目的时候遇到一点问题: node的版本问题。 由于可能编译的项目历史不同,所依赖的node版本也各有千秋,直接把所有项目都升级到最新的也不合理。所以必须针对不同的项目使用不同node构建环
阅读全文
摘要:docker会下载容器,运行会挂载磁盘,所以我们需要把docker装在大容量的分区。 安装 https://docs.docker.com/install/linux/docker ce/centos/ 修改位置 查看我们挂载的磁盘 选择 /data作为docker容器存放地址。 运行Hello w
阅读全文
摘要:Docker可以把我们的运行环境打包,然后我们只要run就可以了。大部分hello world都是这么写的。但都缺少了实际应用环节。以springboot为例,hello world的Dockerfile是这样的: FROM openjdk:8-jdk-alpine VOLUME /tmp ARG
阅读全文
摘要:现在使用docker的镜像大多基于几种基本Linux系统。虽然我不需要在容器李安装很多东西,但经常需要一些必要的工具,而基础镜像里并不包含,比如vim, ifconfig, curl等。考虑下载速度,最后修改镜像的source为国内地址。现在收集一些docker的基础镜像中国镜像源。 Github:
阅读全文
摘要:概述 YApi 是高效、易用、功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API,YApi 还为用户提供了优秀的交互体验,开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理。 YApi源码:htt
阅读全文
摘要:安装 官方镜像地址: https://hub.docker.com/_/mongo?tab=description 可以查看对应的dockerfile, 通过观察docker entrypoint.sh可以看出,docker版的mongo移除了默认的/etc/mongo.conf, 修改了db数据存
阅读全文
摘要:关于base镜像 base 镜像有两层含义: 不依赖其他镜像,从 scratch 构建。 其他镜像可以之为基础进行扩展。 所以,能称作 base 镜像的通常都是各种 Linux 发行版的 Docker 镜像,比如 Ubuntu, Debian, CentOS 等。 base 镜像提供的是最小安装的
阅读全文
摘要:[TOC] Hello World docker 是命令二进制文件 run 运行一个容器 ubuntu:15.10 镜像名称,通过是名字加版本号 后面是容器里执行的任务 交互式,进入镜像内部 t:在新容器内指定一个伪终端或终端。 i:允许你对容器内的标准输入 (STDIN) 进行交互。 后台运行 停
阅读全文
摘要:Problem jenkins执行docker打包的时候报错,说没有权限 Solution 可以使用 root权限执行,但我们还是想要用jenkins用户来做这件事。只要把jenkins添加到docker的group里就可以了。 这时候,重新jenkins构建依旧是不行的。需要刷新session。所
阅读全文