Bohdan
Чето оно файл монтирует как директорию
Anonymous
воу, без слеша же это файл. спс, ща пробну
Mike
йо парни, есть вопрос. не уверен, что в кассу, правда. запустил в докере кассандру, доккер компоуз такой: version: '2' services: cassandra: image: library/cassandra ports: - "9042:9042" поставил в хосте клиент кассандровский, достучалась только с уточнением версии: cqlsh --cql_version=3.4.4 по умолчанию версия 3.3.1, типа пошел я на хуй. ну да ладно из шарпов пытаюсь достучаться по 127.0.0.1 — говорит хер там на 9042 чет есть пошел в докер, посмотрел его адрес — 172.18.0.6, вбил его в шарпы вместо 127.0.0.1 — завелось. может подскажете, куда копать, что я не так делаю, почему у меня в днк ошибки?
Даня
гайз, подскажите плз. можно ли взять смонтировать один и тот же каталог с файлами, допустим, в 50 разных контейнеров и дергать оттуда код? гоняться будут js, unit, selenium тесты, а делается это дабы не клонить по 100000+ раз одну и ту же репу
Даня
и будет ли там работать git, в каталоге этом внутри контейнера
Pavel
в теории да
Даня
поскольку репа весом около 1гб
Je
для уверенности я бы монтировал на чтение, иначе куда-нибудь да попадаешь в гонку
Даня
а что касательно dind можете сказать? или это уже не шибко актуально в 2018?)
Даня
а то мне нужно будет еще базы поселить рядом и дергать єто все добро через плагин дженкинса
Artem Kasapchuk
build: context: . dockerfile: ./docker/dockerfiles/prod Подскажите куда .dockerignore помеситить, ложил в docker/dockerfiles/ не помогло, ложил в корень где docker-compose.yml тоже без результатно
Artem Kasapchuk
вот так копирую
Artem Kasapchuk
WORKDIR /app COPY app ./
Artem Kasapchuk
в папке app есть node_modules, пытаюсь его запретить копирование в .dockeringonre
Anonymous
а почему может перестать билдить команда docker-compose up -d —build ? образа собирает, всё done, но внутри должен собираться мавен проект, а это команда отрабатывает как будто нет ключа —build
Anonymous
типа как всё закешено
Anonymous
Или другую какую фс, как вариант кластерную
Anonymous
пишет что закешено, чхотя должно билдить
Artem Kasapchuk
товарищи, где ошибаюсь копирую файлы COPY app/ ./
Artem Kasapchuk
в докеригноре */node_modules - только так работает, просто node_modules не работает
Artem Kasapchuk
такое ошушение что надо copy переписать как то правильно что ли
Эмин
если так: COPY app/* . ситуация повторится?
Artem Kasapchuk
вообще не копирует(
Artem Kasapchuk
Service 'app' failed to build: When using COPY with more than one source file, the destination must be a directory and end with a
Artem Kasapchuk
COPY app/* ./ - так операция проходит, но файлы не копирует
Даня
COPY ./app/* ?
Artem Kasapchuk
COPY ./app/* ?
COPY ./app/* ./ ничего не копирует
Artem Kasapchuk
вот так только работает COPY app ./
Artem Kasapchuk
в .dockignore
Artem Kasapchuk
*/node_modules */exit.git */yarn.lock
Artem Kasapchuk
так не копирует нужные мне папки и файлы, так я и не понял что это)
Даня
app - каталог?
Artem Kasapchuk
ага
bebebe
запущено два контейнера, с общей сетью 1. В одном запущен Xvfb который слушает по сети. В этом контейнере тестируется GUI X11 приложение (выполняется определенный сценарий) 2. второй контейнер запускает ffmpeg, подключается по сети к контейнеру с Xvfb через x11grab протокол поверх tcp, и делает видео того что происходит в контейнере с Xvfb По окончанию сценария с тестированием, запись прекращается и образуется видео артефакт. Мой вопрос: кто-нибудь такое делал? у меня почему то x11grab запущенный через aconv видит root window, а запущенные приложение, qt и xterm не отображает, запускаю так: avconv -y -f x11grab -r 25 -i ci-xfce:99 /tmp/simple.mpgсоответственно в xauthority все прописано, пускает, но "видит" только root window 0
Kirill
А как можно запустить что-то только при запуске контейнера? Допустим при запуске, сначала запустить миграцию, а потом только уже приложение стартануть.
Kirill
В Entrypoint несколько команд через && или как?
Kirill
Я так понимаю RUN будет выполнятся при билде, а мне надо только на запуске
Je
В Entrypoint несколько команд через && или как?
так в docker-entrypoint.sh можешь спокойно написать без &&
Kirill
так в docker-entrypoint.sh можешь спокойно написать без &&
Ну вот думал запускать скриптом, видимо так и придётся.
Kirill
Просто может есть какие другие подходы)
Je
есть подход - засунуть миграции в приложение и запускать при старте, либо по флажку в конфиге
Artem Kasapchuk
depends_on немного не пойму, почему даже указать депенденс энтрипоинт все равно срабатывает раньше чем нужно, кто нить сталкивался?
Je
Еще можно написать сервис в докер-композ, который запускает в том же image миграции, а сам сервис зависит (depends_on) от него, соответственно сначала отработают миграции
Je
Ну вот думал запускать скриптом, видимо так и придётся.
собсно в бест-практис скрипты юзают https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#entrypoint
Artem Kasapchuk
Artem Kasapchuk
получается entrypoint и как не обойти, проще запустить sh скрипт через comand, которые все установит и запустить апп?
Je
так в entrypoint ты и указываешь этот скрипт, попробуй открыть мою ссылку выше
Artem Kasapchuk
кажется начинаю понимать entrypoint для установки и подготовки, comand для запуска
Artem Kasapchuk
не все равно не помогло, контейнер апп стартует раньше, чем монго завершить все свои дела
Server
Почему место на диске закончилось? Overlay повторяется 4 раза. Как безопасно, для рабочих докер контейнеров, почистить диск?
Server
Artem Kasapchuk
господа никто разве не сталкивался с порядком запуска контейнеров ?)
Artem Kasapchuk
https://github.com/eficode/wait-for
Artem Kasapchuk
нашел вот такое, command: /bin/sh -c './wait-for mongo:27017 — node' пытаюсь вот так провернуть
Artem Kasapchuk
он мне movie-parser_app_1 exited with code 127
Bohdan
там таймаут вроде можно задать
Bohdan
или он сразу валится? попробуй просто up без -d
Artem Kasapchuk
откопал ошибку /bin/sh: /entrypoint/wait-for: Permission denied
Artem Kasapchuk
проблема с правами оказалась
Сергей
всем привет
Сергей
подскажите как можно правильно сообразить команду "volumes_from" в компоузе?
Сергей
она сейчас в новых версиях деприкейтнута вроде как
Сергей
хотелось бы иметь возможность объявить вольюм на этапе сборки образа в dockerfile
Сергей
и затем его шарить другим контейнерам
Дмитрий
Прописывать контейнерам одинаковый вольюм
Sergey
в .env указывайте вольюм и шарьте его потом в композе через переменную
Сергей
FROM ubuntu RUN mkdir /myvol RUN echo "hello world" > /myvol/greeting VOLUME /myvol version: '3.6' services: volme: image: codebase-test command: tail -f /dev/null volumes: - type: volume source: mydata target: /myvol volyou: image: ubuntu command: tail -f /dev/null volumes: - mydata volumes: mydata:
Сергей
попробовал так
Сергей
не работает
Sergey
https://docs.docker.com/compose/environment-variables/
Сергей
не понимаю как это здесь применить
Sergey
volumes: - ${SOURCE}:${TARGET}
Сергей
это же с хоста замонтирует
Sergey
я вам пример привел
Сергей
ну это-то понятно
Sergey
вам куда мантутить то надо
Сергей
видимо я как-то не очень описал чего хочу