当前位置: 首页 > 面试题库 >

\--no-cache Vs的Alpine Dockerfile的优势。rm / var / cache / apk / *

罗绪
2023-03-14
问题内容

使用Alpine映像创建Dockerfile时,我经常看到apk --no-cache提交时使用和的用法,而是看到rm /var/cache/apk/*

我很好奇,知道利用--no-cache消除了以后再做的必要rm /var/cache/apk/*。我还想知道一种风格是否胜过另一种。


问题答案:

--no-cache选项允许不在本地缓存索引,这对于保持容器较小非常有用。

从字面上看,它apk update在开头和rm -rf /var/cache/apk/*结尾相等。

我们使用--no-cacheoption的一些示例:

$ docker run -ti alpine:3.7
/ # apk add nginx
WARNING: Ignoring APKINDEX.70c88391.tar.gz: No such file or directory
WARNING: Ignoring APKINDEX.5022a8a2.tar.gz: No such file or directory
ERROR: unsatisfiable constraints:
  nginx (missing):
    required by: world[nginx]
/ # 
/ # apk add --no-cache nginx
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/community/x86_64/APKINDEX.tar.gz
(1/2) Installing pcre (8.41-r1)
(2/2) Installing nginx (1.12.2-r3)
Executing nginx-1.12.2-r3.pre-install
Executing busybox-1.27.2-r7.trigger
OK: 6 MiB in 13 packages
/ # 
/ # ls -la /var/cache/apk/
total 8
drwxr-xr-x    2 root     root          4096 Jan  9 19:37 .
drwxr-xr-x    5 root     root          4096 Mar  5 20:29 ..

另一个不使用--no-cache选项的示例

$ docker run -ti alpine:3.7
/ # apk add nginx
WARNING: Ignoring APKINDEX.70c88391.tar.gz: No such file or directory
WARNING: Ignoring APKINDEX.5022a8a2.tar.gz: No such file or directory
ERROR: unsatisfiable constraints:
  nginx (missing):
    required by: world[nginx]
/ # 
/ # apk update
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/community/x86_64/APKINDEX.tar.gz
v3.7.0-107-g15dd6b8ab3 [http://dl-cdn.alpinelinux.org/alpine/v3.7/main]
v3.7.0-105-g4b8b158c40 [http://dl-cdn.alpinelinux.org/alpine/v3.7/community]
OK: 9048 distinct packages available
/ # 
/ # apk add nginx
(1/2) Installing pcre (8.41-r1)
(2/2) Installing nginx (1.12.2-r3)
Executing nginx-1.12.2-r3.pre-install
Executing busybox-1.27.2-r7.trigger
OK: 6 MiB in 13 packages
/ # 
/ # ls -la /var/cache/apk/
total 1204
drwxr-xr-x    2 root     root          4096 Mar  5 20:31 .
drwxr-xr-x    6 root     root          4096 Mar  5 20:31 ..
-rw-r--r--    1 root     root        451508 Mar  3 00:30 APKINDEX.5022a8a2.tar.gz
-rw-r--r--    1 root     root        768680 Mar  5 09:39 APKINDEX.70c88391.tar.gz
/ # 
/ # rm -vrf /var/cache/apk/*
removed '/var/cache/apk/APKINDEX.5022a8a2.tar.gz'
removed '/var/cache/apk/APKINDEX.70c88391.tar.gz'

如您所见,这两种情况都是有效的。对我来说,使用--no-cacheoption更为优雅。



 类似资料:
  • 我正在使用: Spring 3.1.2.发布 Primefaces JSF 3.4.1 null 我没有什么想法了,有人知道是什么在我的响应中设置这些头,以便我可以针对适当的部署组件来解决这个问题吗?

  • 本文向大家介绍Python的优势:相关面试题,主要包含被问及Python的优势:时的应答技巧和注意事项,需要的朋友参考一下 1、Python 易于学习; 2、用少量的代码构建出很多功能;(高效的高级数据结构) 3、Python 拥有最成熟的程序包资源库之一; 4、Python完全支持面向对象; 5、Python 是跨平台且开源的。 6、动态类型:  

  • 处理高性能和高效率的并发一直是部署nginx的主要优势。现在我们来了解有关Nginx更多的优点。 在过去几年中,Web架构师已经接受了将应用程序基础架构与Web服务器分离和分离的想法。 然而,以前以LAMP(Linux,Apache,MySQL,PHP,Python或Perl)为基础的网站的形式可能不仅仅是一个基于LEMP的(“E”代表“Engine x”)) ,但是越来越多地将网络服务器推送到基

  • 问题内容: 在实践中,相比于innerHTML,使用createElement有什么优势?我之所以问是因为,我坚信使用innerHTML在性能和代码可读性/可维护性方面会更加有效,但是我的团队成员已经决定使用createElement作为编码方法。我只是想了解createElement如何更有效。 问题答案: 除了安全之外,使用其他方法还具有一些优点,而不是修改(而不是仅仅丢弃已有的内容并替换它)

  • 来自RFC 2616 http://www.w3.org/protocols/rfc2616/rfc2616-sec14.html#sec14.9.1 与之相比 必须-重新验证 当缓存接收到的响应中存在必须重新验证指令时,该缓存在条目过期后不得使用该条目来响应后续请求,而不首先使用原始服务器重新验证该条目 特别是关于,用户代理实际上是这样根据经验对待这个指令的吗? 如果有和,有什么意义? 请参阅以

  • 本文向大家介绍DNN和GMM的优势相关面试题,主要包含被问及DNN和GMM的优势时的应答技巧和注意事项,需要的朋友参考一下 GMM没有利用帧的上下文信息,GMM不能学习深层非线性特征变换。