
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
жизнь слишком коротка
> Запомните: всего несколько часов попыток и ошибок могут сэкономить вам целых пять минут чтения документации