Docker 容器无法从基础镜像构建

问题描述 投票:0回答:1

当我运行

docker-compose build
使用 Docker Desktop for Windows 构建容器时,我得到以下输出:

[+] Building 4.3s (6/16)                                                                                 docker:default
 => [web internal] load build definition from Dockerfile.dev 
 => => transferring dockerfile: 769B
 => [web internal] load .dockerignore
 => => transferring context: 162B
 => [web internal] load metadata for docker.io/library/node:14.15.4-alpine3.10
 => [web auth] library/node:pull token for registry-1.docker.io
 => CANCELED [web  1/11] FROM docker.io/library/node:14.15.4-alpine3.10@sha256:fe215d05cdde4b7f2a0f546c88a8ddc4f5
 => => resolve docker.io/library/node:14.15.4-alpine3.10@sha256:fe215d05cdde4b7f2a0f546c88a8ddc4f5fa280a204acdfc2  0.0s
 => => sha256:fe215d05cdde4b7f2a0f546c88a8ddc4f5fa280a204acdfc2383afe901fd6d84 1.43kB / 1.43kB
 => => sha256:3c1278b4775e0531a87c5f59e281e9fd3e9415510f736f6cb7b853a18f733c65 1.16kB / 1.16kB
 => => sha256:1d5f426329f6457972282c871eeae61741de2103bdb13200f3cff390d70f1734 6.73kB / 6.73kB
 => => sha256:21c83c5242199776c232920ddb58cfa2a46b17e42ed831ca9001c8dbc532d22d 0B / 2.80MB
 => => sha256:183201ed1f3fde3d0aa37b312d28e31b6129f0ab073fadb40f002bf3bac7e096 0B / 35.65MB
 => => sha256:61208a7901b0da939053e657b8b0a56fda12331176c5bbe510aa76395c9208fc 0B / 2.24MB
 => CANCELED [web internal] load build context
 => => transferring context: 6.54MB
failed to solve: Canceled: context canceled

Dockerfile:

# build environment
FROM node:14.15.4-alpine3.10 as build

ARG SSH_PRV_KEY

RUN apk update && \
    apk add git && \
    apk add openssh

# Authorize SSH Host
RUN mkdir -p /root/.ssh && \
    chmod 700 /root/.ssh && \
    ssh-keyscan -t rsa bitbucket.org > /root/.ssh/known_hosts

# Add the keys and set permissions
RUN echo "$SSH_PRV_KEY" > /root/.ssh/id_rsa && \
    chmod 600 /root/.ssh/id_rsa && \
    ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub && \
    chmod 600 /root/.ssh/id_rsa.pub

RUN mkdir /code
WORKDIR /code

ENV PATH /code/node_modules/.bin:$PATH
ENV PORT=5000
ENV REACT_APP_BUILD_ENV='development'

COPY . ./
# RUN npm ci --silent

CMD ["npm", "start"]

.dockerignore

.DS_Store
**/.DS_Store

.dockerignore
Dockerfile
docker-compose.yml

.git
.gitignore

.idea/
.vscode

.env

npm-debug.log

这会导致构建失败。

我不知道如何调试这个,因为我对 Docker 不太熟悉。我的互联网连接似乎很好,但无论我运行多少次,它总是在同一步骤失败。到目前为止,我已经尝试过以下方法:

  • 重新安装 Docker 桌面
  • 重新启动我的开发机器。
  • 卸载 Android Studio
  • “故障排除”菜单中的“清理/清除数据”选项。
  • 重置为出厂默认设置选项。
  • 禁用我的防火墙。
  • 关闭除 Docker + PowerShell 之外的所有内容,然后再次运行命令。
  • 在Windows中运行驱动器错误检查工具,没有出现错误。
  • --no-cache
    标志添加到构建命令中。
  • 在管理命令提示符中运行
    docker-compose build --no-cache
  • 取消选中 Docker Desktop 中的实验性功能。
  • 检查更新。
  • 检查
    .git
    已添加到
    .dockerignore
    文件中。
  • 检查我没有使用按流量计费的连接。
  • 使用
    docker login
    登录。
  • 注销然后使用
    docker logout
    docker login
    重新登录。
docker docker-compose dockerfile docker-desktop dockerhub
1个回答
0
投票

我的一位同事通过将 Docker 从 4.24.1 降级回 4.22.0 并随后进行完整的系统重置来解决此问题(不确定是否有必要,您可以先尝试降级)。

© www.soinside.com 2019 - 2024. All rights reserved.