PPe*_*kov 5 bash docker jaeger
我正在尝试将 bash 添加到“FROM Scratch”docker 映像中。
我已经从 docker hub ( https://hub.docker.com/_/bash )的官方 bash docker 映像复制了 bash 二进制文件
docker run -d bash:latest sleep 100
docker cp "$bash_container_id":/usr/local/bin/bash .
Run Code Online (Sandbox Code Playgroud)
我的 Dockerfile 如下
FROM jaegertracing/all-in-one:latest
COPY bin/bash /bin
ENV PATH "$PATH:bin/bash"
RUN ["bash"]
Run Code Online (Sandbox Code Playgroud)
在构建时,会导致
Sending build context to Docker daemon 5.213MB
Step 1/4 : FROM jaegertracing/all-in-one:latest
latest: Pulling from jaegertracing/all-in-one
023a144cdcf7: Already exists
d247ed88ca7d: Already exists
dc4682d67823: Already exists
Status: Downloaded newer image for jaegertracing/all-in-one:latest
---> b64ba73d1fa4
Step 2/4 : COPY bin/bash /bin
---> b6e8ae824d24
Step 3/4 : ENV PATH "$PATH:bin/bash"
---> Running in eda2042dff57
Removing intermediate container eda2042dff57
---> f1288ded6fcf
Step 4/4 : RUN ["bash"]
---> Running in 616c80b0cb8c
OCI runtime create failed: container_linux.go:348: starting container process caused "exec: \"bash\": executable file not found in $PATH": unknown
Run Code Online (Sandbox Code Playgroud)
该jaegertracing/all-in-one图像使用的是“Scratch”基本图像,其中不包含任何内容(没有 sh、没有 bash 等),出于调试原因,我尝试向其中添加 bash。
有什么建议么?提前致谢
您没有$PATH正确配置。该路径是一系列用于在其中查找可执行文件的目录,而不是可执行文件本身的路径。另外,由于您要移动bin/bash到/bin/bash,因此您不必担心添加bin/bash到路径。但无论哪种方式,你想要的是
ENV PATH "$PATH:bin"ENV PATH "$PATH:/bin"我相信你想要的是选项#2,因为它是你将 bash 复制到的位置。
| 归档时间: |
|
| 查看次数: |
3460 次 |
| 最近记录: |