docker - 访问卷内的数据
问题描述
我成功地为我的博客运行了绑定挂载,但是我认为托管卷将是一个更好的选择,而不是绑定挂载,问题是,如果我需要通过 SFTP 或 vim 编辑主题或只是添加一些文件到音量,我该怎么做?现在绑定挂载允许我编辑文件,但我将如何在卷上添加/编辑文件,或者如果我想稍后将这些文件取出?
例如:docker volume create --name test-volume
如何在那里添加/编辑数据或通过 SFTP 访问?
解决方案
正如官方文档所说:
卷存储在由 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 端口,您可以在此处找到更多信息。
推荐阅读
- raspberry-pi - kivy 1.10.1 和 1.11.0 不适用于树莓派 pi4 Buster
- python - 按可变数量的键对嵌套字典进行排序
- python-3.x - 我正在尝试以未知编码在 python 中将 .dat 文件作为 pandas 数据框打开该文件在 Excel 中以所需的格式打开,
- here-api - 计算路线时出现错误 NGEO_ERROR_GRAPH_DISCONNECTED
- javascript - Tweenjs 用bounceOut 和return 缩放
- javascript - 将图像 blob url 转换为 base64
- node.js - 将 Loopback3 迁移到 Loopback4 时出现 S2OError
- python - 热图不支持阿拉伯字母
- android - 如何保存包含特殊符号的字符串资源中的条目
- reactjs - 如何在 Reactjs 中使用 cypress 访问 Formik 表单道具