@rd100

Если в проекте есть докер файл, то я могу запустить его на любой ос?

Подскажите, есть проект, где его установка требует только линукс системы или сильных заморочек с виндой
Нашел в нем докер файл
Получается, что если у меня установлен докер, то я могу запустить его через докер, где он сам всё установит и будет работать без проблем?
Или для чего нужен докер?
  • Вопрос задан
  • 131 просмотр
Решения вопроса 2
2ord
@2ord
Dockerfile может иметь инструкции для сборки как Linux, так и Windows контейнеров. Для запуска контейнера нужно убедиться, что соответствует аппаратная архитектура контейнера и ОС. Бывает, что контейнеры собираются для множества архитектур одновременно.

Контейнеры Linux можно собрать и запустить в Linux, MacOS, Windows. Контейнеры Windows, если не ошибаюсь, можно запустить только в Windows.

Так что если речь про контейнер Linux, то, как правило, это архитектура amd64. А значит, для запуска контейнера подойдет любой Linux с процессором архитектуры amd64 (server/desktop).

Перед запуском контейнера автоматически устанавливаются недостающие слои. В контейнере принято запускать единственный процесс (порой супервизора процессов).
Например, нужны 2 контейнера: старого приложения на PHP 5 и сервера Mysql 5.5. Тогда в Dockerfile приложения контейнера описывается на каком образе основано приложение (допустим, версия фреймворка) и тогда разработчик с помощью Docker собирает контейнер и запускает его.
Обычно для запуска нескольких контейнеров пишут сценарий для запуска в Docker Compose, в котором описываются различные контейнеры, необходимые для работы приложения и то как они обращаются друг к другу.

И, вообще, есть много ответов в Хабр Q&A и много статей в интернете.
Ответ написан
Комментировать
В большинстве случаев да, можно. Но это не значит что однозначно удастся избежать танцев с бубном.
Например в Windows, в отличии от Linux, имена файлов не чувствительны к регистру - могут быть неожиданные сюрпризы. Ярлыки в Windows - это не тоже самое что ссылки в Linux, ярлыки, бывает, нужно создавать вручную. Права доступа в Win отличаются от прав в Lin, а это иногда важно. Разделитель каталогов используется разный - это порой создает путаницу и требует экранизации в самых неожиданных местах.
Описанное выше справедливо в первую очередь при монтировании папок с хост-машины, а это имеет место почти всегда.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
karabanov
@karabanov Куратор тега Docker
Системный администратор
Скорее всего да.
Ответ написан
Комментировать
@Drno
зНу для этого в целом докер и придумывался в том числе... если на линуксе разворачивать - так вообще должно быть без проблем
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы