首页 > 解决方案 > 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 在这里实际做了什么缺乏了解?

提前谢谢了!

标签: node.jsdockerdocker-composemonorepo

解决方案


推荐阅读