docker compose再阿里云上无法使用的问题

最原始的Dokcerfile

bash 复制代码
# 使用官方Python 3.6.8镜像
FROM python:3.6.8-slim

WORKDIR /app

# 复制依赖文件
COPY requirements.txt .

RUN pip install --upgrade pip
# 检查并安装依赖(自动处理未安装的包)
RUN pip install --no-cache-dir -r requirements.txt || \
    { echo "Failed to install some packages. Retrying with --upgrade..." && \
    pip install --no-cache-dir --upgrade -r requirements.txt; }

# 复制应用代码
COPY . .

# 添加健康检查(验证Python环境)
HEALTHCHECK --interval=30s --timeout=10s \
  CMD python -c "import sys; from pkg_resources import require; require(open('requirements.txt').read())" || exit 1

CMD ["python", "/app/HsSignalQa/server.py"]

此方式会到国外源中下载,阿里云始终无法下载,提示如下

bash 复制代码
[+] Building 0.4s (3/3) FINISHED                                                                                                                                                                                               
 => [internal] load build definition from Dockerfile                                                                                                                                                                      0.0s
 => => transferring dockerfile: 930B                                                                                                                                                                                      0.0s
 => [internal] load .dockerignore                                                                                                                                                                                         0.0s
 => => transferring context: 2B                                                                                                                                                                                           0.0s
 => ERROR [internal] load metadata for swr.cn-east-3.myhuaweicloud.com/library/python:3.6.8-slim                                                                                                                          0.4s
------
 > [internal] load metadata for swr.cn-east-3.myhuaweicloud.com/library/python:3.6.8-slim:
------
failed to solve: swr.cn-east-3.myhuaweicloud.com/library/python:3.6.8-slim: swr.cn-east-3.myhuaweicloud.com/library/python:3.6.8-slim: not found 
 #最原始的错误已覆盖,这个错误是另外一个源的错误,相同的问题

经过多轮测试均不能访问,一下是解决方法

重点是下面的第2项

使用阿里云容器镜像服务加速器

阿里云提供了Docker Hub镜像加速服务:

  1. 登录阿里云控制台
  2. 进入"容器镜像服务" > "镜像加速器"
  3. 获取专属加速器地址
  4. 配置Docker使用该镜像源:
bash 复制代码
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://<your-accelerator-address>.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

登录我的阿里云控制台发现,我的控制台是这样的

注意红色的地方,将我的Dockerfile更改为该地址

bash 复制代码
FROM xxx替换红色框的马赛克.mirror.aliyuncs.com/library/python:3.6.8-slim

WORKDIR /app

# 复制依赖文件
COPY requirements.txt .

RUN pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple
# 检查并安装依赖(自动处理未安装的包)
RUN pip install --no-cache-dir -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple || \
    { echo "Failed to install some packages. Retrying with --upgrade..." && \
    pip install --no-cache-dir --upgrade -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple; }

# 复制应用代码
COPY . .

# 添加健康检查(验证Python环境)
HEALTHCHECK --interval=30s --timeout=10s \
  CMD python -c "import sys; from pkg_resources import require; require(open('requirements.txt').read())" || exit 1

CMD ["python", "/app/HsSignalQa/server.py"]

完成后,再进度docker build就可以了。

相关推荐
lichenyang4532 天前
Docker 学习笔记(五):Docker Compose,用一个 YAML 启动前端、后端和 MongoDB
docker
lichenyang4532 天前
Docker 学习笔记(四):Dockerfile,把项目打成自己的镜像
docker·容器
lichenyang4532 天前
Docker 学习笔记(三):Docker 网络、bridge、子网和容器互通
docker·容器
lichenyang4532 天前
Docker 学习笔记(二):docker run 的参数到底在控制什么?
docker·容器
Patrick_Wilson6 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
Suroy7 天前
DockerView-Go:用 Go 写一个终端 Docker 监控工具,顺便做了个 Web 仪表盘
docker
云恒要逆袭7 天前
运行你的第一个Docker容器
后端·docker·容器
宋均浩8 天前
# Docker 镜像瘦身实战:从 1.2G 到 80MB 的五个优化步骤
ci/cd·docker
程序员老赵8 天前
10 分钟部署 OpenCode:Docker 一键安装,浏览器打开就能用 AI 写代码(附完整命令与排错)
docker·容器·ai编程
WangMingHua1119 天前
LM Studio Docker 部署——本地大模型一键启动
docker