> ## Content Index
> Fetch the complete content index at: https://mennankose.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# Docker Image'larının HTTP API Kullanılarak Silinmesi
- URL: https://mennankose.com/docker-imagelarinin-http-api-kullanilarak-silinmesi/
- Published: 2019-07-15T16:40:42.000Z
- Updated: 2026-10-29T05:26:22.000Z
- Author: Mennan Köse
- Tags: .Net Core, API, C#, Docker, #Import 2026-11-06 07:43

Merhabalar.

Bu yazımda private container registry’de bulunan Docker image’larının Docker’ın HTTP API’ını kullanarak nasıl silineceğinden bahsedeceğim.

Image’ların silinmesi 2 adımdan oluşmaktadır. İlk adım image ismi ve tag değerinin digest değerini almak, ikinci adım ise digest değerini API’a göndererek Docker üzerinden image’ın silinmesi ile sağlamak.

Digest değerini almak için öncelikle container registry’e aşağıdaki gibi bir HTTP isteği göndermek gerekmektedir.

```http
GET /v2/exampleimage/manifests/latest HTTP/1.1
Host: cr.example.com
Accept: application/vnd.docker.distribution.manifest.v2+json
Authorization: Basic YXNkOmFzZA==
User-Agent: PostmanRuntime/7.15.0
Cache-Control: no-cache

```

Container registry’e bağlanmak için **Basic Authentication** kullanılmaktadır. **Authorization** header’ında ilgili kullanıcının adı ve şifre değeri gönderilmelidir. HTTP isteğinin path bölümünde bulunan **exampleimage** ise silinmek istenen image’ın ismidir. Path’in son kısmında yazan **latest** ise silinmek istenen **image’ın sürümüdür**.

İsteği gönderdikten sonra aşağıdakine benzer bir cevap gelmelidir.

```
{
    "schemaVersion": 2,
    "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
    "config": {
        "mediaType": "application/vnd.docker.container.image.v1+json",
        "size": 4617,
        "digest": "sha256:9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"
    },
    "layers": [
        {
            "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
            "size": 22496034,
            "digest": "sha256:9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"
        },
        {
            "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
            "size": 17694102,
            "digest": "sha256:9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"
        },
        {
            "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
            "size": 2977123,
            "digest": "sha256:9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"
        },
        {
            "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
            "size": 62093437,
            "digest": "sha256:9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"
        },
        {
            "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
            "size": 136,
            "digest": "sha256:9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"
        },
        {
            "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
            "size": 18044387,
            "digest": "sha256:9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"
        }
    ]
}
```

Digest değerimiz gelen cevaptaki 7\. satırda bulunmaktadır.

Digest değerimizi aldığımıza göre artık image’ı silme işlemine geçebiliriz. Silme işlemini gerçekleştirmek için aşağıdaki gibi bir HTTP isteği göndermemiz gerekmektedir.

```http
DELETE /v2/exampleimage/manifests/sha256:9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08 HTTP/1.1
Host: cr.example.com
Accept: application/vnd.docker.distribution.manifest.v2+json
Authorization: Basic YXNkOmFzZA==
User-Agent: PostmanRuntime/7.15.0
Cache-Control: no-cache

```

Yukarıdaki örnek HTTP isteğinde görülebileceği gibi **[http://cr.example.com//v2/exampleimage/manifests/sha256:9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08](http://cr.example.com//v2/exampleimage/manifests/sha256:9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08?ref=mennankose.com)** adresine **DELETE** isteği atmamız yeterlidir. Adresimizin sonunda **sha256** ile başlayan ifade, bizim image’ımızın **digest** değeridir.

İsteği gönderdikten sonra herhangi bir cevap gelmeyecektir. İşlemin başarılı olup olmadığını gelen **HTTP durum kodundan** anlayabiliriz. Gelen durum kodu **HTTP 202 Accepted** ise image silme işlemi başarıyla gerçekleşmiş demektedir.

Bu işlemleri otomatik yapan .Net Core projesine [https://github.com/mennan/DockerImageRemover](https://github.com/mennan/DockerImageRemover?ref=mennankose.com) adresinden ulaşabilirsiniz.