chutuoc-logo-600chutuoc-logo-600chutuoc-logo-600chutuoc-logo-600
  • IT Bí điển
    • Lập trình
      • Css
      • Javascript
      • Php
    • Sql
      • Sql căn bản
      • Các lệnh Sql hay dùng
    • Server and vps
      • EasyEngine
        • EasyEngine3
        • EasyEngine4
      • Docker
    • Hệ điều hành
      • Linux
        • Linux terminal command
    • Cms
      • WordPress
        • Theme wordpress
        • Plugin wordpress
    • SEO
    • Công cụ
      • Git
    • DevOps Engineer
    • Solution
✕

Hướng dẫn cài LEMP STACK cho laravel với docker-composer

Trước khi bắt đầu với bài viết này, mặc định chúng ta đã cài docker ở trong máy rồi nha 😀

1 Các services sẽ tạo:

- ***application (image: debian):*** Mục đích chỉ để tạo volume cho các services mount to.
- ***workspace(image: kevinduy/php):*** Image cài đặt php7.2, các extensions của php7.2, nodejs, npm, yarn, parcel-bundler, gulp-cli, git, composer và các linux packages cần thiết như: nano, vim, curl ...
- ***mysql:*** Sử dụng [mysql official image](https://hub.docker.com/_/mysql/)
- ***nginx(image: kevinduy/nginx):*** Tạo và cấu hình nginx block

2 Chúng ta sẽ bắt đầu tạo laravel project với docker-compose:

  • Tạo thư mục project: mkdir project-name
  • Tạo tệp tin docker-compose.yml trong thư mục project-name :
version: '2'

services:
  application:
    image: debian
    volumes:
      - ./:/var/www/app
  workspace:
    image: kevinduy/php
    restart: always
    volumes_from:
      - application
    tty: true
    links:
     - mysql
  mysql:
    restart: always
    image: mysql
    volumes:
      - ./.docker/mysql:/var/lib/mysql
    ports:
      - "6691:3306"
    environment:
      MYSQL_DATABASE: homestead
      MYSQL_USER: homestead
      MYSQL_PASSWORD: secret
      MYSQL_ROOT_PASSWORD: root
  nginx:
    image: kevinduy/nginx
    restart: always
    volumes_from:
      - application
    ports:
      - "80:80"
      - "443:443"
    tty: true
    command: /bin/bash -c "/serve.sh workspace laravel.test /var/www/app/public && nginx"
  • chạy docker
  • Tại thư mục dự án project-name:
    • Chạy lệnh docker-compose up -d để tạo và chạy các containers.
    • Chạy lệnh docker-compose exec workspace bash để vào container workspace.
    • Bây giờ chúng ta đã vào container và tại thư mục /var/www/app trong container
    • Chạy lệnh composer create-project --prefer-dist laravel/laravel blog để tạo dự án laravel
    • Sau khi tải và cài đặt xong laravel. Chạy lệnh `mv ./blog/{.,} ./ && rm -rf blog`* để move tất cả các file trong thư mục blog ra thư mục hiện tại và xoá thư mục blog. (Lý do: vì lệnh composer chỉ tải về khi thư mục đích là trống)
    • Bây giờ mở trình duyệt và gõ domain laravel.test . Chúng ta thấy welcome page của project laravel.
  • Như vậy là chúng ta đã tạo và chạy dự án laravel với docker compose.
  • Nếu muốn stop container, chúng ta chạy lệnh docker-compose down

Có lẽ trong docker-compose.yml file chỉ khó hiểu ở dòng lệnh này thôi command: /bin/bash -c "/serve.sh workspace laravel.test /var/www/app/public && nginx"
Lệnh này sẽ chạy file server.sh trong image kevinduy/nginx với các variables được sử dụng trong file bash này và cũng là cấu hình của block nginx:
– workspace: đây là tên của php service
– laravel.test: server name của block với tên này luôn
– /var/www/app/public: đây là root path

Tuấn Sữa
Hướng cây là do gió, hướng cuộc đời là do chính chúng ta

Bài cùng loại

20/12/2023

Configure SFTP on EE4 server


Đọc luôn
29/06/2020

Thêm swap cho vps linux


Đọc luôn
10/12/2019

mysql import database teminal


Đọc luôn
© 2016 Tuấn sữa - Blog