docker image

Docker Image dành cho Laravel và PhalconPHP

Hi các bạn,

Về Docker dành cho PHP thì mình đang xài cái image này khá là ok. Nay muốn chia sẻ cho các bạn 😀

Các bạn nào ko biết docker là gì thì có thể tìm hiểu nha, nó đơn giản là tạo ra container để phù hợp cho software của bạn chạy, flexible, fast,…

Với Docker image này của mình, các bạn có thể chạy tốt các projects:

  • PHP thuần
  • Laravel
  • PhalconPHP

Mấy cái framework có thể chạy dc đó, ko rõ nghen vì mình ko xài 😀

1/ Docker Image information

Docker hub: https://hub.docker.com/r/sethsandaru/php73-phalcon-laravel-fpm

Inside image:

  • Nginx, đầu vào là thư mục public tại root folder mà ta mapping tới
  • PHP 7.3, mới, nhanh và nhiều features mới
    • Build-in PhalconPHP 3.3 extension
    • Enable các module cần thiết mà ta hay sử dụng (trừ gd2)
  • Có XDebug đi kèm, bật/tắt thông qua ENVIRONMENT VARIABLE.

2/ Sử dụng Docker Image

Các bạn có thể sử dụng thông qua lệnh docker bình thường. Tuy nhiên mình ưu tiên docker-compose hơn nên mình sẽ chia sẻ docker-compose.yml đơn giản nhé

version: '3.3'
services:
  db:
    image: mysql:5.7
    volumes:
      - ./db_data:/var/lib/mysql
    ports:
      - 3307:3306
    environment:
      MYSQL_ROOT_PASSWORD: sethphat@123456
      MYSQL_DATABASE: sethphat
      MYSQL_USER: sethphat
      MYSQL_PASSWORD: s3thPh@t!@#
  php:
    image: sethsandaru/php73-phalcon-laravel-fpm:1.0.0
    container_name: sethphat-project
    ports:
      - 81:80
    environment:
      XDEBUG_ENABLE: 1
      XDEBUG_PORT: 9200
    volumes:
      - ./:/var/www/html
    links:
      - db:db

Rồi, “docker-compose up -d” là chiến thôi 😀

3/ Lưu ý

3.1/ Public

Điều này quan trọng nha, với docker image này, mình đã set config cho nó mặc định vào thư mục public luôn thay vì ta fải http://<url>/public như ta hay làm nếu như chơi mặc định theo xampp hay vertrigo,…

3.2/ Chạy Artisan

Để chạy dc php artisan mà liên quan tới update db (migrate),… thì các bạn nên chạy lệnh như sau:

docker-compose exec php php artisan migrate

Vì db của ta đang trong cái container, nên ta fải run command như vậy để vào. DB của ta đang config internal mà. Tương tự như trên nhé.

4/ Lời kết

Với docker image này, mong rằng nó có thể hỗ trợ các bạn trong development stage thậm chí là test/live stage nhé 😀

Cám ơn các bạn đã theo dõi!

facebook
Seth Phát

Seth Phát

Mình là Phát - biệt danh Seth Phát. Hiện đang là một Sr. Full-Stack Engineer. Mình là một người yêu thích và đam mê lập trình và hiện tại đang theo về phần Web là chủ yếu. Mạnh Back-end và khá Front-end, vẫn đang theo đều cả 2 :v. Còn gì bằng khi được làm những thứ mà mình yêu thích, đam mê ;)

Leave a Reply

Your email address will not be published. Required fields are marked *

Bình luận qua Facebook