Brommie
в альпине запускаю
Brommie
в дебиане ок
Brommie
Brommie
Brommie
решил, спасибо)
Konstantin
это значит файл не найден, пробуй полный путь
Pavel
товарищи, подскажите пжлст. как сделать так, чтобы два контейнера могли взаимодействовать через какой-то порт? пробросить на двух одинаковый нельзя - сообщит, что на одном он уже используется
Anonymous
Pavel
yellow
если для примера взять какое-то простое приложение, я сначала создаю контейнер, в него прокидываю проект(папку с проектом) и там все разрабатываю
Или сначала делаю весь проект и после создаю образ с ним?
Shamil
Ребята, не подскажете как запросить у докера установлен конкретный плагин, или нет, чтобы мне выдало True/False. Надо встроить в ансибль условие, чтобы он ставил плагин, только если он еще не стоит, а то сейчас отдает plugin vsphere:latest already exists и плейбук падает.
Yar
artb1sh
artb1sh
artb1sh
Нап запиливает такойже, кидает код в волумы и паднимается
artb1sh
artb1sh
Вся имнфа может похериться
artb1sh
Угу
yellow
Угу
какие в твоем понимании минусы в подходе чтобы все делать внутри контейнера?
Т е контейнер создал в него прокинул проекет и там все делаешь
artb1sh
Lazoreth
Ребят. Подскажите пожалуйста - Настраиваю автодеплой с гита. Хочу по ssh заходить и делать dc down && dc pull && dc up -d. А если просто делать dc pull && dc restart - работать будет? Т.е. он будет имейдж подменять при перезапуске на только что спуленный?
Yegor
да, будет
Lazoreth
Спасибо
Max
привет! кто-то сталкивался с ошибкой
docker build -t gokada-admin1 .
ERRO[0000] failed to dial gRPC: unable to upgrade to h2c, received 502
context canceled
Max
?
User
привет
User
кто-нибудь с docker-machine работает в проде?
Alex
на хосте есть несколько env vars, заранее неизвестных
я хочу их пробросить во время билда, чтобы потом по ним делать условные выражения
то есть, хотелка — "если на хосте $foo == 42, то установить такой-то пакет"
как-то это решается?
Alex
Alexander
Всем привет! Как правильнее поступить с логами приложения внутри контейнера? На диск как бы уже не камильфо писать, а сразу по сетке отсылать - тоже накладно, с учетом того что на 1 запрос может быть до 2 десятков логов.
Egor
ну так или иначе в черную дыру их не отправить
Egor
по хорошему отгружать их куда-нибудь на сервак для логов, если тырнет не тянет, значит улучшить канал
Alexander
может просто сетевой volume для логов сделать и на него натравливать какой-то синкер?
Egor
а чем с точки зрения нагрузки, подключение сетевого диска отличается от отправкой по сети?)
Alexander
попробуйте скопировать 1 файл на мегабайт по сети и 100 файлов по килобайту. Приблизительно тем же
Anonymous
Всем привет
Egor
Egor
вам нужно не файлы копировать, а сами логи писать на сервак
Egor
можно в рамках ssh сессии например
Alexander
Операций меньше
Alexander
т.е. как бы у меня один файл, туда попадает тысяча записей в секунду. если файл по сети будет флашиться раз в секунду, то получим профит
Alexander
а если каждую запись отдельно слать, то получим оверхед по лагам
Alexander
ну и плюс профит еще в том, что флаш не входит во время выполнения самого запроса, поскольку приложение отписалось в файл и пошло дальше
Egor
более того вы избавляете себя от хранения лога внутри контейнера
Alexander
да, лог внутри контейнера не фонтан
Egor
если вы все же хотите хранить его в контейнере (зачем?) то можно раз в N времени передавать изменеия в логе при помощи rsync
Egor
но логичней было бы использовать SSH
Alexander
нет, хранить внутри контейнера не хотелось бы. стейтлес и все такое. Но и перегружать приложение сетевыми запросами тоже не хотелось бы. Хотелось бы какой-то компромис
Egor
компромис уже был озвучен
Egor
понимаете, через сетевой диск нагрузка будет таже, зато костылей больше
Egor
нет более низкоуровнего и легкого инструмента для безопасной передачи данных по сети чем ssh, в том числе для таких объемов
Egor
плюс есть очень большая разница с точки зрения файловой системы - передавать по сети небольшие файлы || передавать по сети данные в виде текста и записывать их в файл
Egor
то о чем я вам говорю, это второй случай, и это оптимальное решение
Alexander
да, видимо вы правы
Egor
а чтобы не утонуть в огромном количестве подключений, это все следует сделать в рамках одной сессии, которая запускается при запуске вашего приложения, и завершяется вместе с ним
spirit
👍 самый полезный чат за последнее время. Приятно почитать. Спасибо всем кто делится знаниями :)
Alexander
согласен. поддерживаю.
Rus
Парни всем привет , кто подскажет что хранится здесь /var/lib/docker/overlay и можно ли удалить ?, а то место сьедает потихоньку
Egor
ну там как бы хранятся ваши конты
Egor
https://docs.docker.com/storage/storagedriver/overlayfs-driver/
Rus
Контейнеры или изображён я ?
Egor
ну там стораж контейнеров должен быть
Egor
https://forums.docker.com/t/some-way-to-clean-up-identify-contents-of-var-lib-docker-overlay/30604
Rus
Окей а тогда что /var/lib/docker/containers. ?
Rus
Спасибо ! Почитаю то что вы прислали
Egor
When you start a container, a thin writable container layer is added on top of the other layers. Any changes the container makes to the filesystem are stored here. Any files the container does not change do not get copied to this writable layer. This means that the writable layer is as small as possible.
When an existing file in a container is modified, the storage driver performs a copy-on-write operation. The specifics steps involved depend on the specific storage driver. For the aufs, overlay, and overlay2 drivers, the copy-on-write operation
Egor
https://docs.docker.com/storage/storagedriver/#images-and-layers
Konstantin
Rus
Спасибо всем !
EaZy
Ребятки подскажите:
На хосте открыт 22, 80, 443 порты.
С контейнера 22 порт доступен остальные 80, 443 нет. Что может быть?