Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 尝试将卷绑定到docker容器_Python_Docker_Dockerfile_Docker Volume - Fatal编程技术网

Python 尝试将卷绑定到docker容器

Python 尝试将卷绑定到docker容器,python,docker,dockerfile,docker-volume,Python,Docker,Dockerfile,Docker Volume,我正在尝试将卷装载到docker容器,但遇到了一些问题。我在docker容器中有一个简单的python脚本,它创建了文件“links.json”,我想从文件系统访问这个文件 这是我的Dockerfile: FROM python:3.6-slim COPY . /srv/app WORKDIR /srv/app RUN pip install -r requirements.txt --src /usr/local/src CMD [ "python", "main.py" ] 我已使用

我正在尝试将卷装载到docker容器,但遇到了一些问题。我在docker容器中有一个简单的python脚本,它创建了文件“links.json”,我想从文件系统访问这个文件

这是我的Dockerfile:

FROM python:3.6-slim

COPY . /srv/app
WORKDIR /srv/app

RUN pip install -r requirements.txt --src /usr/local/src

CMD [ "python", "main.py" ]
我已使用以下内容创建了卷:

docker volume create my-data
我使用以下命令运行此容器:

docker run --mount source=my-data,target=/srv/app 3743b8d3b043
我在MacOS上试过

当我写到:
docker volume inspect my data
时,我得到了以下结果:

[
    {
        "CreatedAt": "2019-08-15T08:30:48Z",
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/my-data/_data",
        "Name": "my-data",
        "Options": {},
        "Scope": "local"
    }
]
但是像/var/lib/docker/volumes这样的所有目录以及这段代码的目录都是空的。。你知道哪里出了问题吗


非常感谢

您正在覆盖您在
生成过程中添加的
/srv/app
中的所有数据。您可以将您的
挂载更改为将其他目标用作
/srv/app

更新

使用以下方法启动容器:

docker run -v /ful/path/folder:/srv/app/data IMAGE

谢谢,这是一个很好的观点。我尝试将我的
links.json
文件写入/srv/app/data,再次构建容器并运行
docker run--mount source=my data,target=/srv/app/data 96c79f28f40d
。。但是目录
/var/lib/docker/volumes/my data/\u data
仍然是空的。。实际上,目录/var/lib/docker并不存在。这不会有问题吧?我想你是在windows上?不,我在windows上使用MacOSOK,在虚拟机中使用mac docker startet,因此路径
/var/lib/docker/volumes/
在你的
虚拟机中,而不是
主机中。我建议您使用
-v/ful/path/folder:/srv/app/data
而不是mount