镜像
基于 Harbor 和 Registry 的镜像管理分发方案
· ☕ 8 分钟
1. Harbor 跨区带来的挑战 如果只是简单的存放镜像数据, Registry 作为镜像仓库会是一个很好的选择。Registry 不仅支持多种存储后端,还可以配置 HTTPS 证书,访问凭证。值得一题的是,Harbor 也是使用 Registry 存储镜像数据。 如果团队需要进行角色管理,存储控制,对接 LDAP 认

给 Kubernetes 添加 imagePullSecrets
· ☕ 1 分钟
1. 通过 kubectl create 添加 1 kubectl create secret docker-registry mypullsecret --docker-server=harbor.chenshaowen.com --docker-username=robot-test --docker-password=xxxxxx 通过 kubectl create 可以直接添加拉取镜像的凭证。 2. 通过 ~/.docker/config.json 添加 使用账户密码登录镜像仓库 1 docker login harbor.chenshaowen.com:5000 1 docker login harbor.chenshaowen.com 可以添加多个。 查看本地保存的凭证 1 2 3 4 5 6 7 8 9 10 11 12 cat ~/.docker/config.json { "auths": { "harbor.chenshaowen.com:5000": { "auth": "xxxxxx" }, "harbor.chenshaowen.com": { "auth": "xxxxxx" } } } 对凭证进行 base64 编码 1 2 3 cat ~/.docker/config.json |base64 -w

面向全球的镜像分发网络
· ☕ 5 分钟
1. 全球的网络规划 很多面向全球的多区域基础设施,在设计之初并没有在网络规划上花费太多心思。当业务复杂到一定程度时,又被逼着进行网络调整和优化。而任何网络上的大调整,都将对业务产生巨大影响。最终会陷入进退两难之地,只能投入更多人力,背上历史包袱

拉取 Dockerhub 镜像,无法连接 Cloudflare
· ☕ 1 分钟
1. 错误提示 在拉取镜像时,偶尔会碰到如下错误: 1 2 3 4 5 6 7 8 docker pull node:10.16-alpine 10.16-alpine: Pulling from library/node e7c96db7181b: Already exists 50958466d97a: Pulling fs layer 56174ae7ed1d: Pulling fs layer 284842a36c0d: Pulling fs layer error pulling image configuration: Get https://production.cloudflare.docker.com/registry-v2 /docker/registry/v2/blobs/sha256/b9/b95baba1cfdbfa8b789137179d8e fff08b9768f1906725a8758cf0c431b59621/data? verify=1636603895-lbb1QIruPZBdfgfhBZ95ArGK0wU%3D: dial tcp 104.18.124.25:443: i/o timeout 2. 主要解决办法 2.1 修改 DNS 地址 如果是 CentOS ,直接修改 /etc/resolv.conf 文件,新增一行 nameserver 8.8.8.8 即可。 如果是 Ubuntu ,需要修改 /etc/syste

Docker 20.10.6 拉取某些镜像报错 unlinkat
· ☕ 1 分钟
使用的是 CentOS 7,内核版本 3.10.0-327 。 1. 查看当前 Docker 的版本 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 docker version Client: Docker Engine - Community Version: 20.10.6 API version: 1.41 Go version: go1.13.15 Git commit: 370c289 Built: Fri Apr 9 22:46:01 2021 OS/Arch: linux/amd64 Context: default Experimental: true Server: Docker Engine - Community Engine: Version: 20.10.6 API version: 1.41 (minimum version 1.12) Go version: go1.13.15 Git commit: 8728dd2 Built: Fri Apr 9 22:44:13 2021 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.4.4 GitCommit: 05f951a3781f4f2c1911b05e61c160e9c30eaa8e runc: Version: 1.0.0-rc93