我正在尝试移动" / var / lib / docker"文件夹从一个磁盘到另一个磁盘,因为这占用了太多空间。我一直遇到与权限有关的一些错误!
根据这些问题:
我的磁盘已安装在" / data"我复制了" / var / lib / docker"文件夹到" / data / docker"
这就是我的尝试:
然而,在所有情况下,当我尝试在容器内启动关于缺少权限的服务以写入" / dev / null"时,我收到错误(以root用户身份)。
我只是将文件夹的副本复制到新磁盘。这也复制了所有权限(这是一个ext4系统,具有与现在存在docker的原始磁盘相同的文件系统级权限。)
规格:
如何正确移动数据?我需要先升级吗?
答案 0 :(得分:6)
我刚刚做了以下事情,似乎运作良好:
以root身份:
service docker stop
mv /var/lib/docker /data/
# reboot and get root
service docker stop
rm -rf /var/lib/docker && ln -s /data/docker /var/lib/
service docker start
答案 1 :(得分:4)
添加custom startup options to docker
in Debian / Ubuntu(例如使用不同的data
目录):
修改/lib/systemd/system/docker.service
:
[Service]
EnvironmentFile=-/etc/default/docker
ExecStart=/usr/bin/docker -d $DOCKER_OPTS -H fd://
MountFlags=slave
LimitNOFILE=1048576
LimitNPROC=1048576
LimitCORE=infinity
在/etc/default/docker
集合中:
DOCKER_OPTS="-g /srv/docker"
在Ubuntu上的最新Docker版本中,您需要编辑/etc/default/daemon.json
:
{
"data-root": "/new/location"
}