Windows 10 Docker: / usr / bin / env: 'php \ r': такого файла или каталога нет - PullRequest
0 голосов
/ 11 июня 2018

У меня есть файл 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

Ответы [ 2 ]

0 голосов
/ 13 августа 2018

Я придумываю способ решения на основе этого: 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

Это сейчас работает :)

0 голосов
/ 11 июня 2018

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

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

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

...