Docker for Mac运行的Alpine Linux VM不支持该
devicemapper驱动程序,但可以运行该
overlay2驱动程序。
尚无用于管理此配置的UI, 而Docker for Mac UI已更新为包括“守护程序”部分,您可以在其中编辑
docker.json配置文件。
转到Docker图标>“首选项”>“守护程序”>“高级”,然后将设置
storage-driver为
overlay2
{ "storage-driver": "overlay2" }手动配置编辑
您可以在中在Mac上修改Docker配置文件
~/Library/Containers/com.docker.docker/Data/database。
该目录是git repo,通常为空白:
$ cd ~/Library/Containers/com.docker.docker/Data/database$ ls -altotal 0drwxr-xr-x 4 user staff 136 28 Sep 02:46 .drwxr-xr-x 20 user staff 680 28 Sep 02:54 ..drwxr-xr-x 11 user staff 374 28 Sep 02:58 .git
虽然git数据库中有文件
$ git statusOn branch masterChanges not staged for commit: (use "git add/rm <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) deleted: com.docker.driver.amd64-linux/etc/docker/daemon.json deleted: com.docker.driver.amd64-linux/etc/hostname deleted: com.docker.driver.amd64-linux/etc/sysctl.conf....
要从git检索以前的内容,请运行:
$ git reset --hard HEAD
编辑现在存在的docker daemon配置文件,以包括
overlay2存储驱动程序。
$ vi com.docker.driver.amd64-linux/etc/docker/daemon.json
必须
/var/lib/docker先删除VM上的Docker,然后才能使用新的存储驱动程序。这将 删除
您所有的容器,图像和卷!事先备份所需的任何内容。
附加到VM的tty
screen(
brew install screen如果没有)
$ screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
使用登录
root,没有密码
moby:~# /etc/init.d/docker stopmoby:~# rm -rf /var/lib/docker/*
使用
ctrl- 退出提示
d
使用
ctrl- 退出屏幕会话,
a然后
d
现在,您可以将更改重新提交到Mac
$ git commit -m overlay com.docker.driver.amd64-linux/etc/docker/daemon.json
更改将由Docker在提交时自动获取,并且VM将重新启动。
现在,您有了一个与
overlay2存储驱动程序一起运行的Docker for Mac VM
。如果那不能解决您的问题,则可以通过一些工作来弄清楚如何
devicemapper在VM中获得支持。一旦弄清楚了,这些步骤都是相同的。
注意 升级到Mac的Docker可能会引起一些怪异。上一次升级时,我的所有容器/图像都从
docker ps或消失了
dockerimages。我不得不再次重置git存储库并重新启动Docker,以使配置更改恢复,然后所有数据恢复。



