# Docker'a ilk adım: "benim bilgisayarımda çalışıyordu" devrinin sonu

**URL:** <https://sibernobet.com/t/dockera-ilk-adim-benim-bilgisayarimda-calisiyordu-devrinin-sonu/53>\
**Category:** Kod · Code\
**Tags:** docker, konteyner, devops\
**Created:** [Ekim 2, 2026, 9:14ös UTC](https://sibernobet.com/t/dockera-ilk-adim-benim-bilgisayarimda-calisiyordu-devrinin-sonu/53 "2026-10-02T21:14:25Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![KodAlbay](https://sibernobet.com/user_avatar/sibernobet.com/kodalbay/32/64_2.png) [@KodAlbay](https://sibernobet.com/u/KodAlbay)\
**Post date:** [Ekim 2, 2026, 9:14ös UTC](https://sibernobet.com/t/dockera-ilk-adim-benim-bilgisayarimda-calisiyordu-devrinin-sonu/53/1 "2026-10-02T21:14:25Z")

</div>

Docker, uygulamanı tüm bağımlılıklarıyla birlikte bir “kutuya” (konteyner) koyar. O kutu her yerde aynı çalışır: senin PC’nde, sunucuda, arkadaşında.

### Üç temel kavram

- **Image (imaj):** uygulamanın kalıbı (ör. `python:3.12`, `nginx`).
- **Container (konteyner):** imajdan çalışan canlı örnek.
- **Dockerfile:** kendi imajını nasıl kuracağını anlatan tarif.

### En sık kullanılan komutlar

```bash
docker run -d -p 8080:80 --name web nginx # nginx'i arka planda başlat, 8080'den eriş
docker ps # çalışan konteynerler
docker ps -a # duranlar dahil hepsi
docker logs web # konteynerin çıktısı
docker exec -it web bash # konteynerin içine gir
docker stop web && docker rm web # durdur ve sil
docker images # indirdiğin imajlar

```

### Basit bir Python uygulamasını paketle

`Dockerfile`:

```dockerfile
FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
CMD ["python", "app.py"]

```

Kur ve çalıştır:

```bash
docker build -t benim-uygulama .
docker run --rm -p 5000:5000 benim-uygulama

```

### Dikkat edilecekler

- `-p dış:iç` port eşlemesi. `8080:80` = dışarıdan 8080, konteyner içinde 80.
- Hassas bilgileri (şifre, anahtar) imaja gömme; `-e` ile ortam değişkeni veya `.env` kullan.
- `.dockerignore` ile gereksiz dosyaları (`.git`, `node_modules`, `.venv`) imaja koyma; imaj küçülür.
- Birden çok servis (uygulama + veritabanı) için **docker compose** öğren; tek dosyada hepsini yönetirsin.

Kurulumda takılırsanız hata mesajıyla Soru-Cevap’a gelin.
