Sergey
05.01.2019
10:07:06
Michael
05.01.2019
13:20:47
Привет, подскажите. У меня asp.net core приложение которое подключается к postgresql. Если я свое приложение запускаю в докере, оно сможет обращаться по прежнему к базе данных, что нужно дополнительно прописывать? Нужно базу данных реализовывать как-нибудь тоже в контейнере?
Petrovich
05.01.2019
13:23:27
лучше базу сдампить щас
и создать новый контейнер с postgresql с залитым дампом
Google
Petrovich
05.01.2019
13:23:42
и приложение отдельным сервисом повесить рядом
Konstantin
05.01.2019
13:23:59
Petrovich
05.01.2019
13:24:30
postgres:
restart: always
image: postgres:9.6.2-alpine
expose:
- "5432"
environment:
- POSTGRES_USER=shizoid
- POSTGRES_PASSWORD=shizoid
- POSTGRES_DB=shizoid
volumes:
- postgresql-volume:/var/lib/postgresql/data
- ./init:/docker-entrypoint-initdb.d/
Вот пример постгриса с дампом
Michael
05.01.2019
13:26:22
получается будет 2 контейнера, один для бд другой для моего приложения?
Petrovich
05.01.2019
13:26:29
да
в одной изолированной сетке, если ты через докер-компоуз соберешь
разве это ли не чудо?
Michael
05.01.2019
13:27:33
у меня цель, выложить это в heroku, там принцип такой же не знаете? 2 отдельных контейнера и мы общяемся между ними?
Konstantin
05.01.2019
13:28:24
2й день хероким(
не ходите туда
Petrovich
05.01.2019
13:28:36
Херока это про другое
Там кстати все просто. Заливаешь приложение и тебе в переменной среде дают порт, который ты слушаешь и ссылку на базу данных
Дамп в браузере загружаешь и живёшь
Michael
05.01.2019
13:31:03
к сожалениею многое не понял. Хотел найти бесплатный хостинг для хоби проекта, с базой данных. Вышел на хероку. С контейнерами я вообще не знаком.
Google
Konstantin
05.01.2019
13:32:03
Petrovich
05.01.2019
13:32:33
M
05.01.2019
13:32:58
Petrovich
05.01.2019
13:33:12
Я кстати не уверен что на хероку есть асп нет
Michael
05.01.2019
13:33:32
Konstantin
05.01.2019
13:34:12
Petrovich
05.01.2019
13:35:07
Можно написать не на аспе и зоститься на хероку
Michael
05.01.2019
13:35:33
В хероку нет контейнеров
Я залил свое asp.net core на хероку и оно работает. Пробовал через контейнеры и через их гит репозиторий. Сработал последний вариант, и теперь я не уверет использовались контейнеры или нет, т.к. я перед этим все настроил для контейнеров.
Petrovich
05.01.2019
13:36:17
Тогда какие проблемы у тебя сейчас?
M
05.01.2019
13:36:47
Michael
05.01.2019
13:37:17
использовать базу данных у меня проблемы.
Petrovich
05.01.2019
13:37:52
Зайди в браузере в хероку и подключи постгрис к приложению
И у тебя в переменной среды появится ссылку на твою базу, которое ты в приложении будешь использовать
Michael
05.01.2019
13:49:56
спасибо, действительно я не использую контейнеры в heroku, хотя такая возможность есть. Я с ней не разобрался, вместо этого я использую heroku git и dotnetcore buildpack. Буду разбираться дальше с бд.
Petrovich
05.01.2019
13:52:24
Никогда этим не пользовался
Я на хероку в основном простеньких ботов для телеги заливаю. Есть один с базой даже
Konstantin
05.01.2019
13:53:33
Ребят, не забываем, тут про докер
Petrovich
05.01.2019
13:54:44
Человек и интересуется как на хероку докер образы заливать
Илья
05.01.2019
14:10:29
такой вопрос, если смаунтить папку в контейнере - на пустую папку извне, данные из контейнера же должны все снаружи оказаться? или же пустая папка перезапишет то что в контейнере
Google
Konstantin
05.01.2019
14:20:08
Илья
05.01.2019
14:20:47
понял, спасибо
у меня как раз с образом проблема - пустая папка перезаписывает данные внутри
Павел
05.01.2019
14:23:02
Илья
05.01.2019
15:01:54
я просто не совсем понимаю как правильно процесс организовать, допустим есть два репозитория - фронт и бек, в них настроены докерфайлы и gitlab ci который при пуше собирает образы и пушит их в registry. затем процесс деплоя на конечном сервере - пулим образы с registry, запускаем через docker compose и вроде как все
но сейчас выясняется необходимость что исходный код нужен вне контейнера а рядом, чтобы nginx мог туда постучаться
бред какой то прям зачем я делал все эти образы если мне еще и код надо держать
Petrovich
05.01.2019
15:05:59
Хороший вопрос
Sergey❄️
05.01.2019
15:12:43
Petrovich
05.01.2019
15:13:17
А почему нельзя в образ внешний код всунуть?
Максуд
05.01.2019
15:13:56
?
Petrovich
05.01.2019
15:14:44
Илья
05.01.2019
15:14:54
хотелось бы остаться в рамках абстракции контейнеров/образов и не ковырять исходный код приложений
я пока только учусь и может не понимаю как оно должно работать по правильному
Александр
05.01.2019
15:16:10
Код не должен лежать на хосте
Вообще, ничего не должно лежать на хосте
Илья
05.01.2019
15:17:01
?
то есть только образы/контейнеры?
Александр
05.01.2019
15:19:14
Да. Конфиги/сикреты в специальных для этого предназначенных объектах. В кубере и сворме они есть
Google
Александр
05.01.2019
15:20:55
Файлы пользователей - примонтированы из nfs на худой конец, чаще всего достаточно s3 - с ним и монтировать не надо
Логи - слать в какой-нибудь грейлог
Чтобы в любой момент можно было добавить ноду и горизонтально замасштабировать. Или прибить ноду
Илья
05.01.2019
15:22:56
а если у меня простенький проект и всего два сервера(а пока и вовсе один) и до кубернетиса я пока не дорос? ?
Stefan
05.01.2019
15:28:02
shota
05.01.2019
15:36:19
всем здарова, я написал статью про докер для начинающих, правда по английски...
если кому то интересно гляньте: https://medium.com/@sjolbordi/comprehensive-introductory-guide-to-docker-vms-and-containers-4e42a13ee103
Konstantin
05.01.2019
15:44:36
it feels like it’s something so basic and common in development world
Yeah!
shota
05.01.2019
15:49:25
конкретно?
Konstantin
05.01.2019
15:51:02
конкретно?
ну там нет никаких swarm образов, ничего качать не нужно. Сам же пишешь вначале, что встроенно, а потом -- "просто надо скачать"
смешал Docker Swarm и Docker Swarm mode
shota
05.01.2019
15:53:15
встроено в client
https://hub.docker.com/_/swarm
Stefan
05.01.2019
15:54:37
Konstantin
05.01.2019
15:54:57
Stefan
05.01.2019
15:55:10
только в компоузах
Konstantin
05.01.2019
15:55:50
смотри на это как на LABEL, не более. ХЗ почему не вынесли её в LABEL? Backward compatible наверное, некоторые системы\оркестраторы тащат порт приложения из Expose
shota
05.01.2019
15:55:55
"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
05.01.2019
15:56:19
Google
Stefan
05.01.2019
15:56:59
Konstantin
05.01.2019
15:57:17
Stefan
05.01.2019
15:57:40
Konstantin
05.01.2019
15:58:06
shota
05.01.2019
15:58:41
про EXPOSE верно сказал, спосибо , а про SWARM что не так?
Stefan
05.01.2019
15:58:43
Konstantin
05.01.2019
15:58:55
Илья
05.01.2019
15:59:33
shota
05.01.2019
15:59:35
ну там нет никаких swarm образов (image ?)
https://hub.docker.com/_/swarm
как нет
Stefan
05.01.2019
15:59:46
Konstantin
05.01.2019
15:59:48
про 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.
Эта часть от легаси сворма
ildar
05.01.2019
16:00:27
жизнь слишком коротка
> Запомните: всего несколько часов попыток и ошибок могут сэкономить вам целых пять минут чтения документации