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