无法将本地目录挂载到Docker容器

时间:2019-11-12 14:12:48

标签: python docker containers volume mount

我已经使用以下方法在本地创建了一个卷:

docker volume create <volume_name>

我可以使用以下方法查看其路径:

docker volume inspect <volume_name>

我使用以下命令将每次要上传的文件复制到容器中

sudo scp file.txt /data/docker/volumes/store_data/_data/.

现在,我手动将文件添加到本地卷中,我想运行安装此本地卷的容器,以便它可以读取其中的txt文件:

方法1:

docker run --name <container_name> -v "/data/docker/volumes/store_data/_data:/app" <image_name>

此方法产生的错误:

FileNotFoundError:[错误2]没有这样的文件或目录:'file.txt'

方法2:

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脚本。

如何将卷安装到容器上?我想念什么? 谢谢。

1 个答案:

答案 0 :(得分:0)

就像这样运行您的conatiner:

docker run --name <container_name> <image_name>

您已经复制了Dockerfile中的所有内容,将volumes与相同的目标目录/app一起使用将仅覆盖运行时中的所有数据。