Maksim
Всем привет. Как мне в контейнер прокинуть физ. интерфейс хоста?
George
эм.эм.эм. зачем?
Maksim
Чтоб сервис в контеинере работал с ним.
George
я не понимаю зачем. поясните задачу
George
без контекста помочь ничем нельзя
George
пока похоже, что Вам нужен флаг privileged + network host mode
Maksim
я не понимаю зачем. поясните задачу
Крутится сервис в контейнере. я хочу дать этому сервису возможность принимать запросы из той подсети. Вижу два варианта или пробросить интерфейс в нуторь контейнера. или открыть нужный порт именно на этом интерфейсе.
George
эм. Обычный HTTP? ничего необычного
George
1. проброс портов с помощью -p : docker run -p 80:80 image_name
2. запуск без изоляции сети (host network mode) : docker run --network host image_name
Maksim
George
не интерфейс указывается
George
а в параметрах сервиса - пара IP:port на котором оно слушает
George
либо 0.0.0.0:80, если нужно слушать везде
Maksim
Спасибо попробую.
Anonymous
Что это?
root@nhealth:/var# docker run -it -p 80:80 --net="host" --privileged -v /var/site_demo:/var/www apache2_ufw_mysql_php_iit_ulimit /bin/sh
WARNING: Published ports are discarded when using host network mode
docker: Error response from daemon: error while creating mount source path '/var/site_demo': mkdir /var/site_demo: read-only file system.
Alexey
read-only file system же /var
Anonymous
Так и home, а что тогда не read-only>
Anonymous
?
Alexey
то что он read only это неправильно, надо исправлять
Anonymous
chmod
Alexey
самый тупой вариант - ребутнуть сервак
Sergey️
Ильдар
именно
Alexey
https://askubuntu.com/questions/47538/how-to-make-read-only-file-system-writable
Mikhail
Sergey
Привет. Помогите разобраться с кластером swarm
Есть 3 виртуалки
1) Swarm manage
2) Swarm node (worker)
3) PostgresServer
Так вот, я запускаю некий stack в котором есть сервис - этот сервис коннектится к postgressql по локальному ip (локальный ip). Так вот
Если сервис запускается на manager ноде, то коннкет к постгресу проходит норм. Но если я запускаю на worker ноде, то пишет connect refuse (или как-то так и даже ниче не пингуется наверх)
Я создал нетворк для докера и его юзаю. Но всеравно оно не хочет соединяться с постгресом
Alexey
чтобы удобно и быстро выкатывать обновления
Alexey
выкатывал когда-то поделку разработчиков на 10 тачек, которое тащит за собой кучу зависимостей? )
Alexey
хоть в одной из них пойдет не так - жопа
Alexey
докер позволяет не парится, оттестил на стейдже, убедился что все работает, выкатил на нужное количество серверов и спокоен
Viktor
Anonymous
1. Простота выкатки
2. Повторяемость окружений (собрал 1 раз и везде работает одинаково)
3. Удобство управления
Alexey
в окружении
Alexey
зашел кто-то, поставил чтото в ос и пакет может не встать
Alexey
угу
Alexey
пхп правда плохой пример
Alexey
там просто файлы и все
Alexey
да, берем образ, в него ставим все нужные зависимости, кладем файлы, потом на любой линуксовой тачке запускаем образ и получаем рабочий сайт
Alexey
да, в контейнере поднимаешь nginx
Alexey
при сборке образа
Alexey
клонируешь файлы и собираешь образ
Alexey
это не докер-подход, но работать будет
Alexey
идеально, когда ты собираешь образ с нужной версией сайта
Alexey
потом берешь этот образ и запускаешь где угодно
Alexey
в твоем варианте, надо еще файлы таскать между серверами
Alexey
неудобно
Alexey
когда разработчик для себя вносит изменения и проверяет работу, докер тут не нужен. Он нужен когда надо выкатывать на прод
Alexey
если надо изменения вынести на сайт, то да, разработчик делает изменения, тестирует у себя, если есть ci/cd запускает по нему свои коммиты. Если нет, то в итоге должен собрать докер-образ, который должен будет попасть на прод
Alexey
если есть потребность в частых выкатках, то надо смотреть в сторону ci/cd, оно для того и сделано
Alexey
там один из этапов, это сбор докер-имеджа и создание на его основе контейнера на проде
Marat
всем привет, есть у кого-нибудь есть скрипт для проверки доступности redis? wait-for-redis.sh или что-то подобное?
George
а не достаточно ли просто видеть его наличие ?
George
или nc -vz redis порт_редиса
George
и еще
George
нафига он нужен? если можно в компоузе 2.4 сделать depends_on: started?
Marat
у меня DI для сервиса написан так что необходим redis изначально. При недоступности редиса сервис падает, но terminate его не происходит, поэтому сервис не перезапускается. Использую compose 3.4
George
3.4 - только для сворма нужен
George
иначе см. выше
Myron
народ ,если в докеркомпоузе задать статик IP для контейнера, после рестарта она слетает, как мне не терять конект бекенда к ДБ ?)
Alex
Myron
nodejs так будет видеть?
Макс
добрый день поскажите как наладить связь между контейнером с сервисом и контейнером с бд
Myron
George
Artem
Жил был volume по-имени example-volume-name и маунтили его через docker -v ...
Однажды решили маунтить через docker-compose. Но появился новый docker_example-volume-name volume,
который был пуст и ничего не содержал в себе. Апликухи падали и плакали.
Задались вопросом как примаутить правильно уже существующий volume в docker-compose?
Помогите, разобраться, плз.
George
volume: external
George
и полетело
Nikolay
у меня кстати тоже был и есть забавный момент, я хотел мигрировать сторейдж докера, поставленного через snap, на нормально установленный с репы, указал data-root, storage-driver и прочие прелести, докер завелся без проблем, контейнеры отображаются запускаются, и можно к ним приаттачиться. Можно делать всё, кроме остановки контейнера, при остановке выдает ошибку permission denied
Artem
volume: external
И перестали плакать апликухи жили они долго и счастливо и было у них много много новых данных
Artem
спасибо!
Jąńek
здравствуйте. у меня собирается докер образ на весьма дохленьком агенте. собирается он 11 минут, что мне кажется дохера. пытаюсь оптимизировать.
подскажите, пожалуйста, будет ли профит если я спилю мульти-стейдж билд?
а ещё буду очент презнателен за указание на годные с вашей точки зрения статьи/мануалы по оптимизации.
A1EF
Не благодари:
https://docs.docker.com/develop/develop-images/dockerfile_best-practices/
Vlad
А есть какие либо мануалы по devops на русском?
Vlad
А то тяжко буржуйский язык читать
George
Надо учить
George
Иначе никак
Paruyr
Как сделать многострочный AWK-скрипт в RUN?
George
В смысле ?