最原始的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镜像加速服务:
- 登录阿里云控制台
- 进入"容器镜像服务" > "镜像加速器"
- 获取专属加速器地址
- 配置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就可以了。