我正在尝试将存储驱动程序更改为mac上的devicemapper。并按照Change docker storage driver on Mac OS X
中的步骤操作但我收到以下错误,我的docker for mac是最新版本。
$ docker-machine create --driver virtualbox --engine-storage-driver devicemapper test2
Running pre-create checks...
Creating machine...
(test2) Copying /Users/weiwang/.docker/machine/cache/boot2docker.iso to /Users/weiwang/.docker/machine/machines/test2/boot2docker.iso...
(test2) Creating VirtualBox VM...
(test2) Creating SSH key...
(test2) Starting the VM...
(test2) Check network to re-create if needed...
(test2) Waiting for an IP...
Waiting for machine to be running, this may take a few minutes...
Detecting operating system of created instance...
Waiting for SSH to be available...
Detecting the provisioner...
Provisioning with boot2docker...
Copying certs to the local machine directory...
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...
Checking connection to Docker...
Error creating machine: Error checking the host: Error checking and/or regenerating the certs: There was an error validating certificates for host "192.168.99.105:2376": read tcp 192.168.99.1:49168->192.168.99.105:2376: read: connection reset by peer
You can attempt to regenerate them using 'docker-machine regenerate-certs [name]'.
Be advised that this will trigger a Docker daemon restart which will stop running containers.
答案 0 :(得分:1)
注意:请阅读更新的
不再支持Devicemapper。 你可以使用叠加,这也很不错。
使用方法:
docker-machine create --driver virtualbox --engine-storage-driver overlay test2
修改:
我的初步评论没有正确回答这个问题。在对devicemapper存储驱动程序如何工作的更多研究之后,结果证明默认的boot2docker基本操作系统docker-machine使用不支持devicemapper存储驱动程序。
以下是受支持的发行版列表:
可以找到更详细的信息here。
因此,要解决此问题,您需要在VM中安装上述某个发行版。添加一个SSH服务器和一个无密码的sudo用户,可以在没有tty的情况下运行命令。
我通过在VirtualBox中安装CentOS VM,添加了NAT和仅限主机的驱动程序(用于下载Internet的软件包的NAT,以及用于私有网络的仅限主机的适配器,即docker-machine和VM可以沟通。)
设置VM后,您可以使用以下命令将其连接到docker-machine。 docker-machine将ssh进入VM并检查是否已安装Docker Engine。如果不是这样,它将自动下载和配置。
docker-machine create \
--driver generic \
--generic-ip-address=192.168.58.14 \
--generic-ssh-port 22 \
--generic-ssh-key ~/.ssh/id_rsa \
--engine-storage-driver devicemapper \
docker-centos
有关在此处使用通用驱动程序的更多信息: https://docs.docker.com/machine/drivers/generic/
希望这比最初的答案更能帮助你:)