在Docker中,为什么build议在Dockerfile中运行`apt-get`更新?
对不起,服务器的东西很新,但很好奇。 为什么在构build容器时运行apt-get update?
我的猜测是,这是出于安全的目的,如果这种情况下,会回答这个问题。
apt-get update
确保所有软件包源和依赖项都是最新版本,它不会更新已安装的现有软件包。 build议您在运行apt-get install
之前始终运行apt-get update
,这样apt-get install
运行时应该使用最新版本的软件包。
RUN apt-get update -q -y && apt-get install -q -y <your-program>
(-q -y标志只是意味着apt进程将安静地运行而不要求您确认,因为这会导致Docker进程失败)
首先,让我们区分apt-get update
和apt-get upgrade
。 update
是获取最新的包索引。 这样可以在进行apt-get install
时不会遇到过时或编辑过的错误。
upgrade
实际上是通过一个升级包。 它通常也需要先前的update
来具有更新的包索引。 如果已经安装的软件包存在软件包或安全问题,则可以这样做。
您通常会在构build中看到update
,因为基本映像可能具有相当过时的包索引,只是执行apt-get install
可能会失败。
upgrade
将不太常见。 但是如果你想确保安装最新的软件包,仍然可以完成。
- 如何处理Docker镜像中的安全更新?
- 是否有可能限制docker守护进程只有build立图像(而不是运行容器)?
- Owasp ZAP在使用“Form-Based-Authentication”进行主动扫描期间不执行身份validationON python项目
- 我可以在Docker Nginx容器中放置哪些function?
- Docker:–ipc =主机和安全
- 限制Docker组中的用户不运行特权容器
- 如何防止docker容器内的代码访问networking?
- 拦截Docker容器https请求stream量与mitmproxy
- 我可以在不使用–privileged标志的情况下运行Docker-in-Docker