【发布时间】:2020-03-08 06:22:20
【问题描述】:
我在本地创建了一个卷:
docker volume create <volume_name>
我可以使用以下方法查看它的路径:
docker volume inspect <volume_name>
我复制了一个我想在每次运行时上传到容器的文件,使用:
sudo scp file.txt /data/docker/volumes/store_data/_data/.
现在我手动将文件添加到本地卷中,我想运行安装此本地卷的容器,以便它可以读取其中的 txt 文件:
方法一:
docker run --name <container_name> -v "/data/docker/volumes/store_data/_data:/app" <image_name>
这种方法给出的错误:
FileNotFoundError: [Errno 2] 没有这样的文件或目录:'file.txt'
方法二:
docker run --name <container_name> --mount "source=<volume_name>,target=/app" <image_name>
这种方法给出的错误:
/bin/bash: ./runit.sh: 没有这样的文件或目录
我的 Dockerfile:
FROM python:3.5.5
RUN pip install docker
RUN pip install pandas
RUN pip install scikit-learn
WORKDIR /app
ADD . /app
RUN true
COPY ./runit.sh /app
RUN chmod 755 runit.sh
ENTRYPOINT ["/bin/bash", "./runit.sh"]
CMD []
runit.sh 包含一个 !#bin/python shebang 并执行一个 python 脚本。
如何将卷挂载到容器?我错过了什么? 谢谢。
【问题讨论】:
标签: python docker containers volume mount