Alexander
Есть вариант отдельно сервисы из консоли запустить с параметром publish
Alexander
но обновлять придется так же по одному как понимаю
Александр
Слышал, что через пару лет swarm умрет, все будет работать через kubernetes
Александр
Есть вариант отдельно сервисы из консоли запустить с параметром publish
ports и есть publish вроде. А на что ругается? На этой ноде этот порт случайно не занят?
Александр
Другим сервисом
Alexander
ports и есть publish вроде. А на что ругается? На этой ноде этот порт случайно не занят?
если я запускаю по одиночке то все нормально, вижу извне, а вот именно то что деплою через docker stack deploy (конфигурация docker-compose) не пробрасывается, сейчас смотрю на опции deploy, возможно в них чего нужно добавить
Alexander
Другим сервисом
не занято, сейчас крутятся отдельные сервисы на 9000ом и 5000м портах
Alexander
еще нашел упоминание что был баг с потерей портов в 17.05.0-ce
Alexander
возможно обновление до 17.09 поможет
Александр
А пример docker-compose-сервиса можешь скинуть?
Александр
Основы swarm, если интересно кому. Про проблему ports ни слова) у него все работает
Александр
https://www.pluralsight.com/courses/docker-swarm-mode-getting-started
Alexander
А пример docker-compose-сервиса можешь скинуть?
https://gist.github.com/Skesh/9095da9c65a559357b4170f6da72bb1f
Alexander
склеивал из двух конфигов, возможен дубляж
Alexander
по идее хочу что б nginx только был виден извне и проксировал к апи по обращению
Anonymous
Есть ли свежий Docker образ с Django?
Aleksandr
Anonymous
Гугл привёл к официальному образу, который перестал обновляться в 2016 году.
Gustavo Imputsa
Есть ли свежий Docker образ с Django?
пишу на глаз FROM python:3 ADD requirements.txt . RUN pip install -r requirements.txt ADD . . ENTRYPOINT ["python3", "manage.py", "runserver", "0.0.0.0:8000"]
Gustavo Imputsa
ну и ngix туда
Gustavo Imputsa
если серьезно, почему нельзя собрать свой? у каждого же свой стек, у кого то есть БД, у кого то нет
Anonymous
+ образы на Docker hub (неофициальные)
Anonymous
В общем, проще свой запилить
Chebyrash
пишу на глаз FROM python:3 ADD requirements.txt . RUN pip install -r requirements.txt ADD . . ENTRYPOINT ["python3", "manage.py", "runserver", "0.0.0.0:8000"]
Имейте ввиду, что это Джанго на дев сервере. В продакшн такое нельзя.
Aleksandr
+ образы на Docker hub (неофициальные)
Ну и? Либо старый официальный либо новый неофициальный. У нас других нет
Gustavo Imputsa
Имейте ввиду, что это Джанго на дев сервере. В продакшн такое нельзя.
а ну в продакше у меня так же, только с гита берется что то не так?
Chebyrash
Chebyrash
Из официальной документации
Gustavo Imputsa
Ну и? Либо старый официальный либо новый неофициальный. У нас других нет
там в описании к образу указанно, что вы сами его можете поставить из reqs.txt поверх python3
Gustavo Imputsa
Из официальной документации
а, ну да, спасибо в проде на 80 порту он не провисит долго, он однопоточный или что то оипо того, а китайские сканеры не рвут соединение
Anonymous
https://www.google.ru/search?q=django+gunicorn&oq=django+gunicorn&aqs=chrome..69i57j69i65j0l4.10872j0j1&sourceid=chrome&ie=UTF-8 https://docs.djangoproject.com/en/2.0/howto/deployment/wsgi/gunicorn/ https://djbook.ru/examples/62/ https://pythonworld.ru/web/django-ubuntu1604.html https://hackernoon.com/deploy-django-app-with-nginx-gunicorn-postgresql-supervisor-9c6d556a25ac https://djangofan.ru/gunicorn-nginx-django-ubuntu
John
Народ, а как вы статику пакуете в контейнеры?
John
Я чё то не осилил сделать универсальный имедж, который бы на деве включал вебпак дев сервер с перезагрузками страниц при изменениях, хмр и тд, а на проде билдил и тупо раздавал нжинксом
John
Может кто поделится опытом?
Nklya
Во-первых, это красиво))
John
Во-вторых это удобно
Dan
Во-первых это глупость.
Dan
Прод и дев это должны быть разные, совершенно разные вещи
John
Прод и дев это должны быть разные, совершенно разные вещи
Это почему? Чтобы при релизе какое-нибудь неожиданное говно вылезло?
John
Чем меньше различий, тем меньше проблем
Chebyrash
Мы не говорим про различия в бизнес логике, а про деплой и конфигурацию
Chebyrash
С этим я согласен
Ну так вы спрашиваете про докерфайл и как деплоить ваше приложение
John
Надо завести себе резиновую уточку для дебильных вопросов
Anton
Привет. Хочу сделать автодеплоинг, когда комитаешь в мастер. Есть сервер с убунтой и есть гитлаб. Всё работает, но возникла проблема с портами. Я использую докер в докере и не совсем понимаю как это должно работать) .gitlab-ci.yml: image: docker:latest services: - docker:dind deploy: stage: deploy script: - apk update - apk add py-pip - pip install docker-compose - docker-compose up -d --force-recreate --build web - docker-compose ps only: - master И получаю: Creating app_web_1 ... done $ docker-compose ps Name Command State Ports --------------------------------------------------- app_web_1 npm start Up 0.0.0.0:3000->3000/tcp Помогите пожалуйста достучаться до этого внутреннего контейнера, а то он меня не слышит) Спасибо.
🦠
для скорости)
Anton
Расскажите пожалуйста, а зачем вы используете докер в докере? Просто интересно.
Потому-что могу :D И потому-что иначе у меня ничего не получилось.
Chebyrash
Помню как-то читал статью JPetazzo где он объяснил, что докер в докер используют сами разработчики докера.
Chebyrash
Using Docker-in-Docker for your CI or testing environment? Think twice. https://jpetazzo.github.io/2015/09/03/do-not-use-docker-in-docker-for-ci/
Gustavo Imputsa
Я в гитлабе просто под тесты которые собирают контейнер создал ssh воркер в виртуалке
Evgenii
Using Docker-in-Docker for your CI or testing environment? Think twice. https://jpetazzo.github.io/2015/09/03/do-not-use-docker-in-docker-for-ci/
Тут написано не делать так, а выше вы пишите это гуд, может определитесь?
Petr
У меня есть веб-приложение (PHP), я научился запаковывать его в контейнер с php-fpm, дополнительно запскаю контейнер с nginx (описал docker-compose.yml) - всё отлично. Далее моему приложению требуется запуск по cron некоторых php скриптов (например, раз в день подгрузка курсов ЦБРФ). Вопрос: где описать запуск cron скриптов? Как это решается в мире Docker?
Anonymous
У меня есть веб-приложение (PHP), я научился запаковывать его в контейнер с php-fpm, дополнительно запскаю контейнер с nginx (описал docker-compose.yml) - всё отлично. Далее моему приложению требуется запуск по cron некоторых php скриптов (например, раз в день подгрузка курсов ЦБРФ). Вопрос: где описать запуск cron скриптов? Как это решается в мире Docker?
Поддерживаю вопрос. Как лучше дергать сопутствующие задачи по коду. Есть довольно большой php код. Есть и кроны и нечто вроде сервисов, которые очереди слушают и дергают php код, и их ТУЧА. Как это лучше рулить? Дла каждого сервиса по контейнеру лепить и пробрасывать туда код? Если билдить контейнеры с кодом, то обрыза до терабайтов вырастут.
Viacheslav
"Официально" ? what
Ну не официально. "Идеологические верно", "по правильному", "настоящие пацаны так делают" и теде и тепе
Anonymous
Ну не официально. "Идеологические верно", "по правильному", "настоящие пацаны так делают" и теде и тепе
Ну, не совсем идеологически верно, потому что крон будет дергать другие процессы. И лога по факту не будет в docker logs. По идее нужно пилить каждый сервис отдельно и дергать в отдельном контейнере
Anonymous
Anonymous
кого, его?
Ну, volume с кодом на 100500 контейнеров-сервисов
Evgenii
Ну, я тоже думал об этом. А как его пробросить в kubernetes ?
тут и думать не надо, нужно сильно много принять веществ, чтобы билдить образ с кодом
Evgenii
Ну, volume с кодом на 100500 контейнеров-сервисов
https://kubernetes.io/docs/concepts/storage/volumes/ Не благодари