V
Michael
использовать базу данных у меня проблемы.
Petrovich
Зайди в браузере в хероку и подключи постгрис к приложению
Petrovich
И у тебя в переменной среды появится ссылку на твою базу, которое ты в приложении будешь использовать
Michael
спасибо, действительно я не использую контейнеры в heroku, хотя такая возможность есть. Я с ней не разобрался, вместо этого я использую heroku git и dotnetcore buildpack. Буду разбираться дальше с бд.
Petrovich
Никогда этим не пользовался
Petrovich
Я на хероку в основном простеньких ботов для телеги заливаю. Есть один с базой даже
Konstantin
Ребят, не забываем, тут про докер
Petrovich
Человек и интересуется как на хероку докер образы заливать
Илья
такой вопрос, если смаунтить папку в контейнере - на пустую папку извне, данные из контейнера же должны все снаружи оказаться? или же пустая папка перезапишет то что в контейнере
Konstantin
Илья
понял, спасибо
Илья
у меня как раз с образом проблема - пустая папка перезаписывает данные внутри
Павел
Илья
я просто не совсем понимаю как правильно процесс организовать, допустим есть два репозитория - фронт и бек, в них настроены докерфайлы и gitlab ci который при пуше собирает образы и пушит их в registry. затем процесс деплоя на конечном сервере - пулим образы с registry, запускаем через docker compose и вроде как все
Илья
но сейчас выясняется необходимость что исходный код нужен вне контейнера а рядом, чтобы nginx мог туда постучаться
Илья
бред какой то прям зачем я делал все эти образы если мне еще и код надо держать
Petrovich
Хороший вопрос
Sergey️
Ильдар
Petrovich
А почему нельзя в образ внешний код всунуть?
muayqli
muayqli
😂
Petrovich
Илья
хотелось бы остаться в рамках абстракции контейнеров/образов и не ковырять исходный код приложений
Илья
я пока только учусь и может не понимаю как оно должно работать по правильному
Александр
Код не должен лежать на хосте
Александр
Вообще, ничего не должно лежать на хосте
Илья
🤔
Илья
то есть только образы/контейнеры?
Александр
Да. Конфиги/сикреты в специальных для этого предназначенных объектах. В кубере и сворме они есть
Александр
Файлы пользователей - примонтированы из nfs на худой конец, чаще всего достаточно s3 - с ним и монтировать не надо
Александр
Логи - слать в какой-нибудь грейлог
Александр
Чтобы в любой момент можно было добавить ноду и горизонтально замасштабировать. Или прибить ноду
Илья
а если у меня простенький проект и всего два сервера(а пока и вовсе один) и до кубернетиса я пока не дорос? 🙂
Shota
всем здарова, я написал статью про докер для начинающих, правда по английски...
если кому то интересно гляньте: https://medium.com/@sjolbordi/comprehensive-introductory-guide-to-docker-vms-and-containers-4e42a13ee103
Konstantin
it feels like it’s something so basic and common in development world
Yeah!
Konstantin
Shota
конкретно?
Konstantin
конкретно?
ну там нет никаких swarm образов, ничего качать не нужно. Сам же пишешь вначале, что встроенно, а потом -- "просто надо скачать"
Konstantin
смешал Docker Swarm и Docker Swarm mode
Shota
встроено в client
https://hub.docker.com/_/swarm
Konstantin
вообще не нужно, глянь что в доке пишется
Konstantin
смотри на это как на LABEL, не более. ХЗ почему не вынесли её в LABEL? Backward compatible наверное, некоторые системы\оркестраторы тащат порт приложения из Expose
Shota
"The EXPOSE instruction does not actually publish the port. It functions as a type of documentation between the person who builds the image and the person who runs the container"
Konstantin
в композах юзаешь expose?
Konstantin
это не expose же, это publish для run
Konstantin
Konstantin
доки блин же есть)
Shota
про EXPOSE верно сказал, спосибо , а про SWARM что не так?
Konstantin
Илья
только начал изучать и та же фигня думал одно и тоже
Shota
ну там нет никаких swarm образов (image ?)
https://hub.docker.com/_/swarm
как нет
Konstantin
про EXPOSE верно сказал, спосибо , а про SWARM что не так?
in order to create a swarm, just like in case of docker registry, you need to pull an image called “swarm” from docker hub, create a container out of it and run it. Docker host that is running a swarm container will be a centralized machine from which all other machines in cluster are managed.
Эта часть от легаси сворма
Konstantin
Ильдар
> Запомните: всего несколько часов попыток и ошибок могут сэкономить вам целых пять минут чтения документации
Konstantin
Илья
а как тогда запускать поочередно?
Konstantin
легаси сворм выпилили из документации, не найду даже
Илья
чтобы раньше/позже сервис запустить
Konstantin
Илья
через links
Илья
)
Konstantin
Илья
не пинайте я тут всего день
Konstantin
links вообще про помидоры, маринованые)
Shota
надо обновить знания про сворм...
Konstantin
очередность особо не нужна в контейнерах, если придерживаться 12factors
Konstantin
глянь доку по depends_on
Илья
у меня было такое что когда айпишник статичный, и контейнер с php успевал его занять раньше чем nginx
Илья
как я понял по логам
Shota
tnx за фидбэк Konstantin
Konstantin
Konstantin
ну ты глянь почему не нужен
Konstantin
Илья
😓
Илья
почему?