Raj*_*thi 5 desktop-environment docker reproducible-build
有关 docker 的常见文档和注释提到了版本控制和共享 Dockerfile ,这应该让任何人都可以构建相同的映像。这听起来不错,但是,我们通常有这样的命令。
RUN apt-get update
pip install..
Run Code Online (Sandbox Code Playgroud)
这可能会根据运行时间安装不同的东西/版本/补丁,并使调试变得困难。
另一方面,共享 docker 镜像并不能给您带来诸如版本控制和查看两个镜像之间到底有什么不同之类的好处。
小智 3
我想我更喜欢分享 Dockerfile。显然,您需要FROM
在 Dockerfile 的语句中指定一个版本。例如,不同的 Ubuntu 版本将有不同的可用软件包。
对于系统或 -dev 依赖项,您可能实际上希望让版本自由浮动以始终安装最新版本。
apt-get
例如,对于安装的任何程序,curl
您可以使用以下命令获取版本号
apt-cache policy curl | grep -oP 'Installed: \K\S+'
Run Code Online (Sandbox Code Playgroud)
然后编辑你的 Dockerfile 来读取类似的内容
RUN apt-get install curl=7.47.0-1ubuntu2.2
Run Code Online (Sandbox Code Playgroud)
Python 版本可以通过pip
. 提取已安装软件包的所有版本号并将它们存储在需求文件中,如下所示:
RUN apt-get install curl=7.47.0-1ubuntu2.2
Run Code Online (Sandbox Code Playgroud)
然后在你的 Dockerfile 中运行
RUN pip install -r requirements.txt
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
627 次 |
最近记录: |