我安装了ubuntu 18.04 LTS,并检查了可同时安装的docker(17.06.2-ce)设置。
我通过启动hello-world(sudo docker run hello-world
)进行了测试:
[...] 您好,Docker! 此消息表明您的安装似乎正常工作。 [...]
我在名为/raid
的文件夹上安装了一个软件团队,并在其中创建了一个文件夹/docker-data
。
我尝试通过遵循网络上的一些教程……徒劳地将docker的根目录更改为/raid/docker-data/
。
these solutions don't work either:
/etc/default/docker
:我找不到这个Docker根目录:/ var / snap / docker / common / var-lib-docker
最近几个月有人能做到这一点吗?
(这是我的ubuntu的第三个安装,我刚把它弄坏了...)
显然在Ubuntu 18.04 LTS上,docker 17.06.2-它需要使用snap,我将以这种方式进行挖掘。稍后我将尝试返回答案...
答案 0 :(得分:0)
常见的解决方案是移动数据并创建符号链接:
systemctl stop docker
mv /var/lib/docker /raid/docker-data
ln -s /raid/docker-data /var/lib/docker
systemctl start docker
您还可以通过/etc/docker/daemon.json中的设置向docker告知新位置。如果没有此文件,则可以使用以下内容创建一个文件:
{
"data-root": "/raid/docker-data"
}
我建议第一个解决方案,因为您会发现许多第三方工具都将docker放置在/ var / lib / docker中。
答案 1 :(得分:0)
对不起,您的回复很晚。
在更仔细地研究它之后,来解决我的问题:我在Ubuntu 18.04上,我只能通过snap install
(或remove
)docker
添加或删除docker服务。
在/var/snap/
上安装一个docker party
所以我这样转置您的解决方案:
mv /var/snap/ /raid/snap
ln -s /raid/snap /var/snap
最后我通过snap install docker
我使用sudo docker info
进行了测试,并且出现了此错误消息:
cannot perform operation: mount --rbind /var/snap /tmp/snap.rootfs_RRAjdq//var/snap: Permission denied
({snap.rootfs_*
,因为结尾不会在每次命令启动时停止更改)
但是安装顺利,显然,某些docker当然在/raid/snap
上。
答案 2 :(得分:0)
我再次向您提供可以让我解决此问题的解决方案。
cannot perform operation: mount --rbind /var/snap /tmp/snap.rootfs_RRAjdq//var/snap: Permission denied
我知道为什么:https://bugs.launchpad.net/snapcraft/+bug/1620771:
当/ home是符号链接时,快照不起作用。
当/ home是真实目录可正常工作时,请参见下面的输出
就我而言:
当/ raid / snap是一个符号链接时,捕捉不起作用。
当/ var / snap是真实目录时,它会工作。
我删除了docker。我不得不重新安装snapcraf(snapd),因为我对其进行了文件修改(错误方式)
从那里,我停止了已锁定的服务:
sudo mv /var/snap/ /raid/snap
sudo mount --rbind /raid/snap /var/snap
我启动了快照服务。
sudo snap install docker
sudo docker info
<=测试
sudo docker run hello-world
<=测试
我在fstab上固定了我的坐骑:
/raid/snap /var/snap none bind
我重新启动了OS:至少对于我来说,它可以正常工作。 (我一直在检查文件一致性处理,以检查docker文件在突击检查中是否进展顺利... )
答案 3 :(得分:0)
更改 Docker 根存储(数据路径):
运行此命令以查找 docker 数据路径:
$ sudo docker info | grep -i root
默认路径:
root@user-testing-HP-ProBook-4540s:/etc/docker# docker info | grep -i root
Root Dir: /var/lib/docker/aufs
WARNING: No swap limit support
Docker Root Dir: /var/lib/docker
首先,停止泊坞窗:
sudo service docker stop
将当前的数据路径复制到新路径:
sudo rsync -aqxP /var/lib/docker /data/docker-data/
在 (/etc/docker/daemon.json) 文件中添加以下内容: (如果文件不存在,请使用 vim 或您的收藏编辑器创建文件(sudo vim /etc/docker/deamon.json))
{
"data-root": "/data/docker-data/docker"
}
符合 cat 命令:
cat /etc/docker/deamon.json
输出如下:
root@user-testing-HP-ProBook-4540s:/home/user/Downloads# cat /etc/docker/daemon.json
{
"data-root": "/data/docker-data/docker"
}
root@user-testing-HP-ProBook-4540s:/home/user/Downloads#
启动泊坞窗:
sudo service docker start
现在检查根(数据路径)路径:
$ sudo docker info | grep -i root
输出将是这样的:
root@user-testing-HP-ProBook-4540s:/home/user/Downloads# sudo docker info | grep -i root
Root Dir: /data/docker-data/docker/aufs
WARNING: No swap limit support
Docker Root Dir: /data/docker-data/docker
root@user-testing-HP-ProBook-4540s:/home/user/Downloads#