首页 > 解决方案 > 运行 docker-compose “'时出错:没有这样的文件或目录'不执行'sh”

问题描述

我对 docker 容器有疑问,我 100% 确定容器可以正常工作,因为它对我的同事有用。经过大量搜索后,我认为这更像是我的终端中的配置问题,我发布了这个问题。

当我运行这个命令来启动项目时

docker-compose up rails

答案总是

 ': No such file or directory't execute 'sh

这是compose.yml的一部分

services:
  rails:
    build: .
    image: eu.gcr.io/someone/rails:latest
    command: "bin/rails s -p 3000 -b 0.0.0.0"
    depends_on:
      - mysql
      - mongodb
      - redis
      - nginx
      #- elasticsearch
    environment:
      - MALLOC_ARENA_MAX=2
    env_file:
      - .dockerenv
    volumes:
      - .:/usr/src
      - ./ged:/usr/src/ged
      - gems:/usr/local/bundle
    user: "${CURRENT_USER}"
    ports:
      - 3040:3000
      - 3035:3035

我尝试了很多解决方案,但没有任何效果,我希望有人有解决方案

标签: ruby-on-railsdocker

解决方案


最后的解决方案是使用以下命令将文件转换为 unix 格式:

dos2unix filename

如果您有很多 shell 文件,您可以使用此命令连续转换所有文件

find /path -type f -print0 | xargs -0 dos2unix --

你需要安装这个命令

sudo apt install dos2unix

推荐阅读