如何将我的RSA KEY保存在我的Docker机器中?

在由~/.ssh/my_id_rsa docker-machine create的虚拟机中, ~/.ssh/my_id_rsa每当我重新启动时都会消失。 我已阅读docs.docker.com上的文档,但找不到有关此问题的信息。

我的主机是Mac(El Capitan),docker-machine的版本如下:

 $ docker-machine version docker-machine version 0.6.0, build e27fb87 

我已经使用以下选项创build了我的虚拟机:

 $ docker-machine create --driver virtualbox dev 

有没有关于如何解决这个问题的build议? 我应该在哪里看?

更具体地说,我想知道如何避免这个问题:

 (host) $ docker-machine create --driver virtualbox dev (host) $ docker-machine ssh dev (dev) $ ssh-keygen ... (dev) $ ls ~/.ssh authorized_keys authorized_keys2 id_rsa id_rsa.pub (dev) $ logout (host) $ docker-machine restart dev (host) $ docker-machine ssh dev (dev) $ ls ~/.ssh authorized_keys authorized_keys2 

“id_rsa”和“id_rsa.pub”在哪里?

通常情况下,我没有指定任何有关ssh密钥的信息: docker-machine~/.docker/machine/machines/<amachine>/创build一个无密码的ssh密钥~/.docker/machine/machines/<amachine>/

如果你想指定你自己的,请参阅docker-machine文档中的这个例子 :

 $ docker-machine create \ --driver generic \ --generic-ip-address=203.0.113.81 \ --generic-ssh-key=~/.ssh/id_rsa \ vm 

OP增加:

 (dev) $ logout (host) $ docker-machine restart dev (host) $ docker-machine ssh dev 

这就是在虚拟机本身内创buildssh密钥:基于TinyCore的boot2docker只保留/ var / lib / boot2docker中的内容,没有别的。
它挂载/Users ,但boot2docker.iso ,在下次重新启动时,其他任何内容(包括/home/docker boot2docker.iso ~/.ssh )将被重置为boot2docker.iso原始内容。
请参阅“ boot2docker:持久数据 ”

对于那些在会话中持续存在的ssh密钥,您需要:

  • 在/ Users / any / path / you / want中生成它们(因为它们实际上将存储在主机上)
  • 或者在/var/lib/boot2docker生成它们