И это всё МОЁ
Я прочитал статьи про то зачем нужен докер, как на нём разворачивать простейшие приложения, но всё ещё не понимаю как я могу его использовать в своём проекте.
Мой стэк — Node.js/Express/TypeScript, MongoDB, RabbitMQ, nginx. Я бы вручную установил ОС, весь стэк, конфигурацию, и общую папку (чтобы не копировать файлы). При необходимости эмулировать продакшн — создал бы ещё один контейнер. Если бы у меня была macOS, то я бы использовал VirtualBox.
Но я до сих пор не понял что мне делать в Docker. Конкретно:
- Мне нужно все этапы установки, которые я выполнял при ручном создании контейнера, перенести в Dockerfile/docker-compose?
- Как в докере устанавливается стэк (nginx, MySQL, etc.), чтобы образы были иммутабельными? Я в некоторых Dockerfile видел
apt-install
— разве это уже не означает, что образ не иммутабелен? Ведь изменится версия библиотеки в репах — изменится и в твоём образе, разве нет? - Зачем нужен DockerHub, если можно выбрать ОС и самому установить нужный софт?
- Я вижу как в очередном Dockerfile пишут
FROM php:alpine-666
и чуть нижеRUN apt-install ...
. Это значит, что используемый образ из DockerHub — Ubuntu-based? В DockerHub все образы Ubuntu-based?