我已经使用以下方法在本地创建了一个卷:
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脚本。
如何将卷安装到容器上?我想念什么? 谢谢。
答案 0 :(得分:0)
就像这样运行您的conatiner:
docker run --name <container_name> <image_name>
您已经复制了Dockerfile中的所有内容,将volumes
与相同的目标目录/app
一起使用将仅覆盖运行时中的所有数据。