From 273ba1eaa8ea57e2ef930ed411261f1e3683e027 Mon Sep 17 00:00:00 2001 From: suguo <25950955@qq.com> Date: Fri, 14 Feb 2025 15:31:50 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=83=A8=E7=BD=B2=E6=96=87?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 33 +++++++++++++++++++++++++++++++++ docker-compose.yml | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 Dockerfile create mode 100644 docker-compose.yml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..202271e --- /dev/null +++ b/Dockerfile @@ -0,0 +1,33 @@ +# PHP-FPM镜像 +FROM php:8.2-fpm + +# 安装依赖 +RUN apt-get update && apt-get install -y \ + git \ + zip \ + unzip \ + libzip-dev \ + libpng-dev \ + libonig-dev \ + libxml2-dev \ + && docker-php-ext-install pdo_mysql mbstring exif pcntl bcmath gd sockets zip + +# 安装Composer +COPY --from=composer:latest /usr/bin/composer /usr/bin/composer + +WORKDIR /var/www + +COPY . . + +RUN composer install --no-dev --optimize-autoloader + +# 设置权限 +RUN chown -R www-data:www-data /var/www/storage +RUN chmod -R 775 /var/www/storage + +# Nginx配置 +FROM nginx:alpine +COPY --from=0 /var/www /var/www +COPY .docker/nginx.conf /etc/nginx/conf.d/default.conf + +EXPOSE 80 \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..53aa30c --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,33 @@ +version: '3' + +services: + app: + build: . + volumes: + - .:/var/www/html + environment: + - DB_HOST=mysql + - DB_PORT=3306 + + mysql: + image: mysql:8.0 + environment: + MYSQL_ROOT_PASSWORD: example_root_password + MYSQL_DATABASE: myapp + MYSQL_USER: myapp_user + MYSQL_PASSWORD: myapp_password + volumes: + - mysql_data:/var/lib/mysql + + nginx: + image: nginx:alpine + ports: + - "80:80" + volumes: + - .:/var/www/html + - ./.docker/nginx.conf:/etc/nginx/conf.d/default.conf + depends_on: + - app + +volumes: + mysql_data: \ No newline at end of file