我以这种方式执行我的图像:
docker run -it --rm my_image -v ~/.ssh/id_rsa:/home/realtebo/.ssh/id_rsa:ro
因此,我希望执行时在运行时复制我的私人rsa密钥。
这是我用作入口点的shell脚本
pwd
ls -la ~/.ssh
在运行时我得到了
/home/realtebo
total 12
drwxr-xr-x 2 realtebo realtebo 4096 Jan 19 08:20 .
drwxr-xr-x 3 realtebo realtebo 4096 Jan 19 08:37 ..
-rw-r--r-- 1 realtebo realtebo 393 Jan 19 08:20 known_hosts
因此工作目录和用户都可以。
注意:known_hosts是在构建时创建的
为什么我不能达到/home/realtebo/.ssh/id_rsa
我的期望?
我使用做一些调试docker inspect <container_name
。我发现:
"HostConfig": {
"Binds": null,
....
但是有什么问题呢?
解决方案:交换-v
标志和image_name。图像名称必须始终是最后一个参数(后跟可选的cmd才能执行)
所以代替
docker run -it --rm my_image -v ~/.ssh/id_rsa:/home/realtebo/.ssh/id_rsa:ro
我需要以这种方式执行:
docker run -it --rm v ~/.ssh/id_rsa:/home/realtebo/.ssh/id_rsa:ro my_image
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句