garmin connectciq-sdk ommand monkeyc не найден в openjdk apline docker-контейнере - PullRequest
0 голосов
/ 04 февраля 2019

Я запускаю openjdk: 13-альпийский док-контейнер и монтирую в него файлы garmin connectiq-sdk.Попытка выполнить команду monkeyc завершается с ошибкой «not found».

~/projects/garmin$ docker container run --rm -it --name monkeyc -v $(pwd):/home/garmin/ -w /home/garmin/ openjdk:13-alpine ash
/home/garmin # ./connectiq-sdk/bin/monkeyc --version
ash: ./connectiq-sdk/bin/monkeyc: not found

Вне контейнера команда работает как положено

~/projects/garmin$ ./connectiq-sdk/bin/monkeyc --version
Connect IQ compiler version 3.0.3

1 Ответ

0 голосов
/ 04 февраля 2019

Команда monkeyc является скриптом bash.Оболочка Bash не установлена ​​на Alpine Linux в контейнере.Вместо этого следует использовать пепельную оболочку.Переключение с bash на ash в скрипте monkeyc работает.

~/projects/garmin$ docker container run --rm -it --name monkeyc -v $(pwd):/home/garmin/ -w /home/garmin/ openjdk:13-alpine ash
/home/garmin # ./connectiq-sdk/bin/monkeyc --version
ash: ./connectiq-sdk/bin/monkeyc: not found
/home/garmin # cat ./connectiq-sdk/bin/monkeyc
#!/bin/bash

MB_HOME="$( cd "$( dirname "$0" )" && pwd )"
java -classpath "$MB_HOME"/monkeybrains.jar com.garmin.monkeybrains.Monkeybrains "$@"
/home/garmin # vi ./connectiq-sdk/bin/monkeyc
/home/garmin # ./connectiq-sdk/bin/monkeyc --version
Connect IQ compiler version 3.0.3
/home/garmin # cat ./connectiq-sdk/bin/monkeyc
#!/bin/ash

MB_HOME="$( cd "$( dirname "$0" )" && pwd )"
java -classpath "$MB_HOME"/monkeybrains.jar com.garmin.monkeybrains.Monkeybrains "$@"
...