> For the complete documentation index, see [llms.txt](https://ayhanyalcinsoy.gitbook.io/pisilinux-gelistirici-klavuzu/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ayhanyalcinsoy.gitbook.io/pisilinux-gelistirici-klavuzu/docker-kullanimi.md).

# Docker Kullanımı

Öncelikle pisilinux/**main** ve pisilinux/**core** depolarını kendi github sayfana **fork**la. Sonra çatalladığın depoları aşağıdaki gibi yereline klonla. burada kullanıcı\_adı github kullanıcı adıdır. Ona göre düzenle.

**`git clone git@github.com:kullanıcı_adı/main.git`**

Aşağıdaki komutları kullanarak git ayarlarını yap.

**`git config --global user.name "......"`**

**`git config --global user.email "......"`**

sonra **/home/kullanıcı\_adı/** dizinine **pisi-2.0** isminde bir klasör aç

pisi-2.0 bu klasörün içine clone yaptığın main ve core klasörlerini at, **hatta buraya doğrudan clone et**

sonra core dosyasının içine gir

**`git remote add upstream git@github.com:pisilinux/core.git`**

komutunu ver

sonra main klasörüne gir

**`git remote add upstream git@github.com:pisilinux/main.git`**

komutunu ver

bundan sonra her iki klasörde de

**`git pull upstream master`**

komutuyla pisilinux deposundaki değişiklikleri al

**`git push origin master`**

komutuyla kendi forkuna gönderebilirsin

***gelelim docker bağlamaya***

konsole aç

**`sudo service docker start`**

bu komuttan sonra **YENİ** bir konsole sayfası aç

**`sudo docker pull ertugerata/pisi-chroot-farm`**

`sudo docker run -v /home/kullanıcı_adı/pisi-2.0:/git -v /home/kullanıcı_adı/pisi-2.0/build:/root -v /var/cache/pisi/archives:/var/cache/pisi/archives -v /var/cache/pisi/packages:/var/cache/pisi/packages -itd --security-opt=seccomp:unconfined ertugerata/pisi-chroot-farm bash`

**`sudo docker ps`**

bu komuttan sonra çıkan konteynır\_adı her ne ise ona **dikkat** ederek,

**`sudo docker attach konteynır_adı`**

**`service dbus start`**

**`pisi ur`**

**`pisi up -dvsy`**

derlemeye hazırız.

pisi-2.0/main/desktop/kde/applications/kpat klasörümüzdeki **kpat** adlı paketi şöyle derliyoruz:

**`pisi bi /git/main/desktop/kde/applications/kpat/pspec.xml -d --ignore-safety`**

derlediğimiz paketin, runtime dependency lerini anlamak için;

az önce yaptığımız paketi kuruyoruz,

**`pisi it kpat......pisi --ignore-safety`**

**`checkelf -s -x kpat*.pisi`**

çıkan rapora göre, runtime deps düzenliyoruz.

bitti.

DİKKAT: Paketin Işleri Bitince, Yeni Pakete Geçmeden, sonradan kurduğumuz dependency leri **temizlemek** için

**`pisi hs -t 78`**

çıkarken:

yeni bir konsol penceresi açıp,

**`sudo docker stop konteyner-id`**

konteyner-id, çalışırken kullandığımız konsol penceresinde var,

hazir durdurmusken,

**`sudo docker rm konteyner-id`**

ile de silebilirsiniz.

Artık Pull-Request göndermeye hazırız.

DİKKAT: Sonraki docker kullanımları için, "gelelim docker bağlamaya.." satırından sonrakilerin uygulanması yeterli.

Sonraki kullanımlarda, her seferinde en baştan bunları yapmadan, son kullandığımız konteyniri çalıştırabiliriz.

Aşağıdaki konteynır adı ve numaralar.. vs temsilidir, son kullandığımız konteynır bilgilerimizi bir yere not ederek, aşağıdaki şekilde kullanabiliriz:

**`sudo service docker start`**

**`sudo docker start bf8020f66d7h`**

**`sudo docker attach latest_contai`**

**`service dbus start`**

**`pisi ur`**

**`pisi up -dvsy --ignore-safety`**

**`pisi bi /git/main/desktop/kde/applications/kpat/pspec.xml -d --ignore-safety`**
