大家好,我试图在基于ubuntu:14.04的docker容器中安装rvm。在这个过程中,我发现有些人会这样做来确保docker命令也能与bash一起运行:
RUN ln -fs /bin/bash /bin/sh
现在出现了一些奇怪的问题,我希望你们中的某个人可以向我解释一下:
→ docker run -it --rm d81ff50de1ce /bin/bash
root@e93a877ab3dc:/# ls -lah /bin
....
lrwxrwxrwx 1 root root 9 Mar 1 16:15 sh -> /bin/bash
lrwxrwxrwx 1 root root 9 Mar 1 16:15 sh.distrib -> /bin/bash
...
root@e93a877ab3dc:/# /bin/sh
sh-4.3# echo $0
/bin/sh
有人能解释一下这里发生了什么吗?我知道我可以在Dockerfile中使用bash -c
前缀来执行命令,但我想了解这里正在发生的事情,并且如果可能的话仍然放弃在Dockerfile中使用bash -c
前缀。
非常感谢, 罗宾