有没有一种方法可以删除Docker容器中主机的文件?

时间:2019-12-29 01:21:59

标签: docker volumes

我是Docker卷的新手,下一个是我的用例:

我有两个不同的容器在同一主机上运行,​​并且都需要从中读取/写入文件。据我了解,我应该使用docker卷,但是在尝试之前,我想确保可以从容器内部删除主机文件系统的文件(例如,使用golang应用)

2 个答案:

答案 0 :(得分:0)

也许,您应该使用docker卷。它可以在主机和容器之间共享目录。例如,要在/ mnt中读取/写入文件,可以将/ mnt挂载到容器。

docker run -it -v /mnt:/mnt ubuntu:latest touch /mnt/hello.log

现在,/mnt/hello.log已创建。您可以在主机文件系统中编辑文件/mnt/hello.log。

然后

docker run -it -v /mnt:/mnt ubuntu:latest rm /mnt/hello.log

执行上述命令后,将从容器内部删除文件/mnt/hello.log。

实际上,您可以像下面这样删除golang中的文件:

os.Remove("/mnt/hello.log")

答案 1 :(得分:0)

使用docker exec -it container_id bash

这会将您带到该ID的容器中。您可以根据需要单独管理该容器中的文件。在容器中处理文件时,只需遵循一般的unix命令,即可正常工作。