为什么Docker检查任何已经安装的节点版本?



我已经构建了我的自定义前端图像

FROM node:16-alpine3.16
WORKDIR /usr/src/app
COPY . .
EXPOSE 4200
CMD ["npm", "run", "start"]

然后用docker compose

运行
docker compose up frontend-app --build

镜像运行正常

然后我运行它与docker撰写没有--build标志

docker compose up frontend-app

镜像运行正常

但是当我禁用wi-fi(互联网),并再次运行前一个命令与--build标志,它显示了我一个错误:

=> ERROR [internal] load metadata for docker.io/library/node:14.15.5-alpine3.10                                                                                                0.1s
------
> [internal] load metadata for docker.io/library/node:14.15.5-alpine3.10:
------
failed to solve: rpc error: code = Unknown desc = failed to solve with frontend dockerfile.v0: failed to create LLB definition: failed to do request: Head "https://registry-1.docker.io/v2/library/node/manifests/14.15.5-alpine3.10": Failed to lookup host: registry-1.docker.io

如果节点已经下载,甚至从docker镜像中分离出来,那么总是检查节点更新有什么意义?

下一个命令显示该图像本地已经存在:

docker pull node:14.15.5-alpine3.10
14.15.5-alpine3.10: Pulling from library/node
b038bcb63e9c: Already exists 
2ad96160a6c4: Already exists 
694a34677dcf: Already exists 
253b9b23d1bc: Already exists 
Digest: sha256:fd87531f9bf187273c77ad3ddd5067110ef983f998fc2ea1b9932950df78bd8c
Status: Downloaded newer image for node:14.15.5-alpine3.10
docker.io/library/node:14.15.5-alpine3.10

使用——build您正在重新构建图像,如果您已经拥有图像,为什么还要使用它?使用docker-compose down &docker-compose-up

最新更新