我正在以这种方式执行我的图像:
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,
....
但是问题是什么?
答案 0 :(得分:0)
解决方案:交换-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