【无标题】

文章目录

可以提前拉取Dockerfile中用到的所有基础镜像到本地,这样在构建时Docker会直接使用本地镜像,无需从网络拉取。以下是需要提前拉取的镜像及对应的命令:

需需提前前拉取的镜像及命令

bash 复制代码
# 1. 前端构建阶段:node镜像
docker pull docker.m.daocloud.io/library/node:20-alpine

# 2. 后端构建阶段:maven镜像
docker pull docker.m.daocloud.io/library/maven:3.8-openjdk-17

# 3. Python环境阶段(包括准备阶段和最终运行阶段,两者镜像相同)
docker pull docker.m.daocloud.io/library/python:3.11

操作说明

  1. 执行顺序:直接在PowerShell中逐条运行上述命令即可,它们会将镜像下载到本地Docker的镜像仓库中。

  2. 验证是否拉取成功 :拉取完成后,可通过以下命令查看本地已有的镜像,确认是否包含上述三个镜像:

    bash 复制代码
    docker images | findstr "node maven python"
  3. 构建时的效果 :当你再次执行 docker build -t genie:latest . 时,Docker会检测到本地已存在这些镜像,跳过网络拉取步骤,直接使用本地镜像进行构建,大幅提升速度。

补充说明

  • 这些是Dockerfile中所有的基础镜像(FROM 指令直接引用的镜像),提前拉取后能解决构建时最耗时的"镜像拉取"环节。
  • 如果后续修改了Dockerfile中的镜像源(如更换为阿里云),只需将命令中的镜像源地址(docker.m.daocloud.io)替换为新的源地址(如 registry.aliyuncs.com),重新执行拉取命令即可。
    直接使用不带前缀的镜像名称(如 maven:3.8-openjdk-17)会从 Docker 官方仓库(docker.io/library)拉取镜像。速度是否更快取决于你的网络环境:如果你的网络能直接访问 Docker 官方仓库(无需代理),速度可能优于第三方源;若访问官方仓库较慢,可能还是国内云源更快。

以下是三个不带前缀的基础镜像拉取命令(对应你 Dockerfile 中的三个基础镜像):

bash 复制代码
# 1. 前端构建所需的 node 镜像
docker pull node:20-alpine

# 2. 后端构建所需的 maven 镜像
docker pull maven:3.8-openjdk-17

# 3. Python 环境所需的 python 镜像
docker pull python:3.11

说明:

  1. 这三个命令与你 Dockerfile 中的镜像一一对应,拉取后会存储在本地,构建时 Docker 会优先使用本地镜像。
  2. 若发现官方仓库速度仍不理想,可改用阿里云源的命令(之前提到的 registry.aliyuncs.com/library/... 格式)。
  3. 拉取完成后,可用 docker images 命令确认镜像已成功下载到本地。

相同的问题,windows环境下,.sh脚本文件格式自动转成了CRLF格式,需要给改成 LF 才行,报错所有关联的文件都要改,推荐用linux系统直接拉取项目,可以避免这个问题,windows很麻烦的

相关推荐
想你依然心痛9 小时前
我的第一个开源项目:从0到1,我在GitHub写下的成长印记
开源·github
查老师12 小时前
人在上班,突然被开源社区用户点名不要脸?我想问你,你给我刷过几个子儿?
后端·开源·github
lpfasd12313 小时前
当 GitHub 宕机时,我们如何协作?
github
放飞自我的Coder15 小时前
【github-action 如何为github action设置secrets/environment】
github·action
绝无仅有16 小时前
编写 Go 项目的 Dockerfile 文件及生成 Docker 镜像
后端·面试·github
绝无仅有16 小时前
使用 Docker 部署 Go 项目(Beego 框架)
后端·面试·github
星哥说事16 小时前
开源轻量级表格革命——用Teable解锁你的数据管理新姿势
github
悟空聊架构17 小时前
从 0 到 1:Jenkins 对接企微机器人避坑指南(附可下载 Pipeline 模板)
后端·架构·github
HelloGitHub18 小时前
直击痛点的开源项目「GitHub 热点速览」
开源·github