Vyacheslav
и скука
Vyacheslav
Ещё есть docker stats, вдруг ты этого хотел
практически идеально, ещё бы оно не мерцало
twwlf
Мерцало? Не терминал ли твой виноват
twwlf
По предыдущему вопросу - это называется "избыток свободного времени". Но резонно, чо
Vyacheslav
мабыть, депиновский терминал юзаю, там удалёнка встроена
Alexey
Может кто знает как сделать песочницу для разработчиков с подключаемыми volume (но что бы пароли для плагинов volume не светились)
Alexey
vieux/sshfs и docker-volume-netshare (cifs) светят пароли, прям в открытом виде по команде docker volume inspect
Alexey
Это про особенности CMD и entrypoint? Можно ссылку?
https://docs.docker.com/engine/reference/builder/#understand-how-cmd-and-entrypoint-interact вот здесь есть немного
Ilia
подскажите сейчас делаю образ для сборки фронтенда
Ilia
Хочу чтобы в рабочей директории проекта /src небыло node_modules
Алексей
RUN rm -rf /src/node_modules 😊
Алексей
?
Uladzimir
или можно просто положить node_modules на одном уровне с src
Андрей
Можно как вариант посмотреть ONBUILD, или использовать в 1 докер файле 2 образа
Ilia
когда я добавляю VOLUME ["/app"] и далее пишу docker run —rm -v ~/some-project:/app image npm install соотвественно в дире с проектом появляется node modules
Ilia
Хочется чтобы node_modules лежали в volume
Ilia
И контейнеры просто монтировали этот volume
Александр
.dockerignore покопай
Александр
И контейнеры просто монтировали этот volume
Это при разработке? Или приложение на node, не веб собранный?
Ilia
При разработке
Ilia
На боевом хочется чтобы вообще ноды как таковой небыло
Андрей
создавай контейнер для данных и при докер ране монтируй, соответственно контейнер с данными можно монтировать дальше к любому контейнеру volumes-from
Александр
У меня в контейнере всё для работы на проде, кроме конфигов, сертификатов, логов и пользовательских папок. При разработке весь проект полностью прокидывается в контейнер
Андрей
а если хочется, чтоб во время билда были данные, а в итоговом образе нет, то тут есть мульти-стейдж билды
Ilia
отдельный контейнер с node_modules?
Андрей
да
Андрей
есть скратчи
Андрей
где по факту ничего нету, там и будет висеть только модули
Evgenii
отдельный контейнер с node_modules?
??? Вы как до этого дошли
Андрей
какой вопрос, такой и ответ)
Александр
А где он грепается?
Ilia
когда пишешь ack —js "something"
Ilia
Сейчас node_modules в папке проекта
Ilia
создавай контейнер для данных и при докер ране монтируй
Ilia
Я ни до чего не дошел еще
Александр
когда пишешь ack —js "something"
--[no]ignore-dir= DIRNAME Ignore directory (as CVS , .svn, etc are ignored). May be used multiple times to ignore multiple directories. For example, mason users may wish to include --ignore-dir=data. The --noignore-dir option allows users to search directories which would normally be ignored (perhaps to research the contents of .svn/props directories). The DIRNAME must always be a simple directory name. Nested directories like foo/bar are NOT supported. You would need to specify --ignore-dir=foo and then no files from any foo directory are taken into account by ack unless given explicitly on the command line.
Ilia
Я вкурсе
Александр
т.е. создавать отдельный контейнер, чтобы не писать флаг?
Ilia
и так писать для ack для вима для гита для ide для ...
Ilia
Предложение про отдельный контейнер не мое
Ilia
Вопрос был про возможность изолированного volume с node modules
Алексей
Думаю стоит провести индийский ритуал нахуа Если на стадии прода нужно отсутствие папки то мульти-стейдж билд
Алексей
А в деве папка нужна имхо
Ilia
Она нужна в контейнере
Ilia
А на хосте мне она нафиг не ссделась
Алексей
app: build: . volumes: - ./:/app - node_modules:/app/web/node_modules volumes: node_modules: вот пример из моего рабочего докер-композа
Алексей
нод_модули в именованный волюм закидываются и все
Александр
нод_модули в именованный волюм закидываются и все
А локально npm install и пр. ты не выполняешь?
Алексей
локально ноды нету даже )
Алексей
стартовая команда выглядит как webpack -w
Александр
hot reloading/webpack dev server не получится юзать из контейнера
Александр
Потому что нужно из браузера подключаться к портам контейнера, а если тебе нужно перезапустить сборку, то вместо этого нужно перезапускать контейнер
Александр
Хотя да, получится
Александр
ну так подключайся. докер позволяет публиковать порт (внезапно)
Ну я к тому что вместо ctrl+c up enter нужно docker-compose restart node какой-нибудь или через хелпер
Ilia
локально ноды нету даже )
интересно что папка создается внутри src
Ilia
FROM ubuntu:16.04 RUN apt-get update && mkdir /app COPY ./bower.json /app COPY ./package.json /app RUN apt-get install -q —assume-yes —no-install-recommends nodejs-legacy npm git \ && npm install -g bower@1.8.0 \ && npm install -g gulp@3.9.1 \ && npm install -g webpack@1.13.3 RUN echo '{ "allow_root": true }' > /root/.bowerrc WORKDIR /app/src CMD ["gulp", "watch"]
Ilia
docker run -v ~/work/proj/src/:/app/src -v node_modules:/app/node_modules proj-front
Mike
всем привет, может кто сталкивался. Пытаюсь настроить gitlab-runner ci. Падает вот такая вещь: ERROR: Job failed (system failure): Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? docker status говорит active, но в логах: containerd: container did not start before the specified timeout. Читал форумы - писали что вроде фиксилось раньше, докер стоит последней версии. Не запускается ни один image.
Ilia
Коллеги еще вопрос приложение использует mysql, postgresql, есть front с нодой и само приложение на питоне, есть желание все раскидать по докер контейнерам, как лучше поступить сделтаь по докер образу для каждого компонента и отдельно запускать? или сделать docker compose который бы все это запускал
Ilia
Так В доках только hello world приложения
Ilia
с docker-compose это будет проще запускать
Но у меня для каждого образа могут быть разные команды для продакшна и для девелопмента
Антон
ну в образе где то эти переменные прописываются?
Андрей
создай основной, и также дополнительный для разного енворомента и запускай docker-compose -f compose.yml -f dev.yml up
Антон
их можно через environment: в контейнере указывать
Андрей
или просто .env и в композе пропиши бери данные из окружения, соответственно у каждого сервера он свой будет
Ilia
их можно через environment: в контейнере указывать
CMD [" if [ -n $TESTVAR ] then if [ $TESTVAR == "x" ] then echo "foo" exit elif [ $TESTVAR == "y" ] then echo "bar" exit else echo "baz" exit fi else echo -e "TESTVAR not set\n" fi"]
Ilia
Типа так?)
Андрей
https://docs.docker.com/compose/environment-variables/#setting-environment-variables-with-docker-compose-run
Антон
CMD [" if [ -n $TESTVAR ] then if [ $TESTVAR == "x" ] then echo "foo" exit elif [ $TESTVAR == "y" ] then echo "bar" exit else echo "baz" exit fi else echo -e "TESTVAR not set\n" fi"]
да так тоже можно, но лучше это вызывать через скрипт, в композе тоже это можно делать services: hello: image: hello container_name: hello environment: - TESTVAR1: "production" - TESTVAR2: "development" command: ["/bin/sh", "-c", ""]
Mike
наверно нужно дать права sudo usermod -aG docker gitlab-runner
права есть и докер даже руками не хочет запускать контейнеры, т.е. независимо даже от гитлаба