Vitaliy
$SORUCESPATH в конце с / идет ?
Vitaliy
скинь полную комманду как запускаешь контейнер
иой
ENV SOURCESPATH /var/www/platform5-server
иой
docker build -f scala-server.dockerfile -t platform5/server ../
Vitaliy
это билд образа
Vitaliy
а запуск контейнера ?
иой
дак я не запускал контейнер
иой
потому что образ не билдится
иой
потому что сорцы не компилируются
иой
потмоу что их нет
Vitaliy
стоп стоп , ты написал про volume
иой
в маунт вольюме для имеджа
Alex
volume при билдинге не подсасывается
Vitaliy
volume эта штука которая отдается внутрь контейнера
Vitaliy
а не на билде образа
иой
таааак
Vitaliy
docker run -t -i -v yourPathHere:/docker/
Vitaliy
вот так ты обычно указываешь вольюм
Kirill
при запуске ты должен указать чекуда
Vitaliy
когда идет ран контейнера
Alex
Я сразу с docker-compose учился бы.
иой
то есть мне нельзя из хоста папку пробросить в образ чтобы в момент билда оттуда скомпилировать?
Kirill
+1
Alex
При билде вольюм не будет подсасываться
Alex
В рантайме будет, при билде нет.
Alex
Поэтому при билде ты допустим из гита клонируешь и собираешь проект.
Kirill
есть команда ADD
Vitaliy
1 фаза - ты собираешь образ (считай компилируешь сорцы докера)
иой
вот так ты обычно указываешь вольюм
VOLUME ./:$SOURCESPATH в докерфайле это не то же самое но на уровне образа?
Vitaliy
2 ты запускаешь контейнер и уже там происходит вся работа
Alex
./ в Dockerfile - Жди беды.
Vitaliy
тебе нужно вольюм пробрасывать во время запуска контейнера
Alex
через VOLUME лучше просто указывать что такой то путь должен быть persistent
Kirill
если надо что-то положить в контейнер в момент сборки используй ADD
Alex
а монтировать вольюм уже при запуске.
Vitaliy
VOLUME ./:$SOURCESPATH в докерфайле это не то же самое но на уровне образа?
здесь твой вольюм не отрабатывает , он здесь просто как бы собирает образ
Vitaliy
сам вольюм здесь считай как обычный текст когда ты делаешь build
Vitaliy
вся магия с пробрасыванимаем в контейнер будет когда ты сделаешь docker run
иой
ясно
иой
понятно
Vitaliy
docker build -f scala-server.dockerfile -t platform5/server ../
platform5/server вот это имя твоего образа
иой
спасибо
иой
я думал что в момент создания образа подключается вольюм
Kirill
при старте
Vitaliy
cделай теперь docker run -i platform5/server
иой
ясна ясна
Vitaliy
это запуск в интерактивном режиме , если что-то посыпется увидишь явный лог в консоль
иой
если надо что-то положить в контейнер в момент сборки используй ADD
не могу, если приложение сбилдилось на хосте то имена очень длинные и судя по всему ADD не может в них. Идея была в том чтобы примонтировать файлы как вольюм, делать клин и компилировать снова
иой
сейчас из гита качаю
иой
спасибо котаны
иой
ADD ./src_code /some/path RUN cd /some/path && make
разве что игнорить только target папку
Vitaliy
тебе вообще add не нужен здесь , volume будет достаточно
Vitaliy
если тебе только сорцы скомпилить
Kirill
ADD ./src_code /some/path WORKDIR /some_path/ RUN make .. а пробросить лишь то что на выходе и запускать с удалением
иой
тебе вообще add не нужен здесь , volume будет достаточно
скомпилить, запустить сервер, применить миграции
иой
ждать запросов от фронта
Vitaliy
java ?
Kirill
scala
Kirill
писал вроде как
Vitaliy
точняк
иой
ADD ./src_code /some/path WORKDIR /some_path/ RUN make .. а пробросить лишь то что на выходе и запускать с удалением
так не получается из за слишком длинного имени файла в билде
иой
Error processing tar file(exit status 1): open /shared/jsonFormats/target/scala-2.11/classes/sevts/server/formats/domain/package$$anonfun$66$$anon$71$$anonfun$derive$macro$1460$1$$anonfun$apply$152$$anon$72$$anonfun$derive$macro$1549$1$$anonfun$apply$154$$anon$73$$anonfun$derive$macro$1557$1$$anonfun$apply$157$$anon$74$$anonfun$derive$macro$1578$1$$anonfun$apply$160.class: file name too long
Vitaliy
wtf
Kirill
зиповать?)
иой
зипуем
иой
сегодня мы с тобой зипуем
Maxim
напиши скрипт, который будет все делать (билд и старт), в докер файле ADD ./script.sh ENTRYPOINT ["script.sh"] и потом при старте подключай волум в нужное место (что прописал в скрипте)
иой
сенкс
иой
господа, дискасс DB в продакшене: выделенный сервер vs докер
Kirill
хз.. если по умному все запилить то оба варианта имеют место быть
Kirill
все зависит от нагрузки, по поводу этого сказать ничего не могу. Но явно проще поднять db в докере чем запиливать сервак с 0
Kirill
Как-то хотел запилить для одного проекта mondodb кластер с арбитром в докер, но времени так и не нашел.
Köfte
топ идея кстати
еще можете глянуть на dapp
Köfte
у него есть возможность сквозной волум делать между билдами