Add details for cloud images

This commit is contained in:
yeasy
2026-03-09 19:27:38 -07:00
parent 79ee0b57fa
commit aeea9e76ac
5 changed files with 301 additions and 23 deletions

View File

@@ -85,6 +85,53 @@ docker tag my-app:latest ccr.ccs.tencentyun.com/namespace/my-app:latest
docker push ccr.ccs.tencentyun.com/namespace/my-app:latest
```
### 腾讯云 Docker 镜像加速器配置
为了加快镜像拉取速度腾讯云提供了镜像加速服务配置方法如下
#### Linux 系统配置
编辑 `/etc/docker/daemon.json` 文件如果不存在则创建
```bash
# 创建或编辑配置文件
sudo mkdir -p /etc/docker
sudo nano /etc/docker/daemon.json
```
添加以下内容
```json
{
"registry-mirrors": [
"https://mirror.ccs.tencentyun.com"
],
"insecure-registries": []
}
```
重启 Docker 服务
```bash
sudo systemctl daemon-reload
sudo systemctl restart docker
```
验证配置
```bash
# 查看镜像源是否生效
docker info | grep -A 5 "Registry Mirrors"
```
#### Windows/Mac 配置
对于 Docker Desktop在设置界面中
1. 打开 Docker Desktop 设置
2. 导航到 "Docker Engine"
3. JSON 配置中添加上述 `registry-mirrors` 字段
4. 点击 "Apply & Restart"
### 腾讯云容器镜像服务 (TCR)
腾讯云容器镜像服务 (TCR) 提供企业级容器镜像存储和分发能力
@@ -102,3 +149,65 @@ docker push ccr.ccs.tencentyun.com/namespace/my-app:latest
3. 配置 Docker 登录凭证
4. 本地构建镜像并推送到 TCR
5. TKE 集群部署时引用 TCR 镜像地址
#### 完整推送/拉取示例
```bash
# 登录到腾讯云 TCR使用 API 密钥)
docker login ccr.ccs.tencentyun.com \
--username <腾讯云账号ID> \
--password <API_KEY>
# 拉取公开镜像
docker pull ccr.ccs.tencentyun.com/library/nginx:latest
# 构建本地镜像
docker build -t my-app:v1.0 .
# 标记镜像为 TCR 地址
docker tag my-app:v1.0 \
ccr.ccs.tencentyun.com/my-namespace/my-app:v1.0
# 推送镜像到 TCR
docker push ccr.ccs.tencentyun.com/my-namespace/my-app:v1.0
# 在 Dockerfile 中使用 TCR 镜像
FROM ccr.ccs.tencentyun.com/my-namespace/my-app:v1.0
RUN echo "使用腾讯云镜像作为基础镜像"
```
#### TKE 集群中使用 TCR 镜像
配置镜像拉取凭证后 Deployment 中直接引用 TCR 镜像
```yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app-deployment
namespace: default
spec:
replicas: 3
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
imagePullSecrets:
- name: tcr-secret # 需提前创建该 Secret
containers:
- name: my-app
image: ccr.ccs.tencentyun.com/my-namespace/my-app:v1.0
ports:
- containerPort: 8080
resources:
requests:
memory: "256Mi"
cpu: "100m"
limits:
memory: "512Mi"
cpu: "500m"
```