Py学习  »  docker

docker compose试图运行sh脚本(npm/ng-serve),但找不到目录

Tudor-Radu Barbu • 4 年前 • 297 次点击  

我把这部分放在 docker-compose 这将复制 angular-cli 前端与A scripts 目录。

  www:
    build: ./www
    volumes:
      - ./www/frontend:/app
      - ./www/scripts:/scripts
    command: /scripts/init-dev.sh
    ports:
      - "4200:4200"
      - "49153:49153"

这个 Dockerfile 里面 www 将安装NPM。

FROM node:10-alpine
RUN apk add --no-cache git make curl gcc g++ python2

RUN npm config set user 0
RUN npm config set unsafe-perm true

RUN npm install

剧本:

#!/bin/bash
echo "Serving.."
cd /app && npm run-script start

我在奔跑 docker-compose down && docker-compose build && docker-compose up 命令:

www_1       | standard_init_linux.go:190: exec user process caused "no such file or directory"

我认为错误来自 command 线。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/37945
 
297 次点击  
文章 [ 2 ]  |  最新文章 4 年前
trust512
Reply   •   1 楼
trust512    5 年前

有类似的问题,您可以尝试添加 execute 对此文件的权限

chmod +x www/scripts/init-dev.sh
Lyr
Reply   •   2 楼
Lyr    5 年前

很可能你做的顺序不对。

我不是node方面的专家,但您需要package.json或其他什么东西来安装NPM来完成这项工作。我想是在/应用程序中。但是在构建的时候,/app是不可见的,因为在dockerfile中没有提到它。

尝试移动 npm install 在剧本里, cd /app && npm install && npm run-script start .