Docker kullanarak codeigniter (php)+ mysql + phpmyadmin

Bugün son yılların yükselen teknolojisi olan Docker kullanarak bir php framework ü olan Codeigniter ı mysql ile bağlayarak local de nasıl çalıştırırız onu göreceğiz.

Öncelikle projenizin isminde bir klasör oluşturun. Ardından bu klasörün içince web ve db adından 2 klasörde daha oluşturun. Burada ki web klasörümüze codeigniter dosyalarımızı, db klasörüne ise sql kurulumu sırasında kullanacağımız sql dosyamızı atacağız. Klasörleri oluşturduktan sonra web klasörüne varsa codeigniter framework dosyalarınızı kopyalayın yoksa https://codeigniter.com/ kendi sitesinden indirip rar dan çıkan dosyaları kopyalayın. Eğer kurulum sırasında mevcut bir sql kuracaksanız mysql’e, o dosyayı db klasörüne kopyalayınız(sql uzantılı). Dosya aktarım işlemleri bu kadar şimdi Docker kısmına geçelim.

Projemizde ki web klasörünün altına Dockerfile adında dosya oluşturun ve içine aşağıdaki kodları kopyalayıp yapıştırın.

php:7.3-apache : php apache docker image image ni kullandık.

apt-get update && apt-get upgrade -y : sistemi güncelledik.

a2enmod rewrite : htaccess dosyası kullanabilmemiz için yazdık.

docker-php-ext-install mysqli && docker-php-ext-install pdo_mysql: php de mysqli ve pdo kullanabilmek için docker ayarlarını tanımladık.

Php tarafı için gerekli Docker ayarlarını yaptık. Şimdi projemizi ana dizinine docker-compose.yml isminde bir dosya oluşturun ve kodları kopyalayıp yapıştırın.

NOT : Phpmyadmin için phpmyadmin/phpmyadmin image ini kullandık

NOT : database altında container_name ne yazdıysak php kısmında da mysql e bağlanırken host kısmına bunu yazmanız gerekiyor.

Şimdi tüm işlemleri bitirdiğimize göre dockerımızı ayağa kaldıralım.

NOT : Eğer linux işletim sistemi kullanıyorsanız yukarıdaki kodun önüne sudo ifadesi koymanız gerekiyor.

NOT: docker-compose.yml dosyasında değişiklik yaparsanız aşağıdaki kod satırını kullanmalısınız.

Docker ımız sorunsuzca ayağa kaldırdığımıza göre şimdi projemize nasıl ulaşırız ona bakalım. Docker-compose dosyasında php kısmı için 8000 portunu, phpmyadmin için ise 8004 portunu vermiştik bu sebepten dolayı

http://localhost:8000 adresinden projemize,

http://localhost:8004 adresinden phpmyadmine ulaşabiliriz.

Eğer codeigniter projemizde router sorunu yaşarsanız web klasörü altına .htaccess dosyası oluşturup aşağıdaki kodları kopyalayıp yapıştırın.

NOT : Mevcut tüm containerları durdurup kaldırmak için

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store