·조회수 786

Review of Harbor

I Had to Use Docker

Docker is quite fascinating. It was entirely possible to develop without it, and the initial learning curve was high. When I was a beginner, I kept wondering, “Why do I even need this?” However, once I learned and understood its necessity, it became difficult to imagine a developer’s life without Docker.

Once I got past the initial learning curve, it felt like stepping into a vast open field—there were plenty of reasons to overcome that hurdle. Recently, while taking an AI-related course, I wanted to integrate various models from Hugging Face into my own service. So, I decided to use Docker to manage the services on my home PC.

However, the issue was cost. Since I am currently taking a break from work to study, I have no income and need to save as much as possible. Subscribing to Docker Hub for a private repository felt too expensive, so I started looking for alternatives.

The first solution I found was to install docker-registry and operate it locally on my PC. But after further research, I discovered an open-source service called Harbor, which also provides various management features. It seemed like a great option, so I decided to try it.

How to Install Harbor

The installation of Harbor followed these basic steps. Since I lacked networking knowledge, I initially struggled a bit, but I learned a lot through the process.

1. Install Docker and Docker Compose

# Install Docker

sudo apt update
sudo apt install -y docker.io

# Install Docker Compose
sudo apt install -y docker-compose

Since Harbor runs in a container, Docker and Docker Compose need to be installed first.

2. Download the Harbor Installation Files

wget https://github.com/goharbor/harbor/releases/download/v/harbor-offline-installer-v.tgz

tar -xvzf harbor-offline-installer-v.tgz

cd harbor

3. Modify Configuration Files

Inside the installation directory, I modified the harbor.yml file. The key settings I changed were:

• hostname: Set to the IP address or domain of the Harbor server.

• https settings: If using an SSL certificate, configure the relevant paths.

4. Install and Run Harbor

./install.sh

5. Access Harbor Web UI

Once the installation was complete, I accessed the Harbor web UI via http:// or https:// in my browser. The default login credentials were:

• Username: admin

• Password: Harbor12345 (can be changed during installation)

Review of Harbor

Harbor’s web UI was clean and intuitive. The key advantages I noticed were:

1. Easy Private Repository Management

• I could store and manage Docker images in a private repository, reducing external dependencies and improving security.

2. User and Project Management Features

• It seemed useful for team collaboration. The ability to assign detailed user permissions made it safe for multiple users.

3. Webhooks and Security Policies

• Harbor provided features like setting up webhooks under specific conditions and performing security scans on images, making it suitable not just for personal projects but also for commercial applications.

Drawbacks

• The initial setup process had some trial and error due to networking and port configuration issues. Firewall settings and SSL certificate application might feel complicated for beginners.

• Since Harbor has many management features, it took some time to understand all the available options.

Conclusion

Harbor proved to be a powerful alternative to Docker Registry. It is a perfect solution for those who want to save costs without compromising on management features. If you need a Docker private repository on your personal server, it’s definitely worth trying.

Setting it up and managing it yourself is also a great learning experience. If you’re interested, I highly recommend giving it a shot!

김지식
김지식
웹, 앱 개발자입니다.

댓글

댓글을 불러오는 중...