Nikolay
хм
Nikolay
а это не то, что нужно?
Nikolay
https://devcenter.heroku.com/articles/container-registry-and-runtime
Nikolay
Можешь заливать свои контейнеры и бесплатно
Sergey️
автоапдейта нет
Nikolay
Типа обновляпется контейнер в регистри и происходит автодеплой?
Sergey️
да, только чтобы сунулась обнова в регистри нужно привязать аккаунт и форкать репо
Welis
ребята, пните меня на тотуриал - как подключиться с докер контейнера на бд в хост машине
Welis
django
Алексей
http://qaru.site/questions/17859/from-inside-of-a-docker-container-how-do-i-connect-to-the-localhost-of-the-machine
Алексей
1 ссылка
Welis
Welis
хорошо гуглите)
Welis
https://ru.stackoverflow.com/questions/781951
Алексей
хорошо гуглите)
скопипастил твой текст в гугл, ничего делал )
Dmitriy
Привет всем. Не получается развернуть локально проект Нужный контейнер просто не запускается. Использую команду docker-compose up -d
Dmitriy
https://image.ibb.co/gcHt6H/image.png
Sergey
лог контейнера покажи
bazzilic
Маловато информации пока
Dmitriy
Эта информация нужна, я правильно понял? https://image.ibb.co/jpL5mH/image.png
bazzilic
Эта информация нужна, я правильно понял? https://image.ibb.co/jpL5mH/image.png
а) у тебя entrypoint точно существует? б) что у тебя энтрипоинт?
Dmitriy
а) у тебя entrypoint точно существует? б) что у тебя энтрипоинт?
https://image.ibb.co/gjMWtx/image.png Это нужное? Странно, наверное, что имя отличное от имени Image - helper_app
Dmitriy
Информацию эту получил по команде docker inspect helper_app
bazzilic
https://image.ibb.co/gjMWtx/image.png Это нужное? Странно, наверное, что имя отличное от имени Image - helper_app
не странно, у тебя образ так и называется, на сркинщоте с выше видно
bazzilic
короче, найди этот файл entrypoint.sh, и посомтри какие там переводы строк
Dmitriy
короче, найди этот файл entrypoint.sh, и посомтри какие там переводы строк
А что знаичт "переводы строк"? Он совсем не большой этот файл И там в нём есть закомментированная строка " !/bin/bash" Или же это связано с centos?
bazzilic
эта строка называется шебанг и ее трогать не надо там переводы строк CR LF или LF? (если эта фраза непонятна, то гугл в помощь) должны быть LF, симптомы говорят, что может быть CR LF
Valentyn
Попробуй переопределить entrypoint на /bin/bash и убедись, что папки замаунтились в контейнер как следует
Dmitriy
Попробуй переопределить entrypoint на /bin/bash и убедись, что папки замаунтились в контейнер как следует
То есть нужно убрать комментарий и запустить команду docker-compose up -d ?
Dmitriy
Тьфу, не дописал
Dmitriy
Адрес не доступен, который прописан в настройках.
Dmitriy
Попробовал на абум указать порт, который в скрине - аналогично
Dmitriy
Хосты прописаны
bazzilic
у тебя порт не открыт вроде в контейнере. в композе там надо ports: указать, типа 9000:9000
Dmitriy
Добавил в файл docker-compose.yml строку с портами. Теперь выходит такое https://image.ibb.co/cAOi6H/image.png
Dmitriy
Всё равно не открывается по адресу, который в .env указан
bazzilic
открываться будет по localhost:9000
Dmitriy
открываться будет по localhost:9000
Банальное "страница недоступна", хотя r phpMyAdmin подключился
neb0t
лучше заюзай нетворк
neb0t
не мудохайся с портами
neb0t
в композе пробрось жопу нгинкса на 80 и 443, в нетворке сделай несколько контейнеров с арр, дб и прочей лабудой и размести их в одной сети. Далее пропиши стримы на арр и все будет работать
Hикoлaй
Hикoлaй
почему когда в композе прописываю command: "composer install --prefer-source --no-interaction" оно отрабатывает, но сразу поле этого контейнер завершает свою работу? services_sender_1 exited with code 0 если не указывать command то все запускается
Hикoлaй
PS: знаю что это можно написать докерфайле
Hикoлaй
вообщем наверно основной вопрос будет звучать так: нужно сделать две сборки dev и prod prod вроде как сделал, приложение пакуется внутрь контейнера устанавливаются зависимости и гуд но для dev очевидно же нужно volume приложения монтировать внутрь чтоб не перекомпиливать каждый раз, и после так же установить зависимости, вот как это сделать?
Hикoлaй
какой тут бест практикс?
Yevhen
ты если запускаешь без "command", посмотри что у тебя ps auxww показывает, и посмотри что показывает с командой и сопоставь
Dmitriy
в композе пробрось жопу нгинкса на 80 и 443, в нетворке сделай несколько контейнеров с арр, дб и прочей лабудой и размести их в одной сети. Далее пропиши стримы на арр и все будет работать
Всё что написал, мне практически ничего не говорит(лишь пища для гугла) Думаю, это всё так реализовано уже: https://image.ibb.co/i3GTOx/image.png Но, вроде, не хватает стримов. Т.е. их нужно как-то связать?
neb0t
@toosleep ну сделай docker exec -it container_name bash -> попробуй ping another_container если пинг таймаут - значит на этом уровне (в деф нетворке) они изолированы друг от друга, что означает трах с отрытием и закрытием портов на хост-сервере. В кастомном нетворке все контейнеры (которые в композе) находятся в одном нетворке и доступны по своему имени из другого контейнера
neb0t
да - это на стороне нгинкса
neb0t
регистрируешь новые стрыми с арр и прокси на этот стрим
Dmitriy
регистрируешь новые стрыми с арр и прокси на этот стрим
В какую сторону смотреть, не подскажите? Гугл на docker new stream молчит.
neb0t
nginx streams
Dmitriy
Окей
Dmitriy
@neb0t @bazzilic спасибо за поомщь
Sergey
в столбик писать не надо. пиши одним большим сообщением свои предложения
Anonymous
Artem
нет
Nurik
Ребят кто может подсказать или кинуть линк, на то как .env файлы организовывать, что-то типа наследования или шаблонизация. А то docker-compose.yml можно расширять/перебивать а с .env чёт не получается.
🦠
создай рядом docker-compose.override.yml и посмотри, как переопределение работает, а yaml сам по себе умеет в подстановки
Nurik
создай рядом docker-compose.override.yml и посмотри, как переопределение работает, а yaml сам по себе умеет в подстановки
Не, docker-compose.yml то переопределяет. Но переменные окружения во всех docker-compose*.yml файлах подключаю через env_file. И получается, что cейчас 3 файла .env-staging .env-prod .env-dev и в каждом есть много пересекающихся переменных. Хочется что-типа .env-base и потом уже дополнять его с помощью .env-prod и так далее.
🦠
а ты вообще понимаешь, зачем тебе _разные_ наборы переменных для окружения?
🦠
для продакшена - файл .env не используется, это против 12factor.net. .env существует как вспоможение для дев или тестинга, и в целом ничто не мешает иметь .env.dist с указанием типа окружения внутри APP_ENV=dev по дефолту например
Hикoлaй
пожалуйста подскажите простоую вещь тупому((( в докерфайле есть ADD и COPY, они помещают обьект из аргументов в контейнер, это же так, правильно же я понял? например файлы проекта для прода я помещаю в контейнер таким образом, но для девелопа это плохо, не будешь же после каждого изменения билдить контейнер. Как в туда замаунтить проект для девелопа?
Hикoлaй
ну или линку в меня швырните
Vladyslav
Я VOLUME монтирую (тут проект лежит) и на nodemon сажаю сам проект. Всё крутится и перезапускается
Hикoлaй
Я VOLUME монтирую (тут проект лежит) и на nodemon сажаю сам проект. Всё крутится и перезапускается
можно поподробне? я пробовал понять VOLUME в докерфайле, но к сожалению сломал моск, не понято в какую сторону оно монтирует, почему там только один аргумент...
Hикoлaй
думал оно работает как в композе
Vladyslav
Это никак не пример тру конфига
Vladyslav
Это для docker-compose