在Docker中,apt

在Docker中,apt,第1张

在Docker中,apt

您已声明Dockerfile包含

RUN apt-get -yupdate
其自身的
RUN
指令。但是,由于构建缓存,如果对Dockerfile的所有更改在文件的后面发生,则在
docker build
运行时,Docker将重用上次
RUN apt-get-y update
执行的创建的中间映像,而不是再次运行命令,因此所有最近添加或编辑的命令
apt-getinstall
行将使用旧数据,从而导致您观察到的错误。

有两种方法可以解决此问题:

  1. --no-cache
    选项传递给
    docker build
    ,强制在每次构建映像时运行Dockerfile中的每个语句。

  2. 重写Dockerfile以将

    apt-get
    命令合并为一条
    RUN
    指令:
    RUN apt-get update && apt-get install foo bar ...
    。这样,无论何时编辑要安装的软件包列表,
    docker build
    都将被迫重新执行整个
    RUN
    指令,从而
    apt-get update
    在安装之前重新运行。

该Dockerfile最佳实践页面实际上有上一整节

apt-get
的Dockerfiles命令。我建议你阅读。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4924285.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-12
下一篇 2022-11-12

发表评论

登录后才能评论

评论列表(0条)

保存