在Alpine docker中安装软件包

123

我该如何编写Dockerfile命令,在alpine docker镜像中安装以下软件:

  1. software-properties-common
  2. openjdk-8-jdk
  3. python3
  4. nltk
  5. Flask

Stack Overflow是一个关于编程和开发问题的网站。这个问题似乎不属于编程或开发范畴。请参阅帮助中心中的我可以在这里问什么样的问题。也许超级用户Unix&Linux Stack Exchange更适合提问。 - jww
10
这个问题与编写Docker文件的编程问题相关,因此它是合适的话题。 - PaulNUK
1个回答

252

apk 是 Alpine 中与 aptapt-get 相对应的命令。

一个典型的 Dockerfile 会包含如下内容:

RUN apk add --no-cache wget

--no-cache等同于:apk add wget && rm -rf /var/cache/apk/*

或在--no-cache选项可用之前:

RUN apk update && apk add wget

Alpine的rm -rf /var/cache/apk/*等同于Debian的rm -rf /var/lib/apt/lists/*

查看Alpine与其他发行版的比较以获取更多细节。


88
最近版本的alpine也允许使用--no-cache选项。使用该选项,不会创建任何/var/cache文件,并且它会自动运行update。因此,相当于您的示例的命令是apk add --no-cache wget - thaJeztah
4
也点赞以弥补神秘的踩票 :) - thaJeztah
还需要使用apk update来更新吗?或者在使用apk add --no-cache时已经隐含了更新的操作? - majorgear
还需要使用apk update来更新吗?还是在使用apk add --no-cache时已经隐含了更新的操作? - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接