我有一个docker文件,如下所示:
FROM scratch
ARG VERSION=NOT_SET
ENV VERSION $VERSION
COPY foobar foobar
COPY foobar-*.yaml /etc/
COPY jwt/ /etc/jwt/
EXPOSE 8082
ENTRYPOINT ["./foobar"]
CMD ["-config", "/etc/foobar-local.yaml"]
Run Code Online (Sandbox Code Playgroud)
现在,docker ps显示以下内容:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
653a9b287eb6 7693481.dkr.ecr.us-east-1.amazonaws.com/foobar:0.0.1 "./foobar -config /e" About a minute ago Up About a minute foobar
Run Code Online (Sandbox Code Playgroud)
当我尝试使用以下命令执行该容器时:
sudo docker exec -it 653a9b287eb6 /bin/bash
Run Code Online (Sandbox Code Playgroud)
它显示以下错误:
rpc error: code = 2 desc = oci runtime error:
exec failed: exec: "/bin/bash": stat /bin/bash: no such file or directory
Run Code Online (Sandbox Code Playgroud)
您需要在空的基础映像(SCRATCH)中添加一个外壳,以便对其进行附加。
目前,您的映像仅包含可执行文件,这还远远不够。
FROM scratch字面上是一个空的零字节映像/文件系统,您可以在其中添加所有内容。
例如,查看hello-worldwhich,产生的图像总共为860字节。
如果你需要一个壳通过泊坞窗exec来重视它,从开始的小象的图像高山(只具有/bin/sh虽然:你需要apk add bash添加bash,如评论下面通过user2915097)。
| 归档时间: |
|
| 查看次数: |
7398 次 |
| 最近记录: |