
阿里云ACK使用WordPress私有镜像仓库
在使用阿里云 ACK(容器服务 Kubernetes 版)部署 WordPress(基于龙蜥操作系统的官方镜像)时,我们遇到了一些实际问题:
- 压测过程中 无法正常创建新的容器实例
- WordPress 后台上传的图片 偶尔无法显示
这些问题严重影响了线上应用的稳定性,因此我们尝试了将镜像拉取方式切换为自建私有镜像仓库,并将 WordPress 镜像手动上传至阿里云容器镜像服务(ACR),最终顺利解决了问题。
❗问题背景
- 使用阿里云官方提供的 WordPress 龙蜥镜像部署 ACK 无状态应用
- 启动无状态应用后压测时,容器实例频繁失败,Pod 创建不上
- 上传 WordPress 媒体文件时,图片有概率显示不出来或变为断图
- 推测为镜像本身问题或拉取过程不稳定,因此改用 ACR 私有镜像方式部署
🛠 开通阿里云容器镜像服务(ACR)
阿里云 ACR 容器镜像服务默认未开通,首次使用需要手动开通服务,并且设置镜像仓库密码,用户名为阿里云登录账号相同名称。
🧱 创建命名空间和私有仓库
- 进入 ACR 控制台 ➜ 实例管理 ➜ 选择 个人版实例
2. 创建命名空间(名称可自定义,例如 myspace
)
3. 创建镜像仓库,填写以下信息
🖥 在本地ECS推送WordPress镜像
你需要一台能访问公网的 ECS 实例来执行镜像构建和推送。
示例环境:CentOS 7.9
安装 Docker
yum install -y docker
配置镜像加速器(提升拉取速度)
打开 ACR 控制台 ➜ 镜像加速器,按文档配置(直接复制粘贴)
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://w9nik998.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
拉取 WordPress 官方镜像
docker pull wordpress
📦 将WordPress镜像推送至ACR
根据镜像仓库的命令操作,期间需要输入仓库密码。
推送完成后,回到镜像仓库页面,即可在镜像版本中看到该镜像。
🚀 在ACK中使用自定义镜像部署无状态应用
在 ACK 中创建无状态应用,使用自定义镜像:
完成后一定要设置镜像密钥,不然ACK无法拉取镜像。
创建后,ACK 将从 ACR 拉取镜像并部署 WordPress,无需再依赖公网镜像源。
✅ 部署效果与总结
- 📌 容器创建速度明显提升
- 📌 WordPress 图片上传稳定性大幅改善
- 📌 避免了拉取龙蜥镜像过程中的网络波动或镜像问题
📝 总结建议
- 阿里云 ACK 虽然提供了官方镜像,但线上稳定性仍需验证,建议关键项目使用自定义镜像
- ACR 是强大可靠的镜像仓库,推荐结合企业级项目使用
- 推送自定义镜像后还能自定义
Dockerfile
,进一步精简或安全加固镜像
本文是原创文章,采用CC BY-NC-ND 4.0协议,完整转载请注明来自infanx.com
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果