Нужно ли для каждого компонента(php, nginx, DB) создавать отдельный образ?
на докер хабе есть официальные образы
для сборки всего воедино нужен docker-compose
Например, если у меня отдельный образ для БД, как я должен к ней подключаться?
при создании дать имя контейнеру --name
docker run --rm -it --name deb1 debian bash
и прилинковать второй контейнер
docker run --rm -it --name deb2 --link deb1 debian bash
теперь второй контейнер может разговаривать с первым по имени deb1
И как работать с кодом?
использовать volume( опция -v)
на хосте файл:
echo 'hello world' > /tmp/yo.txt
создаем контейнер
docker run --rm -it -v /tmp/yo.txt:/tmp/yo.txt debian bash
и теперь у нас в контейнере есть доступ к этому файлу
Может быть есть какое то пособие для совсем тупых, где это все доступно объясняется?
https://docs.docker.com/get-started/