Имеет ли смысл присваивать новое имя образу поверх стандартного в 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. Имеет ли смысл так делать - это как то, чего я хотел быть спросить.


Ответы (0 шт):