我正在使用tar.gz
检索wget
文件,并使用tar -xzf
解压缩文件。如果我从正在运行的容器中运行tar
命令,它将成功解压缩并存储为init
,然后我可以在其中使用./init
启动该服务。
我遇到的问题是,当我在tar
的{{1}}指令中使用相同的RUN
命令时,当Dockerfile
时总是出现相同的错误在docker build .
命令之后转到下一条指令。
这是我遇到的错误:
RUN tar -xzf
这是我用于测试的Dockerfile:
OCI runtime create failed: container_linux.go:348: starting container process caused "exec: \"/bin/sh\": stat /bin/sh: no such file or directory": unknown
注意:如果我将FROM amazonlinux:2
RUN yum install -y wget tar gzip
wget https://github.com/just-containers/s6-overlay/releases/download/v1.19.1.1/s6-overlay-amd64.tar.gz
RUN tar -xzf s6-overlay-amd64.tar.gz
RUN echo "test"
中的最后一条指令设为RUN tar -xzf
,它将成功构建,但是尝试在容器中运行映像将导致相同的结果错误。
其他故障排除信息:
在容器内,我运行Dockerfile
以确认从正确的路径(which gzip
)使用了gzip,我还运行了/usr/bin/gzip
,它向产生了以下输出结束:
file https://github.com/just-containers/s6-overlay/releases/download/v1.19.1.1/s6-overlay-amd64.tar.gz
据我所知,Length: 1713081 (1.6M) [application/octet-stream]
仅表示该文件是二进制文件,并且扩展名应该足以告诉我这是一个octet-stream
文件。
对于它的价值,我知道这个gzip
文件已经成功解压缩到另一个构建的tar.gz
正常工作的Dockerfile中:https://hub.docker.com/r/webcenter/activemq/~/dockerfile/
我尝试了在引用的FROM alpine:3.6
中使用的tar
命令,但最终总是遇到相同的错误。