我是Docker的新手,所以对我的任期有误都可以承担。
我在Windows 7上安装了Docker工具,我正在尝试运行git存储库中存储的专有现有项目的Docker组成文件,并且该文件可能仅在Linux上运行。
这些是我运行的命令:
docker-machine start
docker-machine env
@FOR /f "tokens=*" %i IN ('docker-machine env') DO @%i
docker-compose -f <docker-file.yml> up
大多数Docker工作都很好(图像下载,提取等)。
在容器启动时失败,其中一些容器运行良好-我知道一个工作正常的MongoDB实例,因为其日志未报告任何错误-但其他容器很快就会退出,并显示错误代码,即:
frontend_1 exited with code 127
将控制台向上滚动一点,我会看到类似以下的行:
No such file or directoryr/bin/env: bash
我不知道从这里去哪里。我尝试从CygWin终端启动作曲家,但是得到了相同的结果。
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:
答案 0 :(得分:1)
事实证明,这是由git clone
引起的文件行结尾的问题,正如@ mklement0在his answer至env: bash\r: No such file or directory问题中指出的那样。
禁用core.autocrlf
然后重新克隆存储库即可解决该问题。