每当我重新启动它时,由~/.ssh/my_id_rsa
创建的VM中的docker-machine create
都会消失。我已阅读docs.docker.com上的文档,但找不到有关此问题的信息。
我的主机是Mac(El Capitan),而docker-machine的版本如下:
$ docker-machine version
docker-machine version 0.6.0, build e27fb87
我使用以下选项创建了VM:
$ docker-machine create --driver virtualbox dev
关于如何解决此问题有什么建议吗?我应该去哪里看看?
更具体地说,我想知道如何避免此问题:
(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>/
中创建无密码短语的ssh密钥
如果要指定自己的名称,请参见this example from the docker-machine
documentation:
$ 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
那就是在虚拟机本身中创建ssh密钥:基于TinyCore的boot2docker仅保留/ var / lib / boot2docker中的内容,而没有其他保留。
它确实安装了
/Users
,但是除此之外,其他任何东西(包括/home/docker
,~
中的~/.ssh
)在下次重新启动时都会重置为boot2docker.iso
原始内容。参见“boot2docker: Persist data”
为了使这些ssh密钥在整个 session 中持续存在,您需要执行以下任一操作:
/var/lib/boot2docker
生成它们关于docker - 如何将RSA KEY保存在Docker Machine中?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36232018/