2016-01-26 2 views
1

среды:
Я использую IntelliJ 14 для развертывания Docker контейнеров в CoreOS (VM, которая создается с помощью Vagrant и VirtualBox) на моей локальной машине.Не удалось запустить скрипт, используя IntelliJ плагин для Docker deplyment

Настройка:
Мой Dockerfile должен запустить сценарий установки:

ADD setup.sh /tmp/setup.sh 
RUN chmod +x /tmp/setup.sh 
RUN /tmp/setup.sh 

Docker развернуть с помощью IntelliJ:
При запуске Docker развернуть (с помощью IntelliJ), он создает изображение, создавая контейнер, но не удалось запустить мой скрипт со следующей ошибкой:

Step 5 : RUN /tmp/setup.sh 

---> Running in cb36ed95ad50 

[91m/bin/sh: 1: [0m 
[91m/tmp/setup.sh: not found[0m 
[91m 
[0m 
Error: The command '/bin/sh -c /tmp/setup.sh' returned a non-zero code: 127 
Failed to deploy 'Deployment: Dockerfile: Dockerfile': The command '/bin/sh -c /tmp/setup.sh' returned a non-zero code: 127 

Docker deploy with Circle CI:
Я также использую circleci для непрерывного развертывания контейнеров-докеров на AWS EC2 (моя промежуточная и производственная среда).
При использовании circleci с тем же файлом докеров и скриптом setup.sh он работает нормально.

Любая идея в чем разница?

Спасибо,
Эффи

+1

Какая ОС вы используете для dev? – Lital

+1

Windows на моей локальной машине, которая запускает intellij –

ответ

2

Если 91m не принадлежат пути к /tmp/setup.sh, то это может быть конец задачи кодирования строки.

В ASCII, конец строки (возврат каретки CR) может быть напечатан в виде m или ^M и квадратных скобок [ кодирования 91.

В Windows конец строки представлен символами CR+LF и только в Unix LF.

Вы можете попытаться преобразовать формат файла setup.sh из Windows в Unix. Есть много инструментов, которые могут сделать это для вас. В Unix я обычно использую dos2unix. В Windows я обычно использую notepad++.

Вот как запустить его с dos2unix:

  • На вашей машине CoreOS установить пакет с именем dos2unix и выполните следующую команду:

    dos2unix setup.sh

Вот как использовать его с notepad++:

  • На вашей машине для Windows установите notepad++
    • Open setup.sh with notepad++
    • Go to Edit > EOL Conversion > Unix/OSX Format
    • Save the file

Запуск развертывания Docker с новым setup.sh снова, и я надеюсь, что это решит вашу проблему.

+0

Спасибо !!! '91m' не входит в мой путь. –

Смежные вопросы