# Gyro imaj deposu: docker login, push, kota ve otomatik temizlik

https://www.gyrohosting.com/bilgi-bankasi/makale/gyro-kapsayici-imaj-deposu

- **Bu rehberde ne öğreneceksiniz**: İmajlarınızı Gyro'nun özel deposuna nasıl göndereceğinizi, kota ve ücreti, otomatik temizlik ayarını, imaj silmeyi ve parola yenilemeyi.
- **Süre**: 10 dakika
- **Kimin için**: İmajlarını Gyro'da saklamak isteyen geliştiriciler.
- **Gerekenler**: Gyro Kapsayıcı ortamı, bilgisayarınızda Docker.

## 1. İmaj deposu nedir?

Her Gyro Kapsayıcı ortamı, yalnız o ortamın okuyup yazabildiği **özel bir imaj deposu** içerir. Adres `registry.ist.gyrohosting.com`'dur. İmajlarınızı oraya gönderir, servisinizde aynı adresle kullanırsınız; ayrı depo bilgisi tanımlamanız gerekmez.

> **Bilgi**
> 
> Docker Hub ve GitHub gibi dış depolardan imaj çekmek **ücretsiz ve serbesttir**; Gyro deposu isteğe bağlıdır. Başka müşterilerin imajlarına erişemezsiniz, onlar da sizinkilere.

## 2. Giriş ve imaj gönderme

1. Ortamınızda **İmaj Deposu** sayfasını açın. **Erişim** bölümünde depo adresi, **kullanıcı adı** ve **imaj adı önekini** (`registry.ist.gyrohosting.com/<kodunuz>/`) görürsünüz.
2. Parolayı **Göster** ile görüntüleyip kopyalayın. Parolayı CI/CD'de gizli değişken olarak saklayın.
3. Bilgisayarınızda giriş yapın (parolayı komuta yazmak yerine stdin'den verin):

```
echo "$GYRO_REGISTRY_PASSWORD" | docker login registry.ist.gyrohosting.com \
  --username <panelde-gorunen-kullanici> --password-stdin
```

1. İmajınızı **kodunuzun önekiyle** etiketleyip gönderin:

```
docker build -t registry.ist.gyrohosting.com/<kodunuz>/web:1.0 .
docker push registry.ist.gyrohosting.com/<kodunuz>/web:1.0
```

1. **İmajlar** listesinde imajı görürsünüz. Servis oluştururken ya da güncellerken **İmaj** alanına aynı adresi yazın: `registry.ist.gyrohosting.com/<kodunuz>/web:1.0`.

> **Dikkat**
> 
> Yalnız **kodunuzun öneki** altındaki depolara yazabilirsiniz (`<kodunuz>/…`). Başka bir önekle `push` reddedilir. Kimlik doğrulama hataları art arda tekrarlanırsa giriş kısa süre sınırlanır.

## 3. Kota ve ücret

- **Ortam başına 2 GB ücretsiz.** Üstü **GB başına 0,05 €/ay** (güncel kurla TL, KDV hariç); saatlik hesaplanır ve bakiyenizden düşülür. Örnek: 3,4 GB = (3,4 − 2) × 0,05 = 0,07 €/ay.
- **Üst sınır 50 GB.** Sınıra ulaşınca ya da hizmet askıdayken yeni imaj gönderimi kapanır; eski imajları silince açılır.
- **Ölçüm:** kullanım yaklaşık 30 dakikada bir ölçülür. Aynı katmanı paylaşan imajlar bir kez sayılır. Harcamalar ekranında **İmaj deposu · 3,4 GB (−2 GB)** gibi ayrı kalem görürsünüz.
- Ortam silinince depodaki tüm imajlar da silinir.

## 4. Otomatik temizlik

Depo dolmasın diye varsayılan olarak **otomatik temizlik açıktır**:

- Her servisin **son 10 sürümünde** kullanılan imajlar ve **şu an çalışan imaj** korunur.
- Hiçbir sürümde kullanılmayan ve **7 günden eski** etiketler silinir.

**İmaj Deposu** sayfasındaki **Otomatik temizlik** bölümünden **Saklanan sürüm** (1-50) ve **Kullanılmayan (gün)** (1-90) değerlerini değiştirebilir ya da temizliği kapatabilirsiniz.

```
gyro container registry get 12345
gyro container registry images 12345
gyro container registry policy 12345 --keep 5 --untagged-days 3
```

> **Bilgi**
> 
> Silinen sürümler geri alma listesinde görünse bile imajı depoda yoksa o sürüme dönülemez. Geri dönmeniz gerekebilecek sürümlerin imajlarını saklayın ya da **Saklanan sürüm** değerini yüksek tutun.

## 5. İmaj silme ve parola yenileme

- **İmaj silme:** **İmajlar** listesinde imajın yanındaki sil düğmesini kullanın ya da `gyro container registry image-delete 12345 --repo web --tag 1.0`. Bir servisin kullandığı imaj **silinemez** ("kullanımda").
- **Parola yenileme:** **Parolayı yenile** yeni parola üretir; **eski parola hemen geçersiz olur**, CI ayarlarınızı güncelleyin. Çalışan servisleriniz etkilenmez.

```
gyro container registry rotate 12345
```

## 6. Sık sorulan sorular

**"unauthorized" hatası alıyorum, ne yapmalıyım?**

Önce `docker login` yapın; kullanıcı adı ve parolanın bu ortama ait olduğundan ve imaj adının `registry.ist.gyrohosting.com/<kodunuz>/…` biçiminde olduğundan emin olun. Parolayı yenilediyseniz CI ayarını güncelleyin.

**"denied" ile push reddedildi, ne yapmalıyım?**

Önek yanlıştır ya da yeni imaj gönderimi kapalıdır (50 GB sınırı ya da askı).

**Aynı imajı iki kez gönderirsem iki kez mi ücretlenirim?**

Hayır; aynı katmanlar tek sayılır, yalnız benzersiz katmanların toplamı ölçülür.

**Depodaki imajları nasıl yedeklerim?**

Depo ortamın bir parçasıdır ve yedek taahhüdü yoktur. Önemli imajları kendi kaynak deponuzdan yeniden derleyebilmelisiniz.

## Sıradaki adım

- [Değişkenler ve gizli değerler](https://www.gyrohosting.com/bilgi-bankasi/makale/gyro-kapsayici-degiskenler-ve-gizli-degerler)
- [GitHub Actions ile otomatik deploy](https://www.gyrohosting.com/bilgi-bankasi/makale/gyro-kapsayici-github-actions)
