Skip to content

NimTechnology

Trình bày các công nghệ CLOUD một cách dễ hiểu.

  • Kubernetes & Container
    • Docker
    • Kubernetes
      • Ingress
      • Pod
    • Helm Chart
    • OAuth2 Proxy
    • Isito-EnvoyFilter
    • Apache Kafka
      • Kafka
      • Kafka Connect
      • Lenses
    • Vault
    • Longhorn – Storage
    • VictoriaMetrics
    • MetalLB
    • Kong Gateway
  • CI/CD
    • ArgoCD
    • ArgoWorkflows
    • Argo Events
    • Spinnaker
    • Jenkins
    • Harbor
    • TeamCity
    • Git
      • Bitbucket
  • Coding
    • DevSecOps
    • Terraform
      • GCP – Google Cloud
      • AWS – Amazon Web Service
      • Azure Cloud
    • Golang
    • Laravel
    • Python
    • Jquery & JavaScript
    • Selenium
  • Log, Monitor & Tracing
    • DataDog
    • Prometheus
    • Grafana
    • ELK
      • Kibana
      • Logstash
  • BareMetal
    • NextCloud
  • Toggle search form

[Docker] Docker Laravel on Alpine.

Posted on July 12, 2024September 10, 2024 By nim No Comments on [Docker] Docker Laravel on Alpine.

Contents

Toggle
  • Docker – Laravel – Ubuntu – Apache.
  • Docker – Laravel – Nginx

Docker – Laravel – Ubuntu – Apache.

Mình có một cái demo: https://github.com/mrnim94/thiep-cuoi

# Refer to https://github.com/codityco/003-how-to-dockerise-a-laravel-project/blob/main/Dockerfile
### https://www.youtube.com/watch?v=uYhowDSkwyk
FROM php:8.3.4-apache

# Install dependencies
RUN apt-get update && \
    apt-get install -y \
    libzip-dev \
    zip

# Enable mod_rewrite
RUN a2enmod rewrite

# Install PHP extensions
RUN docker-php-ext-install pdo_mysql zip

ENV APACHE_DOCUMENT_ROOT=/var/www/html
RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf
RUN sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf

# Copy the application code
COPY . /var/www/html

# Set the working directory
WORKDIR /var/www/html

# Install composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

# Install project dependencies
RUN composer install

# Set permissions
RUN chown -R www-data:www-data /var/www/html/storage /var/www/html/bootstrap/cache

# Create a .env file from .env.example
RUN if [ -f ".env.example" ]; then \
        cp .env.example .env; \
    else \
        echo "No .env.example file found"; \
    fi

# Generate application key
RUN php artisan key:generate --ansi

Nhưng mà với image này thì mình gặp khá nhiều Vulnerbility.

thì mình đã có thử tìm hiểu Run Docker Laravel trên Apline.

Docker – Laravel – Nginx

https://github.com/khromov/alpine-nginx-php8/blob/master/Dockerfile

Giờ chúng ta cần bắt trước để upgrade php 8.3

đầu tiên bạn cần update alpine version:

Giờ bạn muốn update lên alpine lề 3.20 lúc này bạn cần tìm ra được php version tương ứng
https://pkgs.alpinelinux.org/packages

Giờ mình sẽ chọn 8.3.9-r0 của php và các package là php83

Tiếp theo bạn cần chạy php artisan migrate –force
nếu muốn Bypass sqlite.

Bạn có thể tham khảo thêm bài này:
https://laravel-news.com/prepare-your-laravel-app-for-the-cloud

Laravel

Post navigation

Previous Post: [Ec2] How to reset the forgotten password on EC2
Next Post: [Github] Prevent contributors from pushing code to the master branch and creating tags.

More Related Articles

[laravel/Rancher] There are issues when retrieving Kubernetes data from Rancher by Laravel. Laravel
[php-laravel] Handle a new project laravel. Laravel
Vẽ chart cực đẹp bằng Morris JS và hướng dẫn fix lỗi morris không làm việc trên tab của bootstap Jquery & JavaScript
Các Lệnh query với Model của Laravel eloquent Laravel
[Popup/Ajax] Tạo popup(modal/bootstrap) insert data bằng ajax và php Coding
[Rancher/API] Edit k8s resources using the Rancher API. Kubernetes

Leave a Reply Cancel reply

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

Tham Gia Group DevOps nhé!
Để Nim có nhiều động lực ra nhiều bài viết.
Để nhận được những thông báo mới nhất.

Recent Posts

  • [AWS/EKS] Cache Docker image to accelerate EKS container deployment. July 10, 2025
  • [Laravel] Laravel Helpful June 26, 2025
  • [VScode] Hướng dẫn điều chỉnh font cho terminal June 20, 2025
  • [WordPress] Hướng dấn gửi mail trên WordPress thông qua gmail. June 15, 2025
  • [Bitbucket] Git Clone/Pull/Push with Bitbucket through API Token. June 12, 2025

Archives

  • July 2025
  • June 2025
  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • July 2024
  • June 2024
  • May 2024
  • April 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • September 2023
  • August 2023
  • July 2023
  • June 2023
  • May 2023
  • April 2023
  • March 2023
  • February 2023
  • January 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022
  • August 2022
  • July 2022
  • June 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021

Categories

  • BareMetal
    • NextCloud
  • CI/CD
    • Argo Events
    • ArgoCD
    • ArgoWorkflows
    • Git
      • Bitbucket
    • Harbor
    • Jenkins
    • Spinnaker
    • TeamCity
  • Coding
    • DevSecOps
    • Golang
    • Jquery & JavaScript
    • Laravel
    • NextJS 14 & ReactJS & Type Script
    • Python
    • Selenium
    • Terraform
      • AWS – Amazon Web Service
      • Azure Cloud
      • GCP – Google Cloud
  • Kubernetes & Container
    • Apache Kafka
      • Kafka
      • Kafka Connect
      • Lenses
    • Docker
    • Helm Chart
    • Isito-EnvoyFilter
    • Kong Gateway
    • Kubernetes
      • Ingress
      • Pod
    • Longhorn – Storage
    • MetalLB
    • OAuth2 Proxy
    • Vault
    • VictoriaMetrics
  • Log, Monitor & Tracing
    • DataDog
    • ELK
      • Kibana
      • Logstash
    • Fluent
    • Grafana
    • Prometheus
  • Uncategorized
  • Admin

Copyright © 2025 NimTechnology.