ruby-on-rails - 运行 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
我尝试了很多解决方案,但没有任何效果,我希望有人有解决方案
解决方案
最后的解决方案是使用以下命令将文件转换为 unix 格式:
dos2unix filename
如果您有很多 shell 文件,您可以使用此命令连续转换所有文件
find /path -type f -print0 | xargs -0 dos2unix --
你需要安装这个命令
sudo apt install dos2unix