问题
使用 Apline 镜像常见问题
· ☕ 1 分钟
1. DNS 请求超时 原因: alpine 使用的是 musl 库,在 DNS 解析上会有一些限制[1] 解决方式: 不使用 apline 镜像,并在容器 resolv.conf 文件中增加 options single-request-reopen 配置。因为 single-request-reopen 配置项只对 glibc 库生效,但是 apline 镜像使用的是 musl 库 2. Docker 下无法解析 hosts 原因: alpine 没有 /etc/nsswitch.conf,导致依赖 hosts

Jenkins 中 Lightweight 拉取代码问题分析
· ☕ 3 分钟
1. 遇到了什么问题 Jenkins 执行日志报错: 1 2 3 4 5 6 Started by user admin Lightweight checkout support not available, falling back to full checkout. Checking out git https://github.com/shaowenchen/pipeline-test.git into /var/jenkins_home/workspace/abc@script to read Jenkinsfile ... ... Unable to access '.git/index.lock': File exists. 原因分析: 简单介绍一下 Jenkins 的部署情况,Jenkins 使用 Helm Chart 部署在 Kubernetes,使用 Kubernetes 动态 Pod 进行构建。Jenkins 的 /var/jenkins_home 挂载到 PV

Jenkins 中 Git 操作 not a tree 分析
· ☕ 3 分钟
1. 问题描述 配置 Webhook 自动触发执行 Jenkins 流水线时,报错: 1 2 3 hudson.plugins.git.GitException: Command "git checkout -f 23b446ea" returned status code 128: stdout: stderr: fatal: reference is not a tree: 23b446ea 2. Git 如何管理版本 Git 是一个内容寻址文件系统。Git 维护着一棵 sha tree ,通过 sha 值可以回溯到任何一个历史节点。先看看提交记录: 执行命令: 1 2 3 4 5 6 7 8 9 10 11 12

Celery 处理大文件失败问题排查与解决
· ☕ 3 分钟
1. 一个小需求 经常遇到一些小的需求,但是实现起来并不简单。这里就有一个文件上传的简单需求,分为下面几个步骤: 用户在页面上传一个大文件 大文件会被暂存在内网的 Ceph 后台任务,将 Ceph 中的大文件,下载到 Docker 内 后台任务,将 Docker 中的大文件,上传到外网的 COS 后台使用的

Windows 7 下 Docker 使用问题
· ☕ 1 分钟
1. 自定义 docker-machine 位置 Windows 7 下使用 docker ,默认将 docker-machine 存放在 C:\users\your name\.docker\machine\machines 目录。 为了不占用系统盘存储空间,可以通过如下方法修改: 如果还没有创建虚拟机,可以通过设置 MACHINE_STORAGE_PATH 环境变量指定。 然后,运行 Docker Quickstart Termina,创建运行 docker-machine。 如果已经创建虚拟机,则