问题描述
我有一个像这样的简单dockerfile
# develop stage
FROM node:alpine as develop-stage
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
# build stage
FROM develop-stage as build-stage
RUN npm run build
而且我很确定在docker运行完成之后,容器中有/ app / dist作为已构建的工件,我想使用这样的卷将其从容器导出到外部主机系统:
docker run -v $(pwd)/artifacts:/app/dist test-vue
,但是没有任何内容写入我创建的工件目录。有什么想法吗?
解决方法
使用-v $(pwd)/artifacts:/app/dist
会将容器的内容替换为主机的内容。
如果您将绑定安装到容器上的一个非空目录中,则该目录的现有内容会被绑定安装遮盖。
如果要导出,则需要在容器启动后将文件复制到一个卷中。有一些用于备份/恢复卷here的示例。
docker exec <container> cp <src> <dst>