docker-compose 中的 Yarn 命令找不到 && 命令

Posted

技术标签:

【中文标题】docker-compose 中的 Yarn 命令找不到 && 命令【英文标题】:Yarn command in docker-compose can't find && command 【发布时间】:2021-06-12 20:23:22 【问题描述】:

我在我的一个 vue 项目中使用 docker。我想在我的 dockerfile 中背靠背运行命令 yarn --silentyarn serve,但它没有看到 yarn --silent 作为命令。有什么办法解决这个问题?

代码如下所示:

version: "3"

services:
  proxy:
    build: 
      context: ./api
      dockerfile: Dockerfile
    command: yarn start
    volumes:
      - .:/usr/app/
      - /usr/app/node_modules
    container_name: proxy
    ports:
      - "3000:3000"
  app:
    build:
      context: ./app
      dockerfile: Dockerfile
    command: yarn --silent && yarn serve
    ports:
      - "8080:8080"
    container_name: app
    volumes:
       - ./app:/usr/src/app
       - /usr/src/app/node_modules

编辑

当我将命令更改为 yarn install --silent && yarn serve 时,我收到以下错误: error 'install' has been replaced with 'add' to add new dependencies. Run "yarn add && yarn serve" instead. 但这当然不会安装所有依赖项

【问题讨论】:

【参考方案1】:

您尚未共享您的 Dockerfile,但我假设 您已在 docker 容器中安装了 yarn,是吗?

如果是这样,请尝试将您的命令替换为以下内容:

command: bash -c "yarn --silent && yarn serve"

注意:我假设您的容器中有 bash,如果没有将其替换为支持的容器 - sh 等。

【讨论】:

感谢这工作!只需将 bash 更改为 sh :)

以上是关于docker-compose 中的 Yarn 命令找不到 && 命令的主要内容,如果未能解决你的问题,请参考以下文章

【每天学一点】docker-compose中的deploy

yarn管理命令

使用 docker 构建 Yarn 工作区

vscode中yarn命令不能使用是怎么回事

VSCode在终端中使用yarn命令

从docker-compose执行sed