首页 > 解决方案 > 访问卷内的数据

问题描述

我成功地为我的博客运行了绑定挂载,但是我认为托管卷将是一个更好的选择,而不是绑定挂载,问题是,如果我需要通过 SFTP 或 vim 编辑主题或只是添加一些文件到音量,我该怎么做?现在绑定挂载允许我编辑文件,但我将如何在卷上添加/编辑文件,或者如果我想稍后将这些文件取出?

例如:docker volume create --name test-volume

如何在那里添加/编辑数据或通过 SFTP 访问?

标签: dockerdocker-composedockerfile

解决方案


正如官方文档所说:

卷存储在由 Docker 管理的主机文件系统的一部分(Linux 上的 /var/lib/docker/volumes/)。非 Docker 进程不应修改文件系统的这一部分。

所以想法是建立一个新的容器,绑定工作目录并挂载一个卷,然后管理其中的文件。

例如,假设您的工作目录是/app

docker run \
  -v $PROJECT:/tmp/project
  -v test-volume:/app \
  alpine \
  /bin/sh -c "cp /tmp/project/* /app"

可以使用同步工具,比如这里

要通过 SFTP 通过容器本身管理卷的数据,您需要确保您使用的映像支持 SSH 连接并映射 22 端口,您可以在此处找到更多信息。


推荐阅读