Docker 卷 - windows 主机和 linux 容器
Docker volume - windows host and linux container
我有这个非常简单的 Dockerfile :
FROM node:current-alpine3.14 AS baseImage
WORKDIR /app
COPY package* .
RUN npm install
COPY . .
CMD ["npm", "run", "watch"]
然后我运行:
docker build . -t myImage
然后docker run -p 8080:3000 -v /c/myFolder:/app myImage
所以基本上我想在容器中的应用程序文件夹和主机上的 C:\myFolder 之间“共享”。
但它不起作用:
例如,如果我更新 C:\myFolder\index.js,容器中不会发生更改。
这是“坐骑”部分下的 docker inspect myContainer
returns。
与转义/路径格式有关吗?或者我是否遗漏了使用 volume 的一些基本知识?或 WORKDIR ?
坐骑:
Mounts 似乎将 "Program Files/Git/app" 视为目标/容器文件夹,但它应该只是 "/app"
绑定:
命令
docker run -p 8080:3000 -v /c/myFolder:/app myImage
是 运行 与 gitbash for windows
运行 与 CMD 完全相同的命令解决了我的问题。
看起来 GitBash 正在将 /app
目标文件夹转换为 \Program Files\Git\app
我有这个非常简单的 Dockerfile :
FROM node:current-alpine3.14 AS baseImage
WORKDIR /app
COPY package* .
RUN npm install
COPY . .
CMD ["npm", "run", "watch"]
然后我运行:
docker build . -t myImage
然后docker run -p 8080:3000 -v /c/myFolder:/app myImage
所以基本上我想在容器中的应用程序文件夹和主机上的 C:\myFolder 之间“共享”。
但它不起作用: 例如,如果我更新 C:\myFolder\index.js,容器中不会发生更改。
这是“坐骑”部分下的 docker inspect myContainer
returns。
与转义/路径格式有关吗?或者我是否遗漏了使用 volume 的一些基本知识?或 WORKDIR ?
坐骑:
绑定:
命令
docker run -p 8080:3000 -v /c/myFolder:/app myImage
是 运行 与 gitbash for windows
运行 与 CMD 完全相同的命令解决了我的问题。
看起来 GitBash 正在将 /app
目标文件夹转换为 \Program Files\Git\app