当我运行docker-compose时,出现错误:
php_1 | /usr/local/bin/docker-entrypoint.sh: line 2: $'\r': command not found
php_1 | Do not run Composer as root/super user! See https://getcomposer.org/root for details
php_1 |
php_1 |
php_1 | [Symfony\Component\Console\Exception\CommandNotFoundException]
" is not defined.
php_1 |
php_1 | Did you mean this?
php_1 | update
php_1 |
php_1 |
php_1 | /usr/local/bin/docker-entrypoint.sh: line 4: $'\r': command not found
: not found | /usr/local/bin/docker-entrypoint.sh: line 5: exec: php-fpm
我尝试重新启动docker,删除容器并重新启动,但是没有帮助
docker-entrypoint.sh代码:
#!/usr/bin/env bash
composer update
exec "$@"
我曾经使用过ubuntu,现在我已经安装了Windows,现在出现此错误。 请告诉我如何解决此问题,我已经花了3多个小时没有结果(
答案 0 :(得分:1)
错误“ /usr/local/bin/docker-entrypoint.sh:第2行:$'\ r':找不到命令”,以及docker-entrypoint.sh脚本的内容(仅包含一个2)处的空白行表示行尾已损坏。
您应确保容器使用的文件具有UNIX行尾(\ n),而不是Windows行尾(\ r \ n)。
答案 1 :(得分:0)
请确保每当有人在Windows上任何类型的编辑器上进行任何编辑以转换行尾时,都对脚本文件运行dos2unix
,(建议)从计算机中删除dos2unix。
在您的情况下:
# add this line after FROM line
RUN apt-get update && apt-get install -y dos2unix
RUN dos2unix /usr/local/bin/docker-entrypoint.sh && apt-get --purge remove -y dos2unix
# --> continue your ./docker/php/Dockerfile content