Docker:我无法在运行时使用卷绑定

时间:2017-01-19 08:38:57

标签: docker docker-volume

我正在以这种方式执行我的图像:

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,
 ....

但是问题是什么?

1 个答案:

答案 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