У меня есть docker-compose.yml
файл со следующим содержанием:докер-компоновать вверх дает ошибку: Баш: парусов: команда не найдена
version: '2'
services:
MongoDB:
image: mongo
Parrot-API:
build: ./Parrot-API
image: sails-js:dev
volumes:
- "/user/Code/node/Parrot-API:/host"
command: bash -c "cd /host && sails lift"
links:
- MongoDB:MongoDB
ports:
- "3050:1337"
Файл в основном работает два контейнера: MongoDB и веб-приложение (в каталоге ./Parrot-API
) встроенный в sails.js. Однако, когда я запускаю docker-compose up
в терминале, я получил эту ошибку: Parrot-API_1 | bash: sails: команда не найдена node_Parrot-API_1 завершен кодом 127. Обратите внимание: sails.js
является веб-каркасом node.js, а sails lift
запускает приложение в порту 1337.
Я сделал несколько поисковых запросов Google и нашел некоторые подобные вопросы, но не помог в моем случае.
Кстати, у меня есть следующие Dockerfile
в папке Parrot-API:
FROM sails-js:dev
VOLUME /host
WORKDIR /host
RUN rm -rf node_modules && \
echo "hello world!" && \
pwd && \
ls -lrah
EXPOSE 1337
CMD npm install -g sails && npm install && sails lift
Структура файла выглядит следующим образом:
|- docker-compose.yml
|- Parrot-API/Dockerfile
|- Parrot-API/app.js, etc..
Это для меня ясно, что контейнер Parrot-API
докер немедленно выходит из-за того, что команда sails lift
не выполняется, но как сделать контейнер работать? Благодаря!