Docker卷清除windows 10上容器中的文件夹
我创建了一个带有nodejs服务器的简单dockerDocker卷清除windows 10上容器中的文件夹,docker,docker-compose,docker-volume,Docker,Docker Compose,Docker Volume,我创建了一个带有nodejs服务器的简单docker FROM node:12.16.1-alpine WORKDIR /usr/src COPY ./app/package.json . RUN yarn COPY ./app ./app 这非常有效,服务正在运行 现在,我正在尝试使用docker compose运行docker,其中包含一个用于本地开发的卷: version: "3.4" services: web: image: my-node-app
FROM node:12.16.1-alpine
WORKDIR /usr/src
COPY ./app/package.json .
RUN yarn
COPY ./app ./app
这非常有效,服务正在运行
现在,我正在尝试使用docker compose运行docker,其中包含一个用于本地开发的卷:
version: "3.4"
services:
web:
image: my-node-app
volumes:
- ./app:/usr/src/app
ports:
- "8080:8080"
command: ["yarn", "start"]
build:
context: .
dockerfile: ./app/Dockerfile
这是我在主机中的文件夹结构:
服务在没有卷的情况下工作。添加卷时,/usr/src/app是空的(即使它已满,如文件夹结构所示)
检查docker容器时,我得到以下装载配置:
"Mounts": [
{
"Type": "bind",
"Source": "/d/development/dockerNCo/app",
"Destination": "/usr/src/app",
"Mode": "rw",
"RW": true,
"Propagation": "rprivate"
}
],
但是,通过vscode的shell浏览文件夹时,它仍然显示为空
此外,命令:docker volume ls
显示一个空列表
我正在windows 10上运行docker 18.09.3
配置有什么问题吗?它应该如何工作?将卷添加到您的服务将删除所有文件
/usr/src/app
,并从主机装载/app
的内容。这也意味着在docker映像中运行warn
生成的所有文件都将丢失,因为它们只存在于docker映像中。这是在docker中添加卷的预期行为,不是bug
volumes:
- ./app:/usr/src/app
- 通常,对于非开发环境,您根本不需要卷
- 如果要查看主机上的文件,需要从docker compose运行
命令(可以使用入口点)warn
/usr/src/app
文件夹中看不到文件,即使在/app
主机中存在文件。这是/d/development/dockerNCo/app
的正确路径吗?是的。我认为问题源于windows权限问题。配置似乎很好,我正在其他机器上使用它。我想docker无法在windows home版本中完全运行:(如果您在windows上运行此程序,则需要添加正确的路径。下面是描述如何执行此操作的链接,谢谢。我以前尝试过本文中所述的内容(我已经为此问题挣扎了一天)。它不工作。问题是-源中的路径是正确的。这似乎是权限问题。