我们正试图弄清楚如何更改docker容器的目标位置。默认情况下,它在/ var / lib / docker / containers中创建。 让我们说我想将它移动到/ tmp / docker。 到目前为止,我所能找到的只是码头工作量,但它没有做到这个用途的目的是不同的。
我们想要做的是将容器放在服务器的RAM内存中,这样我们就可以大大减少构建二进制文件所花费的时间。
有可能吗?
此致 约旦
答案 0 :(得分:4)
似乎有一个-g命令行选项,我真的不明白为什么它被称为图形...
-g, --graph="/var/lib/docker" Path to use as the root of the Docker runtime
https://docs.docker.com/reference/commandline/cli/
mkdir /tmp/docker && docker -g /tmp/docker ...
答案 1 :(得分:1)
我们尝试了以下步骤将Docket容器文件夹转到不同的文件夹:
停止Docker服务
chkconfig docker off
重启服务器
使用将文件/ var / lib / docker复制到/ targetfolder / docker rsync -a --sparse --progress / var / lib / docker / apps / docker
编辑配置:/lib/systemd/system/docker.service ExecStart = / usr / bin / dockerd -g / targetfolder / docker /
mv / var / lib / docker / var / lib / docker1(备份)
ln -s / targetfolder / docker / var / lib / docker(可选 - )
7.chkconfig docker on
8.systemctl daemon-reload
9.systemctl restart docker
答案 2 :(得分:1)
见@thaJeztah https://github.com/docker/docker/issues/3127
也可以使用daemon.json配置文件而不是/ etc / default / docker。 / etc / default / docker仅用于运行upstart的系统,而不用于运行systemd的系统,因此更具可移植性。此外,它允许重新加载一些配置设置,而无需重新启动守护程序;
https://docs.docker.com/engine/reference/commandline/daemon/#daemon-configuration-file
E.g
我使用的是Ubuntu 16.04.1,但这并不重要,因为这是一个交叉发行版的解决方案。
将这个json放入/etc/docker/daemon.json:
{ “graph”:“/ path / to / docker” } 为我工作,我不必混淆新贵或系统。
答案 3 :(得分:-1)
停止泊坞服务:
service docker stop
将容器文件夹移动到ssd:
mv /var/lib/docker/containers /mnt/ssd_example/
创建符号链接到默认的docker容器文件夹:
ln -s /mnt/ssd_example/containers/ /var/lib/docker/containers
启动泊坞窗服务:
service docker start