在运行中的Ubuntu系统中,我可以通过使用daemon.json或service成功地将Docker的默认数据位置从mouseup
更改为from tkinter import *
import time
root = Tk()
canvas = Canvas(root)
canvas.pack()
everysecond = [(99), (27),
(107), (29),
(115), (29),
(122), (33),
(129), (35),
(135), (38),
(142), (43),
(147), (48),
(153), (52),
(157), (57),
(161), (64),
(165), (72),
(168), (79),
(169), (85),
(171), (92),
(169), (99),
(171), (108),
(169), (115),
(168), (123),
(165), (130),
(160), (134),
(158), (142),
(153), (147),
(148), (154),
(142), (158),
(136), (160),
(129), (166),
(122), (168),
(114), (170),
(107), (170),
(100), (169),
(92), (169),
(85), (170),
(79), (168),
(72), (166),
(67), (160),
(58), (158),
(52), (153),
(48), (148),
(43), (142),
(38), (134),
(33), (128),
(34), (121),
(30), (114),
(31), (107),
(29), (102),
(30), (91),
(31), (86),
(32), (79),
(35), (70),
(36), (70),
(44), (58),
(47), (53),
(53), (47),
(58), (41),
(63), (37),
(71), (34),
(78), (32),
(85), (30),
(92), (29)]
def second():
j = 1
k = 0
for i in range(0, 60):
canvas.create_line((everysecond[k], everysecond[j], 100, 100), width=2, fill='red')
j = j + 2
k = k + 2
canvas.after(1000, second)
root.mainloop()
。但是,只有在引导系统后停止并启动服务后,这种情况才会改变。在常规启动中,服务从快照位置开始。
停止Docker
/var/snap/docker/common/var-lib/docker
编辑/etc/docker/daemon.json
/dockerdata
或者,编辑/lib/systemd/system/docker.service(不是全部!)
sudo systemctl stop docker
然后运行
{
"data-root": "/dockerdata"
}
这将起作用,直到您重新引导系统。重新启动时,Docker将运行原始的Root Dir。如上所述重新启动Docker,然后根据所需设置更改Root Dir。 ...
ExecStart=/usr/bin/dockerd --data-root /dockerdata -H fd:// --containerd=/run/containerd/containerd.sock
...
和sudo systemctl daemon-reload
sudo systemctl start docker
的输出如下。
docker version
答案 0 :(得分:0)
TL; DR:在安装Docker之前,请在基准Ubuntu Server 20.04 LTS上运行sudo snap remove docker && sudo apt remove docker
。
Ubuntu现在在两个地方安装了Docker。有snap和apt版本。重新启动守护程序时,它将使用apt版本。按照Docker文档中的安装说明进行操作,仅删除了apt版本,并将其重定向到Docker存储库。运行sudo snap remove docker
并重新启动后,该守护程序现在从正确的Root Dir开始。
为了证明安装正确,我删除了所有容器并重建了它们。他们正确地从/dockerdata
提取了数据,并完全像以前的容器一样工作。此外,它们现在出现在以前没有的docker ps
中。
感谢Yi Zhao的提示。
答案 1 :(得分:0)
对于2020年11月->如果您使用的是Windows 10,请安装wsl2并为Windows安装docker。
要容易得多。
Docker作为wsl2的单独容器运行,因此已经预先配置。您只需要将ext.hdd重定位到非C驱动器。
如果在linux上,那么是的,所有这些配置。
下载发行版 https://docs.microsoft.com/en-us/windows/wsl/install-manual
安装在其他驱动器中 https://kontext.tech/column/tools/308/how-to-install-windows-subsystem-for-linux-on-a-non-c-drive
将docker安装在另一个驱动器中 How can I change the location of docker images when using WSL2 with Windows 10 Home? https://serverfault.com/questions/975980/how-to-move-docker-images-to-other-drive-in-windows