Windows 10 Docker: / usr / bin / env: ‘php \ r’: такого файла или каталога нет

У меня есть файл docker-compose.yml, где я определил изображения и сборку для php. Это сделано для приложения Symfony с php, nginx и postgresql с postgis:

version: '2'
services:

front:
image: nginx
ports:
- "81:80"links:
- "engine:engine"- "db:db"volumes:
- ".:/home/docker:ro"- "./docker/front/default.conf:/etc/nginx/conf.d/default.conf:ro"
engine:
build: ./docker/engine/
volumes:
- ".:/home/docker:rw"- "./docker/engine/php.ini:/usr/local/etc/php/conf.d/custom.ini:ro"links:
- "db:db"working_dir: "/home/docker"


db:
image: camptocamp/postgres:9.6
ports:
- "5433:5432"environment:
- "POSTGRES_DB=pfe"- "POSTGRES_PASSWORD=admin"- "POSTGRES_USER=admin"- "PGDATA=/var/lib/postgresql/data/pgdata"

На Ubuntu все работает нормально, но когда я попытался запустить ту же среду на Windows 10, я получил ошибку.

docker-compose exec engine bin/console doctrine:schema:create
/usr/bin/env: 'php\r': No such file or directory

3

Решение

Из сообщения об ошибке кажется, что вы столкнулись с проблемой, связанной с EOL.

Попробуйте конвертировать ваши скрипты / файлы в формат EOL, отформатированный в UNIX.

Вы можете использовать Sublime / Notepadd ++ или любой редактор, который поддерживает эту функцию.
Или на платформе Unix вы можете попробовать dos2unix.

3

Другие решения

Я выясняю способ решения на основе этого: https://stackoverflow.com/a/2613834/3257568

tr -d '\015' <DOS-file >UNIX-file

Итак, я сделал это:

$ docker exec -it <container> bash
$ cd bin
$ tr -d '\015' <console >console.new
$ mv console console.old
$ mv console.new console

Сейчас работает 🙂

2

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector