# Ubuntu için Güncel Docker Engine Kurlumu

Merhabalar bu rehberde [**Güncel**](#user-content-fn-1)[^1] Docker Engine nasıl kurulur bunu öğreneceğiz.

## Desteklenen Platformlar

| Platform                                                                            | x86\_64 / amd64 | arm64 / aarch64 | arm (32-bit) | ppc64le | s390x |
| ----------------------------------------------------------------------------------- | --------------- | --------------- | ------------ | ------- | ----- |
| [CentOS](https://docs.docker.com/engine/install/centos/)                            | ✅               | ✅               |              | ✅       |       |
| [Debian](https://docs.docker.com/engine/install/debian/)                            | ✅               | ✅               | ✅            | ✅       |       |
| [Fedora](https://docs.docker.com/engine/install/fedora/)                            | ✅               | ✅               |              | ✅       |       |
| [Raspberry Pi OS (32-bit)](https://docs.docker.com/engine/install/raspberry-pi-os/) |                 |                 | ✅            |         |       |
| [RHEL](https://docs.docker.com/engine/install/rhel/)                                | 🚧              | 🚧              |              |         | ✅     |
| [SLES](https://docs.docker.com/engine/install/sles/)                                |                 |                 |              |         | ✅     |
| [Ubuntu](https://docs.docker.com/engine/install/ubuntu/)                            | ✅               | ✅               | ✅            | ✅       | ✅     |
| [Binaries](https://docs.docker.com/engine/install/binaries/)                        | ✅               | ✅               | ✅            |         |       |

## Ubuntu için kurulum

### Gereklilikler:

Docker 64-Bit sistem aşağıdaki Ubuntu versiyonlarında çalışmaktadır.

* Ubuntu Noble 24.04 (LTS)
* Ubuntu Jammy 22.04 (LTS)
* Ubuntu Focal 20.04 (LTS)

{% hint style="info" %}
Docker Engine x86\_64 (veya amd64), armhf, arm64, s390x ve ppc64le (ppc64el) mimarileri ile uyumludur.
{% endhint %}

Güncel olmayan paketlerin silinmesi için aşağıdaki komutu çalıştırabilirsiniz eğer hiç kurmadıysanız bu adımı atlayabilirsiniz

```bash
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
```

{% hint style="info" %}
Docker imaj, container ve volum verileri /var/lib/docker altında bulunur. Bu veriler otomatik olarak silinmez eğer temiz kurulum yapmak isterseniz\
\
sudo rm -rf /var/lib/docker komutu ile bu verileri silebilirsiniz\
sudo rm -rf /var/lib/containerd komutu ile diğer container konfigürasyonlarını silebilirsiniz
{% endhint %}

## Docker Engine Kurlumu

İlk adım olarak aşağıdaki kodu terminale kopyala yapıştır yaparak güncel Docker apt repolarını kuralım

{% hint style="info" %}
Eğer Ubuntu tabanlı farklı bir dağıtım kullanıyorsanız, aşağıdakiler gibi

* Linux Mint
* Zorin OS
* Elementary OS
* Pop!\_OS
* Peppermint OS
* GalliumOS
* KDE Neon
* Linux Lite
* Bodhi Linux
* Pinguy OS
* Feren OS
* Voyager Live\
  vb\
  \
  \&#xNAN;**$VERSION\_CODENAME** değişkenini kullandığınız dağıtımının karşılık geldiği Ubuntu sürümü ile değiştirmeniz gerekmektedir.\
  \
  Örneğin: Linux Mint için bu değer **UBUNTU\_CODENAME** ortam değişkeninde saklanmaktadır. yapmanız gereken aşağıdaki scripte bulunan **$VERSION\_CODENAME** değerini **$UBUNTU\_CODENAME** ile değiştirmenizdir.\
  \
  Diğer durumlarda Ubuntu versiyon kodu elle yazılabilir.\
  Örneğin 22.04 Tabanlı bir dağıtımda **$VERSION\_CODENAME** yerine Ubuntu 22.04 'ün versiyon kodu olan **jammy** yazılabilir
  {% endhint %}

```bash
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
```

güncel apt repoları kurulduktan sonra artık docker paketlerini indirebiliriz yine aşağıdaki kodu terminale kopyala yapıştır yaparak paketleri kurabilirsiniz.

```bash
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
```

artık Docker Engine sistemimize kuruldu test etmek için aşağıdaki komutu çalıştırabiliriz.

```bash
 sudo docker run hello-world
```

Bu komutla birlikte ekrana **hello from docker!** ile başlayan bir mesaj beklenmekte bu mesaj geldiğinde kurulumu başarıyla tamamlamış oluyoruz

## Kurulum sonrası

Eğer docker komutunu sudo ile kullanmak istemezseniz bunun için sistem kullanıcınınızı docker grubuna eklemeniz gerekmekte bunu aşağıdaki kod ile yapabilirsiniz tabii bu size güvenlik riski de getirebilir. ayrıntılı bilgi için <https://docs.docker.com/engine/install/linux-postinstall/>

```bash
sudo usermod -aG docker $USER
```

{% hint style="info" %}
Bu komutun geçerli olabilmesi için bilgisayarını yeniden başlatmanız gerekebilir
{% endhint %}

{% embed url="<https://github.com/ResulCelik0>" %}
Bu yazı Resul ÇELİK tarafından yazılmıştır.
{% endembed %}

[^1]: Eski versiyon linux dağıtımlarının repoları güncel olmadığından Docker Engine kurulumu bu repolardan yapıldığından eski versiyon kurulabiliyor.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.yavuzlar.org/diger/populer-yazilimlarin-kurulumlari/ubuntu-icin-guncel-docker-engine-kurlumu.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
