Итак, я прочитал о Docker, и я понял большинство из них. Тем не менее, у меня есть вопрос: почему большинство учебных пособий по-прежнему разрабатывают все приложение в своей локальной среде и устанавливают такие инструменты, как Node, Python или Ruby, если вы можете просто создать связывающее монтирование и разработать все внутри контейнера? Я что-то не так понял или это неправильный подход? Ниже приведен простой файл Docker, который я использовал для разработки тестового приложения:
FROM node
WORKDIR /home/app
VOLUME . .
И отсюда я бы заходил в терминал контейнера, запускал npm init
и начинал разработку моего приложения.
Теперь моя цель - сделать мой компьютер как можно более чистым, без необходимости устанавливать Java, Node, Ruby и т. Д. Какой будет наилучший подход для этого? А также, как этот подход работает в машине Windows? В настоящее время я использую Ubuntu.
Я не хочу докеризировать приложение. Я хочу собрать все приложение, составив контейнеры. Например, я хочу иметь чистую установку manjaro, затем установить docker, затем получить образ spacevim, а затем запустить новое приложение в java, например, в каком-нибудь локальном каталоге, с возможностью связать мой локальный каталог с контейнером java, чтобы он мог работать компилятор. Затем, если я хочу, запустите новое приложение в узле и сделайте то же самое. Во всех случаях я буду использовать локальный каталог с исходным кодом, отредактированный моим контейнером vim и запущенный из языкового контейнера. это возможно? поэтому мне не нужно устанавливать nvm, nodenv или какие-либо менеджеры версий и т. д.
Я могу вручную запустить этот код, например:
docker container run --rm -it -v /home/alex/Documents/REPOs/testing:/home/app -p 3000:3000 --name node node:latest bash
И это позволяет мне работать в каталоге / home / app / как 2-х стороннее связывание, но как я могу добиться того же с помощью файла dockerfile или docker-compose, чтобы я мог поделиться своей конфигурацией и прекратить использовать менеджеры версий для каждого языка? ,