Docker Compose容器失败并退出,缺少代码127 / bin / env bash

时间:2018-07-23 14:51:58

标签: windows docker docker-compose

我是Docker的新手,所以对我的任期有误都可以承担。

我在Windows 7上安装了Docker工具,我正在尝试运行git存储库中存储的专有现有项目的Docker组成文件,并且该文件可能仅在Linux上运行。

这些是我运行的命令:

  1. docker-machine start
  2. docker-machine env
  3. @FOR /f "tokens=*" %i IN ('docker-machine env') DO @%i
    • 这是通过步骤(2)输出的
  4. docker-compose -f <docker-file.yml> up

大多数Docker工作都很好(图像下载,提取等)。

在容器启动时失败,其中一些容器运行良好-我知道一个工作正常的MongoDB实例,因为其日志未报告任何错误-但其他容器很快就会退出,并显示错误代码,即:

frontend_1 exited with code 127

将控制台向上滚动一点,我会看到类似以下的行:

No such file or directoryr/bin/env: bash

我不知道从这里去哪里。我尝试从CygWin终端启动作曲家,但是得到了相同的结果。


Docker文件

version: "2"

services:
  frontend:
    command: "yarn start"
    image: company/application/frontend:1
    build:
      context: frontend
      dockerfile: docker/Dockerfile
    environment:
      <env entries>
    ports:
      - "3000:3000"
    volumes:
      - ./frontend:/opt/app

  backend:
    restart: "no"
    # source ~/.bashrc is needed to add the ssh private key, used by git
    command: bash -c "source ~/.bashrc && yarn run dev"
    image: company/application/backend:1
    build:
      context: backend
      dockerfile: docker/Dockerfile
    environment:
      <env entries>
    ports:
      - "4000:4000"
    volumes:
      - ./backend:/opt/app
      - ./:/opt:rw
      - ./.ssh/company_utils:/tmp/company_utils
    depends_on:
      - db

  generator-backend:
    restart: "no"
    # source ~/.bashrc is needed to add the ssh private key, used by git
    command: bash -c "source ~/.bashrc && npm run dev"
    image: company/generator/backend:1
    build:
      context: generator-backend
      dockerfile: docker/Dockerfile
    environment:
      <env entries>
    ports:
      - "5000:5000"
    volumes:
      - ./generator-backend:/opt/app
      - ./:/opt:rw
      - ./.ssh/company_utils:/tmp/company_utils
    depends_on:
      - db

  db:
    image: mongo:3.4
    volumes:
      - mongo:/data/db
    ports:
      - "27017:27017"

volumes:
  mongo:

1 个答案:

答案 0 :(得分:1)

事实证明,这是由git clone引起的文件行结尾的问题,正如@ mklement0在his answerenv: bash\r: No such file or directory问题中指出的那样。

禁用core.autocrlf然后重新克隆存储库即可解决该问题。