Docker Image Naming Convention

Overview

This document outlines the naming conventions for Docker images used on different servers within our organization. Adhering to these conventions ensures consistency and clarity across all projects and environments.

Harbor Images Naming Convention

For Docker images hosted on the Harbor registry at zlcr.ir, use the following naming format:

zlcr.ir/<project_name>/<type>:<version>

Allowed <type> values

  • backend for backend services.
  • frontend for frontend services.
  • core for core services.

Examples

zlcr.ir/zpt/backend:1.0.0
zlcr.ir/chatbot/frontend:0.1.2
zlcr.ir/remote_sensing_project/core:1.1.0

GPU-Trained Images Naming Convention

For images related to GPU-trained models on training servers, use the following naming format:

<team>/<project_name>/<author_name>:<version>

Examples

rs/agriculture_project/milad:1.0.0
nlp/chatbot/mohammad:0.1.2
hardware/helmet/mersad:1.1.0

Base Images from Docker Hub

For standard base images such as PostgreSQL and other frequently used software pulled from Docker Hub, follow these guidelines:

Naming Format

Use the official Docker Hub image name and tag as specified by the software vendor or the official Docker repository. Always ensure you are using specific version tags to avoid unexpected behavior from changes in the latest tag.

Examples

postgres:13.3
redis:6.2.5
nginx:1.21.1

General Specifications

  • Versioning: The <version> tag must comply with the format described in the versioning documentation.
  • No latest Tag: The latest tag is not permitted and will be removed if found.
  • Naming Convention
    • Use only lowercase letters for <project_name>, <team> ,<type> and <author_name>.
    • Use underscores _ to separate words in <project_name>.