Mik*_*loy 12 docker alpine-linux
我正在构建一个新的Docker镜像:
FROM alpine:3.4
RUN apk upgrade --update
Run Code Online (Sandbox Code Playgroud)
然而,它失败了错误:
[INFO] /bin/sh: apk: not found
Run Code Online (Sandbox Code Playgroud)
这似乎在我的本地机器(Mac OSX)上正常工作,但是当我尝试在Linux CentOS 7机器上构建它时它失败了.
我遇到了这样的事情。这完全让我大吃一惊,我怀疑自己的理智有一段时间,直到我意识到那/sbin不在我的容器中PATH。
# interactive session
PATH="${PATH}:/sbin"
# Dockerfile
ENV PATH="${PATH}:/sbin"
Run Code Online (Sandbox Code Playgroud)
如果您command -v apk在容器的基本映像中输入交互式会话,并将该目录与容器的目录进行比较$PATH,则应该让您一目了然。
如果command -v apk不适合你,你可以尝试find通过
find / -name apk -type f -exec dirname "{}" ";"
Run Code Online (Sandbox Code Playgroud)
据我所知,这始终在/sbin. 无论你如何到达那里,只要确保apk二进制文件的位置是$PATH
TL;DR - 如果您看到此错误,请确保您的可执行文件dirname在您的$PATH
| 归档时间: |
|
| 查看次数: |
17895 次 |
| 最近记录: |