Docker 卡在 M1 上的 apt-get 更新 Mac (Apple Silicone)
Docker stuck on apt-get update on M1 Mac (Apple Silicone)
我有一个 docker 文件,它是从基本映像构建的 node:bullseye-slim
以下是基本的docker文件
FROM --platform=linux/amd64 node:bullseye-slim
RUN cat /etc/apt/sources.list
RUN apt-get update -y
RUN apt-get install curl -y
最初我没有使用 --platform=linux/amd64
,并且构建完成时没有出现错误,但这导致它在 arm/64
体系结构中构建图像,从而导致问题 运行 图像.根据我的搜索,我发现添加 --platform=linux/amd64
将确保图像是根据我使用的库之一的要求构建在 x86 架构上的。
所以我决定添加--platform=linux/amd64
。但从那时起,每当我尝试构建图像时,它都会卡在 RUN apt-get update -y
步骤。
我把它放在 运行 过夜(超过 10 小时),但它仍然卡在台阶上。
我还 运行 使用他的标志 --progress=plain
构建以获得更详细的日志,但是没有 apt-get update
的日志,它似乎只是停留在步骤上。
输出结果如下
#1 [internal] load build definition from Dockerfile
#1 transferring dockerfile: 30B
#1 transferring dockerfile: 331B done
#1 DONE 0.0s
#2 [internal] load .dockerignore
#2 transferring context: 34B done
#2 DONE 0.0s
#3 [internal] load metadata for docker.io/library/node:bullseye-slim
#3 DONE 1.2s
#4 [1/8] FROM docker.io/library/node:bullseye-slim@sha256:22a517a42af0f2bf961e12daa3a940244e5ddf450c6da6c0e245b652f1027713
#4 DONE 0.0s
#5 [2/8] RUN cat /etc/apt/sources.list
#5 CACHED
#6 [internal] load build context
#6 transferring context: 757B done
#6 DONE 0.0s
#7 [3/8] RUN apt-get update -y
我是 运行 这台配备 M1 Pro 芯片的 14 英寸新款 MacBook Pro。
我已经尝试 运行 docker system prune -a
并再次尝试构建,但仍然卡住了。我尝试使用 node:bullseye
而不是 node:bullseye-slim
但它仍然卡住了。如果我删除 --platform=linux/amd64
,构建将毫无问题地完成。
知道问题是什么吗?我该如何解决?
所以,
似乎重新启动 docker 有效,我不敢相信我以前没有想到这一点。我做了系统修剪但从未重新启动 docker.
对于遇到类似问题的任何其他人,请尝试重新启动 docker
我有一个 docker 文件,它是从基本映像构建的 node:bullseye-slim
以下是基本的docker文件
FROM --platform=linux/amd64 node:bullseye-slim
RUN cat /etc/apt/sources.list
RUN apt-get update -y
RUN apt-get install curl -y
最初我没有使用 --platform=linux/amd64
,并且构建完成时没有出现错误,但这导致它在 arm/64
体系结构中构建图像,从而导致问题 运行 图像.根据我的搜索,我发现添加 --platform=linux/amd64
将确保图像是根据我使用的库之一的要求构建在 x86 架构上的。
所以我决定添加--platform=linux/amd64
。但从那时起,每当我尝试构建图像时,它都会卡在 RUN apt-get update -y
步骤。
我把它放在 运行 过夜(超过 10 小时),但它仍然卡在台阶上。
我还 运行 使用他的标志 --progress=plain
构建以获得更详细的日志,但是没有 apt-get update
的日志,它似乎只是停留在步骤上。
输出结果如下
#1 [internal] load build definition from Dockerfile
#1 transferring dockerfile: 30B
#1 transferring dockerfile: 331B done
#1 DONE 0.0s
#2 [internal] load .dockerignore
#2 transferring context: 34B done
#2 DONE 0.0s
#3 [internal] load metadata for docker.io/library/node:bullseye-slim
#3 DONE 1.2s
#4 [1/8] FROM docker.io/library/node:bullseye-slim@sha256:22a517a42af0f2bf961e12daa3a940244e5ddf450c6da6c0e245b652f1027713
#4 DONE 0.0s
#5 [2/8] RUN cat /etc/apt/sources.list
#5 CACHED
#6 [internal] load build context
#6 transferring context: 757B done
#6 DONE 0.0s
#7 [3/8] RUN apt-get update -y
我是 运行 这台配备 M1 Pro 芯片的 14 英寸新款 MacBook Pro。
我已经尝试 运行 docker system prune -a
并再次尝试构建,但仍然卡住了。我尝试使用 node:bullseye
而不是 node:bullseye-slim
但它仍然卡住了。如果我删除 --platform=linux/amd64
,构建将毫无问题地完成。
知道问题是什么吗?我该如何解决?
所以, 似乎重新启动 docker 有效,我不敢相信我以前没有想到这一点。我做了系统修剪但从未重新启动 docker.
对于遇到类似问题的任何其他人,请尝试重新启动 docker