Ответы пользователя по тегу Docker
  • Как обратиться к docker-контейнеру, размещенному в vm ubuntu, с хоcт машины windows?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Если вам не нужен именно нат, то используйте мост для коннекта по сети - так намного проще, т.к. виртуалка сразу становится доступна в сети хоста по IP. Если нужен именно нат - для начала проверьте, что между виртуалкой и хостом работает правильно проброс порта, далее проверьте правильность работы проброса между контейнером и самой виртуалкой на правильном интерфейсе.
    Ответ написан
    Комментировать
  • Как создать образ докер для чтения input?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Данный скрипт нужно запускать на пк, где нет пайтона и пр.
    Поискал решения и наткнулся на docker, изучение и чтение куче статей не дают понять, правильный ли я метод выбрал?

    Нет, неправильный. Правильное решение будет:
    • Указать в ридми/мануале скрипта его зависимости
    • Попросить пользователя установить питон нужной версии при установке
    • Предложить установить питон нужной версии автоматически при установке
    • Распространять вместе со скриптом портативную версию питона нужной версии
    Ответ написан
    Комментировать
  • Почему медленно идет распаковка архива в Docker контейнере?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Поставьте себе VirtualBox, в нём сделайте виртуалку с любым линуксом (например дебиан), а уже в линуксе используйте докер. Это самое простое и удобное решение.
    Ответ написан
    Комментировать
  • Как получить удалённый доступ к http контейнеру?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    В данном случае правильнее будет:
    1. Создать для каждого проекта свой репозиторий
    2. Настроить логирование, сборку, запуск и остановку проектов в режиме разработки
    3. В процессе разработки вытягивать обновления из репозиториев и перезапускать проекты
    Ответ написан
    Комментировать
  • Как одновременно работать с одной папкой двум копиям приложения?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    В данном случае проще всего будет просто связать оба инстанса друг с другом и использовать второй инстас как резервный. Например через банальную проверку друг друга по сети запросом каким-нибудь. Один инстанс работает, а другой проверяет, что первый инстанс работает верно. Если первый инстанс не отвечает, висит, сломался и т.п. - в работу включается второй и где-нибудь ставит флаг/файл/что угодно и как, что теперь он основной, а первый - резервный будет, когда заработает и отправляет сообщение ответственному.

    Чуть более сложный вариант: использовать, например, редис для хранения состояния процесса работы и через него синхронизировать инстансы. Например: первый сервис определил для себя задачу и сообщает об этом второму, что он взял такую-то задачу или такие-то файлы. Соответственно второй сервис эти файлы не трогает. Или, оба инстанса смотрят в каталог, как только что-то обнаруживают - помещают в очередь задач. А при появлении задачи в очереди - оба сервер генерируют случайно число и так выбирают кто из них возьмет следующую задачу из очереди. Т.о. можно, этих инстансов наплодить сколько угодно.

    Более правильный вариант: разделить функционально вашу задачу на несколько более простых. А именно: вместо проверки каталога, запустить на том сервере, где находится данный каталог с файлами сервис наблюдения ФС, который использует системные уведомления об изменениях файловой системы. И при наступлении нужных событий - отправляет запрос в очередь на обработку, например в тот же редис, а оттуда запрос забирает один из инстансов и обрабатывает его.
    Ответ написан
  • Как реализовать возможность запускать пользовательский код на сервере и отдавать результат?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Проще всего поискать готовые решения и либо использовать их либо посмотреть на реализацию и сделать по аналогии. А так - использовать Docker или любой аналог. Ставим на сервер докер, настраиваем отдельные контейнеры для каждого ЯП с максимальной изоляцией от ОС и хостовой ОС (например ограничить интернет, запретить запуск системных приложений и прочее). Полученный от пользователя код передаем в контейнер, например как файл в примонтированном каталоге, запускаем скрипт для выполнения кода, сохраняем результат и возвращаем его пользователю.
    Ответ написан
    1 комментарий
  • Зачем в образ docker в качестве первого слоя устанавливают linux дистрибутив?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Затем, что линукс самая распространённая серверная ОС и докер в основном применяется на серверах и разработчиками серверного/сетевого ПО. Кроме того, как уже правильно сказали про контейнерезацию винды, есть еще и другие ОС: например FreeBSD. Там тоже есть контейнеризация и вирутализация, например - jails, точно так же позволяет запускать контейнеры с FreeBSD внутри и ставить там эксперименты или запускать различное ПО. И есть еще куча других инструментов. А суть контейнеризации проста: поставить конкретные зависимости для конкретного ПО и легко ими управлять, при этом не влияя на хостовую ОС и не получая от неё же влияние. Что проще - запустить один настроенный докер контейнер или же выполнить кучу команд и поставить кучу дополнительного софта, который может оказаться несовместим с текущей конфигурацией?
    Ответ написан
    Комментировать
  • Docker соединяет frontend и backend?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Можно с докером, можно без. Можно раздельно, можно вместе. По-разному можно, в общем.
    Ответ написан
    Комментировать
  • Можно ли использовать docker на виртуальное машине VirtualBox?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Да, можно, например в VirtualBox все работает без проблем.
    Ответ написан
    Комментировать
  • Как работает docker на MacBook с m1?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    На М1 работает отлично: десяток-полтора контейнеров перевариваются вполне нормально. Все запускается, работает как надо. Да, х86 виртуализация работает медленно - но тут ничего не поделать, хост все же арм. Если нужна максимально быстрая виртуализация х86 - надо использовать х86 машину с линуксом или виндой.
    Ответ написан
    Комментировать
  • Разработка в Windows 10 под Linux с Docker?

    VoidVolker
    @VoidVolker Куратор тега Windows
    Dark side eye. А у нас печеньки! А у вас?
    Просто поставьте себе VirtualBox. Делаете один раз базовую настройку нужной версии нужной ОС. Далее делаете нужное количество клонов ОС в один клик для нужных вариантов рабочего окружения. И далее используете нужную ОС. Как виртуалка сломается — делаете новый клон с чистой ОС.
    Ответ написан
    Комментировать
  • Как исправить ошибку при создании образа?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Прежде чем создавать топик на ресурсе, посвященному вопросам, почитайте пожалуйста очень полезную статью "Как правильно задавать вопросы. ", подтяните немного знания по русскому языку и попробуйте еще раз задать свой вопрос в более осмысленной формулировке.
    Ответ написан
    2 комментария