Selamlar tekrardan yerel geliştirme ortamını Docker'e geçirmeye çalışıp benim gibi yapamayan arkadaşlara hazır ben çözebilmişken nasıl yapılacağını anlatayım daha sonra bu noktada sorun yaşamasınlar:
I. Adım WSL (Windows Subsystem for Linux) Kurulumu
Windows üzerinde sanal bir makine aracılığı ile değil doğrudan bir Linux dağıtımı çalıştırmanızı sağlayan bir özellik bu tarz konulardan fazlasıyla uzak olduğum için yanlış bilgi kirliliği yapmak istemiyorum sadece sadede gelip Laravel projesini nasıl Docker üzerinde çalıştıracağınız anlatacağım:
PowerShell veya @mgsmus hocamın da belirttiği gibi Windows Terminal üzerinden wsl --install
komutuyla WSL özelliği hem aktif hale getiriliyor hem de varsayılan dağıtım olan Ubuntu Windows işletim sisteminiz içine yükleniyor.
II. WSL Ayarlamaları
Ubuntu için kullanıcı adı ve parolanızı tanımlayın ve ardından sudo apt update
komutuyla paket listelerini güncelleyin.
mgsmus Terminalden Ubuntu'ya giriş yaptınız. PHP (8.3) ve GIT Ubuntu ile birlikte gelir.
Demiş ancak bende öyle olmadı belki Windows farkı veya dağıtım sürümü farkından olabilir yine de bize sadece PHP ve Composer bu noktada lazım olacak yeni bir proje oluşturmak için veya mevcut projenizi WSL'ye klonladıktan sonra Composer paketlerini indirmek için.
Bu noktada Laravel Dokümantasyonundaki kodu aldım bu doğrudan PHP (8.4), Composer ve Laravel Installer'ı yüklüyor. Sürümün bir önemi yok.
mgsmus İlk kurulumlar için Ubuntu içinde PHP ve GIT binarylerine ihtiyacınız olacak ama projeniz Docker içindeki PHP ile çalışacak.
Hocamın dediği gibi sadece ilk kurulum için önemli daha sonra Sail'in oluşturduğu docker-compose.yml
içinde hangi PHP sürümünü kullanmak isterseniz belirtebilirsiniz.
/bin/bash -c "$(curl -fsSL https://php.new/install/linux/8.4)"
Bu noktada ya mevcut reponuzu yada tamamıyla sıfır bir proje oluşturarak devam edebilirsiniz ben yine de ekstra olarak repo klonlamadan bahsedeyim bunun için bir SSH anahtarı oluşturun ve Github hesabınıza ekleyin:
ssh-keygen -t rsa -b 4096 -C "email@example.com"
Çok detaya girmeyeceğim oluşan SSH anahtarını Github'a tanımladıktan sonra git komutuyla projenizi bir dizin içine veya doğrudan home* dizinine klonlayabilirsiniz.
III. Docker İndirmek
Dockeri bilgisayarınıza indirin ve daha sonra ayarlardan sırasıyla:
Settings > General > Use the WSL 2 based engine
Settings > Resources > WSL Integration > (Dağıtımınız)
Aktif edin ve Docker Engine'yi yeniden başlatın.
IV. Adım Projeyi Visual Studio Code İle Açma/Düzenleme
Visual Studio Code'a girin ve Eklentilere WSL aratarak WSL eklentisini indirin, Sol altta "><" sembolüne basarak Connect to WSL seçeneğine tıklayın ve Open Folder ile proje dizinini bulun. Bu noktadan sonrasında size artık Laravel Sail dokümanı eşlik edecek.
Not: Güncel Laravel projelerinde Sail doğrudan kurulu gelmektedir.
Ek Bilgi: Proxy gibi araçlar (DPI) kullanıyorsanız sail up komutu hata verebilir 🙂