Vadim
Ребят, подскажите пожалуйста, какие best-practices для деплоя приложения?
Ну то есть можно собирать локально образ, пушить в хаб и на удаленном сервере делать pull
Или непосредственно код загружать отдельно и потом уже использовать docker?
Заранее благодарю!
🦠
если ты держишь докер для прода, то очевидно сборка и деплой образа
🦠
если докер для дев/тест стейджа - смысла пушить на прод нет
Max
Max
пуш в хаб напрямую с машины разработчика - не очень хорошая практика
Mannaro
Народ, а есть какая настройка в сварме, чтобы чистил старые образы?
Ruslan
полагаю, это не дело ни сварма, ни докера в swarm mode-е. Старый (в смысле, не используемый сейчас) - это не всегда точно_ненужный. Так что это надо как-то отдельно, явно делать.
Simak
Парни. Глупый вопрос. Ошибка) выскакивает :yaml.scanner.ScannerError: while scanning for the next token
found character '\t' that cannot start any token
in "./glpi.yml", line 2, column 1
Simak
при минимуме текста
Simak
GLPI:
image: test/glpi
ports:
- 8080:80
Ruslan
ну дык написано же, что используется символ табуляции и еще визуально image и ports не на одном уровне
Simak
в файле на одном)
Simak
в nano во всяком случае)
🦠
image))
🦠
build?
🦠
image он с двоеточиями)
🦠
build - путь
Ruslan
Ruslan
проверь там табы или пробелы?
Simak
табы ставил, как меня тут учили)
Simak
1 и 2)
🦠
лан, развлекайтесь)
Simak
Так в чем косяк?)
Simak
Короче если один таб заменить на два проблема
Simak
а два таба на 4 пробела )
Simak
завелось)
Mannaro
Ruslan
Ruslan
спросили про образы, а вы про контейнеры ответили
Mannaro
Я же и спрашиваал)
Mannaro
Ок, ну наверняка же есть какие-то кейсы? У меня место кончилось на серве, не хотелось бы допускать такого впредь)
Кто как решает эту проблему?
Gluek
Anton
Oleg
Oleg
еще вариант - возможно, моя IDE настроена заменять табы на пробелы
Ivan
всем привет.
с докером знаком три дня. есть задача не могу решить.
у меня есть контейнер для nginx.
в него я протаскиваю конфиги для виртуальных доменов.
но конфиги почему то не пашут и домен доступен только через 0.0.0.0:80
Alex
Значит из контейнера торчит только порт 80 или у тебя энджинкс падает на всем кроме порта 80.
Alex
Хотя если б падал то давал виду, поэтому первое.
Ivan
не подскажешь как можно исправить?
я использую docker compose
Alex
Там где експоузишь порт 80 в композе добавь остальные порты
Alex
Я не помню как опция называется, давно не писал композы. Но найдешь, там только одно место с портами :)
Ivan
а также интересует способ взаимодействия контейнеров между собой. как я понял их нужно в одну сеть объединять(networking).
но вот только у меня пока с этим туго
Simak
Vlad
Simak
Vlad
При запуске в выделенной сети они будут видеть друг-друга по именам. Link это всего-лишь dns запись
Vlad
Для обращения к контейнеру по имени теперь не нужно указывать link
Simak
Vlad
Simak
да
Хорошо, попробую через часок )
Oleg
в чате раньше обсуждался вопрос, как понять, что, например, контейнер с монгой готов принимать соединения. предлагалось решение чекать логи контейнера до тех пор, пока не встретится строчка «ready to accept…». на это справедливо указали, что при очередном билде строку подменят и все сломается. нашел такое решение:
http://stackoverflow.com/a/15443919/5072635
Nurlan
Oleg
почитал, технически он делает то же самое что netcat
Oleg
и если нужна только wait-фича, странно тянуть все остальное
Artem
а в чем проблема их засунуть в один компоуз и чтобы общались по именам между собой?
Artem
так это изначально неудобно, городить костыли, когда можно сразу делать нормально
Artem
описываешь композ в котором во вне будет прокинут только порт nginx реверс прокси, а все остальные контейнеры крутятся и общаются внутри этого компоса
Artem
и записи в нджинкс буду вида proxy_pass http://app1
Artem
а конекшн к mysql будет по хосту app-db
Artem
ну или как там обзовешь их в композе
Artem
можно указывать конкретный сервер
Artem
сервис*
Artem
docker-compose down glpi
Artem
и docker-compose up -d glpi
Artem
для пересоздания, либо просто docker-compose restart glpi для его рестарта
Simak
docker-compose build glpi тоже сработает?
Simak
не весь файл
Simak
?
Simak
Ну суть я понял))) Спасибо большое, буду пробовать )
Artem
docker-compose stop glpi
docker-compose build glpi
docker-compose up -d --no-deps glpiкак то так должно работать
Simak
А что за ключ no-deps