尝试创建卷时,Docker卷装载为空

尝试创建卷时,Docker卷装载为空,docker,containers,mount,Docker,Containers,Mount,我是docker的新手,我已经在raspberry pi上设置了一些容器——它们正在运行一个网站,我想保存用户图像。如果读取正确,我需要将docker容器“/world”中的目录装载到我创建的卷中 我创建了卷:docker卷创建图像\u测试 我尝试使用docker run链接它: docker run -it --privileged=true -d --network nginxnetwork --name=schedule-events-backend berthelmaster0802/s

我是docker的新手,我已经在raspberry pi上设置了一些容器——它们正在运行一个网站,我想保存用户图像。如果读取正确,我需要将docker容器“/world”中的目录装载到我创建的卷中

我创建了卷:docker卷创建图像\u测试

我尝试使用docker run链接它:

docker run -it --privileged=true -d --network nginxnetwork --name=schedule-events-backend berthelmaster0802/schedule-events-backend -v images_test:/world uname -m armv7l;
docker inspect schedule-events-backend
        "Mounts": [],
        "Config": {
            "Hostname": "8044b26c4ed7",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "Tty": true,
            "OpenStdin": true,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "ASPNETCORE_URLS=http://+:80",
                "DOTNET_RUNNING_IN_CONTAINER=true"
            ],
我的Dockerfile

FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build-env
WORKDIR /app


COPY *.csproj ./
RUN dotnet restore


COPY . ./
RUN dotnet publish -c Release -o out


FROM mcr.microsoft.com/dotnet/core/aspnet:3.1
WORKDIR /app
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet", "backend.dll"]
当我检查我的容器时:

docker run -it --privileged=true -d --network nginxnetwork --name=schedule-events-backend berthelmaster0802/schedule-events-backend -v images_test:/world uname -m armv7l;
docker inspect schedule-events-backend
        "Mounts": [],
        "Config": {
            "Hostname": "8044b26c4ed7",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "Tty": true,
            "OpenStdin": true,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "ASPNETCORE_URLS=http://+:80",
                "DOTNET_RUNNING_IN_CONTAINER=true"
            ],

我的坐骑似乎还是空的。任何人都能知道我做错了什么?

@DavidMaze解决了这个问题,非常感谢:
“您在映像名称之后添加了-v选项,因此它将被解释为要运行的命令,而不是Docker选项(您也应该在Docker inspect输出中看到这一点)。将选项移到映像名称之前”

您的容器映像中是否存在目录
/world
?@MartinTovmassian Yes,当您说目录
/world
与您正在谈论的Dockerfile位于同一文件夹中时,它与Dockerfile位于同一文件夹中,对吗?但是我不确定mcr.microsoft.com/dotnet/core/aspnet:3.1映像是否有一个嵌入式目录
/world
。您需要在运行容器之前创建它。您在图像名称之后添加了
-v
选项,因此它将被解释为要运行的命令,而不是Docker选项(您也应该在
Docker inspect
输出中看到这一点)。将选项移到图像名称之前。@MartinTovmassian是的,对不起,这太不准确了。在我的应用程序中,我将文件夹/world复制到发布文件夹(在构建时)-这可以在我的本地计算机上完成(并且有效)。但我不确定它在docker是否有效。但发布时,它与Dockerfile(发布文件夹)中引用的.dll文件位于同一文件夹中