当前位置: 首页 > 知识库问答 >
问题:

如何让 docker build 的时候,不要联网更新基础镜像?

支才
2023-09-08
FROM python:3.11.5-bookwormRUN echo "deb http://mirrors.aliyun.com/debian/ bookworm main non-free contrib" > /etc/apt/sources.list

对于 python:3.11.5-bookworm 这个镜像

每次运行 docker build -t "ponponon/svddb_api:2023.09.08.1" . 好像都回去检查 dockerhub 上 python:3.11.5-bookworm 是否要更新?

但是因为连接 dockerhub 挺慢的,我希望本地已经有 python:3.11.5-bookworm 了就不要去联网更新 python:3.11.5-bookworm

╰─➤  docker images | grep pythonpython                     3.10.10-bullseye               2b8b079d7548   5 months ago    912MB

从上面可以看到,我本地已经有 python:3.11.5-bookworm

─➤  make builddocker build -t "ponponon/svddb_api:2023.09.08.1" .[+] Building 256.2s (4/18)                                                                              docker:default => [internal] load build definition from Dockerfile                                                              0.0s => => transferring dockerfile: 914B                                                                              0.0s => [internal] load .dockerignore                                                                                 0.0s => => transferring context: 2.31kB                                                                               0.0s => [internal] load metadata for docker.io/library/python:3.11.5-bookworm                                        36.3s => [internal] load build context                                                                                 0.1s => => transferring context: 176.86kB                                                                             0.1s => [ 1/14] FROM docker.io/library/python:3.11.5-bookworm@sha256:3d10a95a05674b7e42ac53267774880b255949e5e2aed  219.9s => => resolve docker.io/library/python:3.11.5-bookworm@sha256:3d10a95a05674b7e42ac53267774880b255949e5e2aed9be5  0.0s => => sha256:22c957c35e37bdd688c2bdda50dc72612477d6c9c393802163b14d197a568bff 7.53kB / 7.53kB                    0.0s => => sha256:012c0b3e998c1a0c0bedcf712eaaafb188580529dd026a04aa1ce13fdb39e42b 49.56MB / 49.56MB                 80.9s => => sha256:00046d1e755ea94fa55a700ca9a10597e4fac7c47be19d970a359b0267a51fbf 24.03MB / 24.03MB                 43.2s => => sha256:9f13f5a53d118643c1f1ff294867c09f224d00edca21f56caa71c2321f8ca004 64.11MB / 64.11MB                 69.5s => => sha256:3d10a95a05674b7e42ac53267774880b255949e5e2aed9be590143df33f95c64 1.65kB / 1.65kB                    0.0s => => sha256:8a164692c20c8f51986d25c16caa6bf03bde14e4b6e6a4c06b5437d5620cc96c 2.01kB / 2.01kB                    0.0s => => sha256:e13e76ad6279c3d69aa6842a935288c7db66878ec3b7815edd3bb34647bd7ed0 137.36MB / 210.99MB              219.9s => => sha256:ad4c837a72f8d2d63d64bf7f9d7c43fe9e67f3d82af7ac47e977a06b95ff7b3a 6.39MB / 6.39MB                   92.7s => => extracting sha256:012c0b3e998c1a0c0bedcf712eaaafb188580529dd026a04aa1ce13fdb39e42b                         0.6s => => sha256:0f546edb7ae0f7fecbac92a156849e2479dbf591ed0be9ac68e873da28c2a7a7 19.78MB / 19.78MB                120.8s => => extracting sha256:00046d1e755ea94fa55a700ca9a10597e4fac7c47be19d970a359b0267a51fbf                         0.2s => => extracting sha256:9f13f5a53d118643c1f1ff294867c09f224d00edca21f56caa71c2321f8ca004                         0.8s => => sha256:e2f1160974087f047a90d64ce50bd95d279c89309f32caeaa0b3503c253cab45 244B / 244B                      107.9s => => sha256:a0d3c67a6b6b0b67a9e4735c18ae78ca68e2252e0bed7e6fc3912dd5e0e8f042 3.11MB / 3.11MB                  124.2s

这部分耗时挺久的

图片.png


好像可能是乌龙

之前没有显性执行过 docker pull python:3.11.5-bookworm

共有2个答案

郦楷
2023-09-08
docker build --pull=never -t "ponponon/svddb_api:2023.09.08.1" .
周宏伯
2023-09-08

除非你显式指定了 --pull 参数,否则 docker build 只会用本地的镜像,不会联网检查更新的(前提是你本地确实有这个 tag)。

你这里的“好像”是根据什么判断出来的?

 类似资料:
  • 问题内容: 假设我有一个基于的琐碎容器。现在有一个安全更新,并在docker repo中进行了更新。 我怎么知道我的本地映像及其容器在后面运行? 是否有一些最佳实践来自动更新本地映像和容器以跟随docker repo更新,实际上,这会给您带来与在常规ubuntu机器上运行无人值守升级一样的好处。 问题答案: 一种方法是通过CI / CD系统来驱动它。构建父映像后,请使用该父映像扫描git repo

  • 网络协议栈 互联网由一系列网络设备连接所构建,如同人与人的对话使用语言一样,计算机之间的对话语言就是协议。 且如同复杂的社会组织有不同阶层一样,实践表明复杂的计算机网络同样需要区分层次,各个层次各司其职,分工协作。 互联网网络协议遵循OSI参考模型, OSI是Open System Interconnection的缩写,意为开放式系统互联。国际标准化组织(ISO)制定了OSI模型,该模型定义了不同

  • 问题内容: 码: 当我在中输入内容时,以下内容将立即更改。是否可以配置它仅在输入所有字符并保留输入后才更新? 问题答案: 更新资料 正如许多人提到的那样,Angular现在使用指令对此提供了内置支持。在这里查看更多。 下面的旧答案: ng-model没有内置选项来更改该行为,但是您可以编写一个自定义指令来执行此操作。@Gloopy 写了这样的指令。你可以在这里看看小提琴。 该指令从和事件中注销,这

  • 构建基础镜像 我将应用打包到镜像中形成我们所需的镜像,往往需要一个基础的镜像作为我们应用服务的外部环境,那么问题来了,基础镜像从何而来?官方推荐的是直接从官网仓库pull一个,但由于官网被墙的比较厉害,所以这里介绍一些官方提供以及个人方法。 1.使用Debootstrap来创建Ubuntu的base image $ sudo debootstrap raring raring > /dev/nul

  • 目标:准备一个定制的 PHP 基础镜像。基础镜像,通常为含最小功能的系统镜像,之后的应用镜像都以此为基础。 本项目代码维护在 DaoCloud/php-apache-image 项目中。 制作基础镜像 选择 Ubuntu 官方的 14.04 版本为我们依赖的系统镜像。 FROM ubuntu:trusty 因所有官方镜像均位于境外服务器,为了确保所有示例能正常运行,DaoCloud 提供了一套境内

  • 目标:构建基于 Maven 和 Tomcat 的基础镜像 本项目代码维护在 DaoCloud/docker-demo-build-base-image 项目中。 您可以在 GitHub 找到本项目并获取本文中所提到的所有代码文件。 前言 在 Java 开发的世界中,有很大一部分应用是基于 Maven 构建的,而最终的交付结果也是一个 war 包,所以,构建一个基于 Maven 和 Tomcat 的