Ответы пользователя по тегу Docker
  • Почему не коннектится к MySQL через Docker container?

    Serhioromano
    @Serhioromano
    Web Developer
    / означает корневую папку хоста, а не текущую. Текущая будет .

    Ошибка подключения еще может быть из за метода аутентификации. Но как я вижу вы без пароля запустили. Ни знаю некоторые клиенты без пароли не конектятся нормально.
    Ответ написан
  • Как деплоить "сложный" проект?

    Serhioromano
    @Serhioromano
    Web Developer
    У меня похожая история. Есть 3 проекта. Один это лицо на VUE это отдельная папка. Но докера там нет, я просто все билдю и заливаю в папку на AWS S3 от туда все работает как статичный сайт.

    Есть АПИ на РНР. Так образ докера локально запущен и я его ни когда даже не обновляю. Один раз все настроил и все, только файлы РНР редактирую. А если надо запушить, то написал команду, она делает новый образ, закачивает его в AWS ECR и убивает текущий конейтнер там, так что он перезапускается с новым образом, что занимает от 10 до 30 секунд.

    Есть проект на ГО. Это среда работы каждого проекта созданного в приложении. С ним такаяже история. Работает локально с вотчером, я просто фалы редактирую, если надо запушить тоже самое.

    Ну да все делаю отдельно получается. Хотя думаю не сложно будет написать небольшой баш скрипт который будет одной командой делать все. Ведь все делается командами в комодной строке, так что просто поставить их одна за другой и все.

    Это не ответ, а поделился опытом. Может действительно есть более элегантные решения для этого вопроса, буду следить за темой.

    Редакция

    Думаю весь вопрос тут в синхронизации. Например выпустил новую версию АПИ, а сайт с ним еще работать не может ил наоборот и нужно все сделать одновременно. Я думаю здесь лучшим решением будет следующее.

    Внедряем в приложение паузу. Например вы устанавливаете флаг что идет обновление. Все кто пользуются приложением, получают окно предупреждения что они должны подождать пока идет обновление и не могут ни чего делать. В это время вы спокойно обновляете все образы, и когда все готово снимете флаг.

    А еще лучше написать баш скрипт который будет делать это все, и ставить эту работу в план. Например все готово к доставке в продкшн. Вы ставите расписание на 12.00 ночи этого дня, и в 12.00 обновление само произойдет. Зарание поставит флаг, предупредит пользователей, может письмо разошлет за 2-3 часа, в зависимости от критичности островки работы приложения.
    Ответ написан
    Комментировать
  • Как настроить 2 nginx в контейнере и на хосте?

    Serhioromano
    @Serhioromano
    Web Developer
    Если ты делаешь контейнерами то веб приложение тоже делай контейнером.

    Во первых такие задачи решать самостоятельно геморой и очень дорого. Лучше воспользоваться готовыми решениями например AWS ECS. Там легко развернуть сколько угодно контейнеров, можно даже не на выделенной машине а в кластере что повысит надежность. Там уже есть балансировка, есть бридж, так что хостовый айпи становится родительским для всех контейнеров. Создаешь доменное имя на один и тот же айпи, а в гникс просто алиасы меняешь.

    Ну а как ответ на вопрос, что бы запустить 2 веб сервера на одной хост машине нужен лоад балансер. Каждый сервер запускается на разном порту, а в зависимости от трафика на какой домен, лоад балансер перенаправляет.

    Нужно так же правильно настроить сеть. В одном ответе подобной темы не перекроешь.

    Но даже если ты все это сделаешь, все еще остаётся куча ботел неков. Что если ты захочешь CI\CD. Своими силами поднять подобное тоже не дешево. А что если захочешь масштабирование? Репликацию? Резервирование? Все сам будешь писать?

    А на AWS через 2-3 часа у тебя уже будет рабочий проект работать за 20$++ и более в месяц.
    Ответ написан