【发布时间】:2020-07-08 07:58:27
【问题描述】:
我有一个 TypeScript 代码,它读取目录的内容,并且必须每隔一段时间一一删除它们。
在本地一切正常。我为我的代码制作了一个 docker 容器并希望达到相同的目的,但是,我意识到目录内容与构建容器时存在的相同。
至于我的理解,docker容器和本地文件系统之间的连接是缺失的。
我一直在bind 和volume 选项附近徘徊,我偶然发现了以下简单教程:
How To Share Data Between the Docker Container and the Host
根据之前的教程,理论上我应该可以达到我的目的:
如果您对 ~/nginxlogs 文件夹进行任何更改,您也可以从 Docker 容器中实时查看它们。
但是,我遵循完全相同的步骤,但仍然看不到本地所做的更改反映在 docker 容器中,反之亦然。
我的问题是:如何从 docker 容器访问我的本地文件系统以读取/写入/删除文件?
更新
这是我的dockerfile
FROM ampervue/ffmpeg
RUN curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
RUN apt-get update -qq && apt-get install -y --force-yes \
nodejs; \
apt-get clean
RUN npm install -g fluent-ffmpeg
RUN rm -rf /usr/local/src
RUN apt-get autoremove -y; apt-get clean -y
WORKDIR /work
COPY package.json .
COPY . .
CMD ["node", "sizeCalculator.js"]
【问题讨论】:
-
使用卷挂载可以在容器和主机文件系统之间共享文件
-
如果您可以分享您的
dockerfile或docker-compose,那么我可以帮助您创建卷挂载:P -
你要找的都是可能的,分享一下dockerfile
-
好的,菲利普斯,你已经接近了。您上面缺少的绝对是一个标志(也许
-v?)。在您docker run ...之后,您可以使用docker inspect ...并检查“安装”部分,如果您的Source和Destination设置正确。 (我还删除了一些 cmets 以保持页面整洁)。 -
感谢 Tgogos 的帮助。实际上@DupinderSingh 的回答对我有用并澄清了这个问题。我的标志和目录有问题。
标签: docker filesystems