Имеет ли смысл присваивать новое имя образу поверх стандартного в docker-compose.yml?
Изначально я хотел спросил спросить "как присвоить имя сервису в списке таковых в docker-compose.yml поверх стандартного названия образа", но тут же возник вопрос нужно ли это делать и если да, то при каких обстоятельствах.
На данный момент мой docker-compose.yml состоит из одного сервиса, но постепенно я добавлю другие:
version: "3"
services:
Database:
image: postgres
container_name: Database
restart: always
ports:
- "5432:5432"
environment:
POSTGRES_PASSWORD: "*****" # TODO Переместить в .env
После запуска контейнера у меня, естественно, postgres появится в списке образов:
Ход мыслей по данной теме
На данный момент мой проект использует postgres. Версии не указано, что наверное, не хорошо: вдруг к моменту деплоя выйдет новая версия, и тогда в локальном контейнере и том, что на VPS, будут базы данных с разным поведением.
Пока проект один, то имя образа можно оставить postgres. Но что будет, когда нужно будет начать другой проект, который тоже использует postgres? В общем случае, версии не обязаны быть одинаковыми, следовательно и образы должны быть разными. Наверное, в данном случае имеет смысл именовать образы по версиям, скажем postgres14.1 или postgres14.4.
Наиболее безопасным с точки зрения логики подходом было бы подготовить по образу на каждый проект. В этом случае по имени образа должно быть понятно, на какому проекту он пренадлежит. Скажем, postgres14.1-foo и postgres14.4-bar. Имеет ли смысл так делать - это как то, чего я хотел быть спросить.
