Closed ghost closed 6 years ago
А сейчас монтирование напрямую разве не работает?
Подразумевалось, что в образе лежит приложение целиком. Вместе с прикладным кодом. Тогда ты его делаешь docker run и пошло-поехало.
А то что ты предлагаешь удобно для dev-процесса, не для продуктива.
тем не менее я не понимаю проблемы. докер позволяет монтировать разделы и даже файлы целиком, не указанные в секции VOLUMES родительского докер-файла
@nixel2007 В этом проблемы нет, можно и так. Насколько я понял @allustin имеет в виду типовой образ, предлагаемый нами тем, кто не знаком с докером.
@nixel2007 все равно не понимаю. команды из первого поста уже должны работать (разве что точку нельзя использовать)
@nixel2007 работает и то и другое. Мы вроде как про разное говорим, я что-то не осознаю, о чем говоришь ты.
@nixel2007 все равно не понимаю. команды из первого поста уже должны работать (разве что точку нельзя использовать)
Монтирование-то работает, только копируется в /var/osp.net содержимое src, а там кроме собственно того, что в src лежат еще куча dll движка и другие файлы. Значит монтировать придется вложенные в SRC файлы и каталоги отдельно, что уже неудобно.
volumes:
- ./src/controllers:/var/osp.net/src/controllers
- ./src/model:/var/osp.net/src/model
- ./src/views:/var/osp.net/src/views
- ./src/wwwroot:/var/osp.net/src/wwwroot
- ./src/main.os:/var/osp.net/src/main.os
- ./src/packagedef:/var/osp.net/src/packagedef
А еще oscript_modules тоже наверное нужно локальный брать.
Поддерживаю @allustin, нужно содержимое образа адаптировать так, чтобы разработчику достаточно было бы монтировать только src.
На текущий момент самый удобный способ разработки описан мной на инфостарте:
В терминале запускается сервер приложений. Переходим по линку localhost:5000 (там же в терминале можно кликнуть) и получаем приложение Остановка - Ctrl+C
Статья конечно классная, но я под линуксом живу. Вообще мне кажется, нормальный такой рефлекс: если видишь докерфайл, то первым делом его и используешь для запуска приложения.
Монтирование-то работает, только копируется в /var/osp.net содержимое src, а там кроме собственно того, что в src лежат еще куча dll движка и другие файлы.
@kuntashov вот про это я позабыл. теперь понимаю проблему, спасибо.
@EvilBeaver дай права пожалуйста мне контрибьютора, чтобы на меня повесить задачу - я сделаю через пул-реквесты (тут на днях приняли мой пул-реквест в clojure - прям душа радуется когда принимают)
Оказалось все еще интересней - можно сделать по другому
То есть доступно следующая конструкция
FROM evilbeaver/oscript-web
ENV BINPREFIX=/var/osp.net
VOLUME [ "/src" ]
WORKDIR /src
ENTRYPOINT mono $BINPREFIX/OneScript.WebHost.exe
и тогда запуск
docker build -t oscript-web-with-src-as-volume .
docker run -v ./myapp/:/src -p 5000:5000 oscript-web-with-src-as-volume
В принципе на мой взгляд задачу можно закрывать пока суть то дело - я скажем так выкрутился ;-)
сейчас предалагется
а хочется примерно так
или для docker-compose
тогда будет фактически доступен лайврелоад ;-)