Evgeniy
Официальную документацию, ну best practices тоже
Astus4pap
Может я неправильно задаю вопрос. но у меня на локальной машине связка hginx,php-fpm,redis,mysql корректно работает. Я все настроил, но у меня ubuntu desktop и тут я под пользователем user захожу а не как на VPS где я захожу под рутом.
Andrew
а в чем проблема создать на ВПС такого же юзера и так же все настроить?
Andrew
вопрос - нафига тут докер только...
Astus4pap
а в чем проблема создать на ВПС такого же юзера и так же все настроить?
именно это я и спрашиваю, мне надо так делать или можно под рутом все запускать?
Andrew
что запускать?
Astus4pap
Andrew
у тебя либо все в контейнерах и тогда пофиг какие там права
Andrew
либо все на хосте
Alexander
Может я неправильно задаю вопрос. но у меня на локальной машине связка hginx,php-fpm,redis,mysql корректно работает. Я все настроил, но у меня ubuntu desktop и тут я под пользователем user захожу а не как на VPS где я захожу под рутом.
Если все сделано правильно, то разницы нет. Копировать файлы при сборке образа можно от любого пользователя. Когда образ готов файлы там меняться не должны по хорошему.
Andrew
а докер-контейнеры по умолчанию запускаются из под рута
Evgeniy
Можешь пример своего докер композа что у тебя на вас лежит
Evgeniy
В идеале там должны быть только описание твоих сервисов(ссылка на image) и енв параметры, секреты
Andrew
конечно баг и непонятно почему до сих пор не пофиксили)
Astus4pap
Evgeniy
У тебя в образе файлы с кодом должны быть А не монтироваться с машины
Alexander
Волумов вот этих быть не должно. Ни кода, ни конфигов, ни логов.
Astus4pap
php так собрал с юзером
Astus4pap
внутри работает в волуме все от юзера такого же как я на локалке user
Evgeniy
Есть небольшая разница между контейнерами для прода и для разработки
Evgeniy
То что у тебя на компе удобно для разработки, но не подходит для прода
Evgeniy
То что в проде не очень удобно там разрабатывать
Astus4pap
Волумов вот этих быть не должно. Ни кода, ни конфигов, ни логов.
а как файлы править? я же для разработки брал VPS чтоб типа из сети виден был.
Alexander
а как файлы править? я же для разработки брал VPS чтоб типа из сети виден был.
Если в проде, или в каком другом окружении, то никак.
Astus4pap
короч мне юзера user делать или прям от рута можно запускать?
Evgeniy
короч мне юзера user делать или прям от рута можно запускать?
Читай доку и бест практикс Ты сейчас пытаешься делать дичь
Evgeniy
а где это
Сайт докер открой там есть документация и разделы
Astus4pap
Читай доку и бест практикс Ты сейчас пытаешься делать дичь
Да это не прод, просто на локалке у меня динамик ИП, а мне надо чтобы ко мне по API с приложения запросы приходили, поэтому и взял vps с docker а так как мои конты уже настроены, мне проще докер развернуть чем там все устанавливать.
Alexander
а где это
+ https://12factor.net/ru/
Evgeniy
Да это не прод, просто на локалке у меня динамик ИП, а мне надо чтобы ко мне по API с приложения запросы приходили, поэтому и взял vps с docker а так как мои конты уже настроены, мне проще докер развернуть чем там все устанавливать.
Во первых можно было использовать localtunnel, ssh port forward, или ngrok Если ты хочешь именно развернуть на другой машине есть определенные шаги 1. build 2. push 3. run Ты пытаешься сделать 3 шаг не сделав нормально первые два, не разобравшись в них
Astus4pap
Во первых можно было использовать localtunnel, ssh port forward, или ngrok Если ты хочешь именно развернуть на другой машине есть определенные шаги 1. build 2. push 3. run Ты пытаешься сделать 3 шаг не сделав нормально первые два, не разобравшись в них
ну почему же, у меня имадж образы (hanymigame4/php:8.1.12) уже готовые в хабе лежат, я лишь движок сайта в волуме держу и файлы БД чтобы вносить правки. Про порты я нуб вобще...
Evgeniy
это билд для дева а не прода.
Странная у тебя разработка на продуктовых данных, которые к тебе откуда то идут
Astus4pap
Странная у тебя разработка на продуктовых данных, которые к тебе откуда то идут
идут с приложения под ios и еще с мобильных станций по сокетам на node.js ну а куда деваться, приходится дев в сеть тащить чтобы он виден был.
Evgeniy
Так ты в начале разработай 0. Разработать 1. Build 2. Push 3. Run
Evgeniy
Ты можешь на шаге разработки использовать разные клиенты для http например postman И кидать запросы на себя, на localhost Как закончишь разрабатывать сделаешь билд, потом пушнишь в хранилище и от туда уже целевое окружение заберёт готовые образы и начнет обрабатывать продуктовые данные В остальном ты будешь создавать Франкенштейна вместо использования инструментов по назначению
Astus4pap
Ты можешь на шаге разработки использовать разные клиенты для http например postman И кидать запросы на себя, на localhost Как закончишь разрабатывать сделаешь билд, потом пушнишь в хранилище и от туда уже целевое окружение заберёт готовые образы и начнет обрабатывать продуктовые данные В остальном ты будешь создавать Франкенштейна вместо использования инструментов по назначению
Возможно, но то что у меня в котах работает меня полностью устраивало, единственный минус это видимость из сети. Может я не так чета делаю, но не хочу сильно проникаться в суть вопроса, если оно работает. Меня лишь вопрос с правами беспокоит, потому что на локалке и в волуме у меня один юзер и я не парюсь с правами, а все удаленные хосты обычно этим напрягают что приходится копировать файлы от одного юзера а работает от другого, от сюда и танцы с бубном получаюся, а для разработки это вобще не повышает скорости...
Evgeniy
Зависит от того как ты доставляешь файлы на удалённую машину и кому там принадлежат файлы
Evgeniy
Это не тема для этого чата потому что сейчас в sftp, ftp, webdav, nfs, smb и тд уйдем
Evgeniy
Но основная причина что на другую машину не надо доставлять файлы Надо использовать образы с нужными файлами
Alexander
И не морочиться с докером.
Evgeniy
Я это уже выше предлагал, но нет лучше микроскопом гвозди забивать, а потом говорить что сообщество микроскопов токсичное
Игорь
Знатоки подскажите, в чем разница? Есть путь из директории - './app:/app' Это именованный том. Что он значит? Для чего он нужен? - 'redis_data:/bitnami/redis/data'
Stepan
Знатоки подскажите, в чем разница? Есть путь из директории - './app:/app' Это именованный том. Что он значит? Для чего он нужен? - 'redis_data:/bitnami/redis/data'
в первом случае используется конкретная папка на сервере, используется "как есть". во втором случае будет создан волюм, которвй будет подцеплен к контейнеру, при этом правильной настройкой (если сильно упрощенно) занимается докер подробности, вероятно, в оф.доке в частности, использование волюмов рекомендовано для эластика, иначе проблема с правами на запись
Stepan
А что лежит в этом волюме. Где директория, там понятно, что скорее всего какие-то кинфиги. А что лежит в этом томе?
это уже надо смотреть у приложения, что оно хранит в этой папке, которая подцепляется волюмом )
CodeByZen
Привет, подскажите как обычно делаете если надо два контейнера (например со статичискими сайтами) запустить и чтобы они слушали один порт? Понимаю что можно в контейнере сделать nginx конфиг на два сайта и положить статику либо внутрь либо куда-то еще, но хочется сделать их отдельными.
Dmitry
И дальше через location идёт обработка маршутов и портов
Dmitry
Не вижу смысла тянуть Nginx в контейнер, если не планируется что-то не ординарное
Dmitry
А статику как отдавать?
Он пишет про port и докер, значит у него есть какое-то приложение
Dmitry
Статику через alias
Alexander
А статику как отдавать?
Тут я не про конкретную ситуацию, а вообще, да.
Evgeniy
Привет, подскажите как обычно делаете если надо два контейнера (например со статичискими сайтами) запустить и чтобы они слушали один порт? Понимаю что можно в контейнере сделать nginx конфиг на два сайта и положить статику либо внутрь либо куда-то еще, но хочется сделать их отдельными.
traefik хороший вариант Можно nginx самому настраивать Но обычно проще сделать один контейнер со статикой и запускать только 1 nginx со статикой и уже внутри с помощью server name разделять И собирать его используя copy --from указывая другие образы из registry делая один со статикой
Alex
Всем доброго дня. Установил докер в домашний сервер на pxe с внутренним маленьким хардом и внешним usb боксом. Как мне получить название mount"а, что бы заставить несколько контейнеров (qbittorrent/radarr/sonarr/keepass) работать в папке находящейся в боксе?
Alex
в самом докере ? или в pxe ?
Мяулорд
в самом докере ? или в pxe ?
В среде где будешь запускать контейнера
Alex
выхлоп mount
Alex
т.е я в папке "докер" уже смогу заставить видеть контейнеры эту папку ?
Alex
если что - могу на кофе пиво проставить за свои тупые вопросы
Evgeniy
в самом докере ? или в pxe ?
В начале в твоей машине диск должен быть подключен (ты это вроде сделал) Теперь надо выбрать папку какую твои контейнеры должны видеть
Alex
В данной же папке я создам отдельные папки для каждого контейнера
Evgeniy
Ну дальше /media/sdb1/Docker:/путь внутри контейнера
Alex
а докер не видит
Alex
от чего я и бомблю
Evgeniy
А что именно он пишет что "не видит"?