Harbor OSS for docker

Harbor

Harbor is an open-source container image registry project that provides management and security for Docker images.

Overview

Harbor is a platform that facilitates the management of container images within enterprises, providing features for security and policy management. Users can use Harbor to set up private registries, store, manage, and share container images.

Details

Harbor offers several enterprise features, including:

  • Policy-based replication
  • Integrated user and role management
  • Project-based image management
  • Security features like CVE scanning
  • Interfaces such as Web UI and REST API

The Harbor repository on GitHub (https://github.com/goharbor/harbor) provides the source code and documentation for Harbor, and development and contributions are carried out by the community.

Software Usage

Harbor is used as a platform for managing and securing container images, typically in conjunction with container runtimes like Docker. It is utilized by companies and organizations to effectively manage their container images in a safe and efficient manner. Harbor offers flexible configurations and can be used in on-premises or cloud environments.

Use Cases of goharbor harbor OSS

goharbor harbor OSS is utilized as a Docker image registry. Some common use cases include:

  1. Centralized management of Docker images developed by teams or organizations
  2. Quick retrieval of necessary Docker images during infrastructure or application deployment
  3. Utilizing trusted Docker images for security reasons

Software Architecture and Use Cases

goharbor harbor OSS is mainly used when developing and operating microservices architecture or container-based applications. It is commonly used to deploy and operate applications containerized with Docker as multiple independent services.

Reasons for using goharbor harbor OSS include:

  1. Security: Setting up and operating private Docker image registries contributes to security.
  2. Manageability: It offers high convenience in version management of Docker images, access control, and auditing.
  3. Availability: By configuring replication and redundancy, operational reliability and availability can be ensured.

Differences with kaniko

kaniko is a tool that performs Docker build operations within containers without the need for a Docker daemon. On the other hand, goharbor harbor OSS provides registry functionality for Docker images.

kaniko offers flexible options in terms of security and resource management during builds, while goharbor harbor OSS specializes in image management, distribution, and security. Each tool plays a different role, and choosing the appropriate tool based on the intended use is important.

goharbor/harbor

This repository contains the source code for Harbor, an open-source container image registry. Harbor is a platform for storing, managing, and securing artifacts like Docker images and Helm charts.

packages/auth

This package provides authentication-related features, including functionalities for user authentication and role-based access control.

packages/registry

This package provides registry functionalities for Harbor, including features for storing and providing artifacts like Docker images and Helm charts.

packages/core

This package provides core functionalities for Harbor, including project management, user management, artifact management, and other basic features.

packages/chartmuseum

This package provides functionalities for ChartMuseum, enabling the storage and distribution of Helm charts.

These packages offer the core functionalities for implementing Harbor and are specialized in different aspects of Harbor's functionality. Detailed implementation and features can be understood by referring to the source code of each package.

Posts in this Series