Sonatype Nexus Repository OSS ile docker insecure-registries tanımlanması






Sonatype Nexus Repository OSS Nedir?

Sonatype Nexus Repository OSS, yazılım geliştirme süreçlerinde kullanılan, açık kaynaklı ve güçlü bir depo yönetim aracıdır. Bu platform, yazılım projelerinde kullanılan ikili dosyaların (binary) depolanması, yönetimi ve dağıtımı için tasarlanmıştır. Maven, npm, Docker, Python gibi farklı ekosistemlerdeki paketleri destekleyerek geliştiricilerin ihtiyaç duyduğu araç ve kütüphaneleri merkezi bir noktadan güvenli ve hızlı bir şekilde sağlamalarına olanak tanır. Aynı zamanda, Nexus Repository OSS, yüksek ölçeklenebilirliği ve güvenilirliği sayesinde büyük projelerde dahi etkili bir çözüm sunar.

Neden Kullanırız?

Nexus Repository OSS, yazılım geliştirme süreçlerini optimize etmek ve güvenli hale getirmek için kritik bir rol oynar. Bu platform sayesinde ekipler, farklı kütüphaneleri ve bağımlılıkları merkezi bir depoda tutarak, sürüm yönetimi ve güncellemeleri daha kolay bir şekilde kontrol edebilir. Güvenlik açısından bakıldığında, depodaki bileşenleri analiz ederek kötü amaçlı veya eski versiyonların kullanılmasını önler. Ayrıca, yerel bir proxy depo görevi görerek, internet bağlantısına bağımlılığı azaltır ve dış kaynaklara erişimi hızlandırır. Sonuç olarak, Nexus Repository OSS, daha verimli bir geliştirme süreci ve güvenli bir yazılım yaşam döngüsü için vazgeçilmez bir araçtır.

Nexus Docker Proxy repo oluşturulması

Çalışma Ortamı

BASH

# Sonatype Nexus Repository OSS Sunucu
IP: 192.168.1.207
Arayüz: http://192.168.1.207:8081

# Sunucu
IP: 192.168.1.208
OS: Ubuntu 24.04.1 LTS
Docker Runtime

      

Blob store oluşturulması

BASH

# Sonatype Nexus Repository OSS Blobstore oluşturulması

Administration > Repository > Blob Stores > Create a Blob Store
http://NEXUS_WEB_UI/#admin/repository/blobstores

Type: file
Name: dockerIO

Type: file
Name: ghcrIO

Type: file
Name: gcrIO

Type: file
Name: dockerProxyGROUP

      

Docker proxy repolarının oluşturulması

BASH

# Sonatype Nexus Repository OSS Docker prxoy repo oluşturulması

# docker.io 
Administration > Repository > Repositories > Create Repository > docker (proxy)

Name: dockerIO
Allow anonymous docker pull: İŞARETLİ
Enable Docker V1 API: İŞARETLİ

Remote storage: https://registry-1.docker.io
Use the Nexus Repository truststore: İŞARETLE

Auto blocking enabled: İŞARETİ KALDIR
Maximum component age: -1

Blob store: dockerIO

# quay.io 
Administration > Repository > Repositories > Create Repository > docker (proxy)

Name: quayIO
Allow anonymous docker pull: İŞARETLİ
Enable Docker V1 API: İŞARETLİ

Remote storage: https://quay.io
Use the Nexus Repository truststore: İŞARETLE

Auto blocking enabled: İŞARETİ KALDIR
Maximum component age: -1

Blob store: quayIO

# ghcr.io 
Administration > Repository > Repositories > Create Repository > docker (proxy)

Name: ghcrIO
Allow anonymous docker pull: İŞARETLİ
Enable Docker V1 API: İŞARETLİ

Remote storage: https://ghcr.io
Use the Nexus Repository truststore: İŞARETLE

Auto blocking enabled: İŞARETİ KALDIR
Maximum component age: -1

Blob store: ghcrIO

# dockerProxyGROUP
Administration > Repository > Repositories > Create Repository > docker (proxy)

Name: dockerProxyGROUP
HTTP: 3030
Allow anonymous docker pull: İŞARETLİ
Enable Docker V1 API: İŞARETLİ

Maximum component age: -1

Blob store: dockerProxyGROUP

Member repositories:
dockerIO
quayIO
ghcrIO

      

Docker insecure-registries eklenmesi

BASH

# docker insecure-registries eklenmesi

sudo vim /etc/docker/daemon.json

# aşağıdaki satırı ekle
{
    "insecure-registries" : [ "192.168.1.207:3030" ]
}

# docker ı yeniden başlat
sudo systemctl restart docker

# kontrol edelim
docker info | grep -i regist -A10