node.js - Docker /dist 输出未安装到主机目录
问题描述
我最近将 Docker 添加到我的 javascript monorepo 以构建和提供特定的包。一切都很好,但是我没有成功地将 ./packages/common/dist 下的内容提供给 ./common-dist下的主机目录,这是我的要求之一。
运行时,确实在宿主机上创建了common-distdocker-compose up
目录,但是没有出现该卷上packages/common/dist下构建的文件;该文件夹完全为空。
码头工人-compose.yml
version: "3"
services:
nodejs:
image: nodejs
container_name: app_nodejs
build:
context: .
dockerfile: Dockerfile
restart: unless-stopped
ports:
- "8080:8080"
volumes:
- ./common-dist:/app/packages/common/dist
Dockerfile
FROM node:12-alpine
# Install mozjpeg system dependencies
# @see https://github.com/imagemin/imagemin-mozjpeg/issues/1#issuecomment-52784569
RUN apk --update add \
build-base \
autoconf \
automake \
libtool \
pkgconf \
nasm
WORKDIR /app
COPY . .
RUN yarn install
RUN yarn run common:build
RUN ls /app/packages/common/dist # -> Yip, all files are there!
# CMD ["node", "/app/packages/common/dist/index.js"]
$ docker-compose build
$ docker-compose up # -> ./common-dist appears, but remains empty
这可能与一些权限问题有关,还是我对 docker-compose 在这里实际做了什么缺乏了解?
提前谢谢了!
解决方案
推荐阅读
- python - while循环的文本表达式在python中不起作用
- javascript - 如何在对象上设置 useState 数据
- javascript - 当它们达到 60 时,我怎样才能将秒数重置为 0
- css - html body 元素的最小高度
- embedded-linux - 无法升级 Yocto Krogoth 中元层的配方
- r - 我已经编写了一个函数,并试图通过 lapply 将其传递给数据框中的每一行
- active-directory - 有没有办法在 DistinguishedName 中排序
- c# - asp.net 核心通过 ENV 变量覆盖连接字符串
- automation - 使用 Protractor 并行浏览器测试的最佳实践是什么?
- excel - VBA如何在用户表单中过滤和排序范围