正如在此问题中回答的那样:MacOS上的Docker是否支持tmpfs?为了在内存docker中运行,我需要将docker卷移动到ramdisk。在macOS中,我可以通过docker偏好设置来做到这一点。但是,我想编写一个脚本,每次我在机器上运行docker时都可以为我做。是否可以在Mac中使用cmdline指定此设置?

#1 楼

Docker在MacOS的VM中运行。您的选择之一是将整个VM放在tmpfs上。您可以使用以下Shell脚本来创建和安装ramdisk:https://gist.github.com/koshigoe/822455

这里是调整计算机大小的指南。 https://gist.github.com/stefanfoulis/5bd226b25fa0d4baedc4803fc002829e

诀窍是先停止docker,然后可以进行更改并移动


〜 /Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2



并在该位置从此处链接。

#2 楼

我可能会误解这个问题。

运行容器时,您告诉docker在何处放置卷数据。参见文档。您不需要在全局配置中定义它。例如:

docker run -v /Volumes/DockerData/nginx_conf:/etc/nginx/conf.d nginx:latest


上面的代码将运行nginx,但会提取您在nginx_conf中拥有的所有配置文件。

评论


好吧,可能是我误会了。是不是-v只是将某些本地主机目录挂载到docker中?我该如何指定如何在ramdisk中运行docker。换句话说,如何指定nginx在ramdisk中运行。我知道如何使用gui来做,但是我想用cmdline来做

–穆罕默德·哈里斯
18-4-30在17:12



你是对的。这仅适用于容器卷,不适用于docker二进制文件本身。

–雅各布·范纳斯(Jacob Vanus)
18年4月30日在17:19