我有一个在Digital Ocean上运行的droplet (虚拟机),它是从另一台笔记本电脑创建的。机器被称为“生产”。我有用来创建那台机器的令牌。在这里,我真的很困惑,如何“识别”另一台计算机上的液滴。我不想重新创建它,因为在其中一个容器中,我有一个包含一些数据的数据库。使用docker-machine/compose控制DO液滴似乎很舒服。唯一的问题是,有时我需要在这里换笔记本电脑。另外,有时数字海洋水滴在docker-machine ls中消失得无济于事,但它在DO上运行。
流浪者实际上已经有了数字海洋插件的这种功能,可以承认已经在那里运行VM了。我很确定这也可以通过docker-machine来实现。
发布于 2015-11-05 05:15:53
据我所知,docker-machine“保存状态”的唯一方法是通过它创建的配置文件。使用docker-machine启动的每个主机都会在~/.docker/machine/machines/下创建一个文件夹,其中包含其配置。有关DigitalOcean液滴的信息存储在config.json文件中。让我们来看一个具体的例子:
$ cat ~/.docker/machine/machines/docker-001/config.json | jq .
{
"DriverName": "digitalocean",
"Driver": {
"AccessToken": "9dasd89ssf6542notarealtoken455b44sdgf4685",
"DropletID": 4906043,
"DropletName": "",
"Image": "ubuntu-14-04-x64",
"MachineName": "docker-001",
"IPAddress": "45.32.128.70",
"Region": "nyc3",
"SSHKeyID": 7697371,
"Size": "512mb",
"CaCertPath": "/home/asb/.docker/machine/certs/ca.pem",
"PrivateKeyPath": "/home/asb/.docker/machine/certs/ca-key.pem",
"DriverKeyPath": "",
"SwarmMaster": false,
"SwarmHost": "tcp://0.0.0.0:3376",
"SwarmDiscovery": ""
},
"CaCertPath": "/home/asb/.docker/machine/certs/ca.pem",
"ServerCertPath": "",
"ServerKeyPath": "",
"PrivateKeyPath": "/home/asb/.docker/machine/certs/ca-key.pem",
"ClientCertPath": "",
"SwarmMaster": false,
"SwarmHost": "tcp://0.0.0.0:3376",
"SwarmDiscovery": ""
}因此,在您的计算机之间同步~/.docker/machine/目录应该可以做到这一点。
https://stackoverflow.com/questions/33512299
复制相似问题