Laravel用Docker部署示例

Laravel用Docker部署示例

本文以laravel项目为例,给出docker在平时开发中的使用过程。php

手动操做

  1. 使用composer安装依赖html

    FROM composer:1.8.6 as composer
    COPY . /app/
    RUN cd /app \
    && composer config -g repo.packagist composer https://packagist.laravel-china.org \
    && composer install --no-suggest --ignore-platform-reqs \
    --no-interaction --no-plugins \
    --no-scripts --prefer-dist
  2. 部署fpmnginx

    FROM php:7.2-fpm as fpm
    COPY . dockerlearn/
    COPY --from=composer /app/vendor/ dockerlearn/vendor/
  3. 部署nginxlaravel

    FROM nginx:1.17 as nginx
    ARG APP_PATH=/var/www/html/dockerlearn/
    COPY dockerlearn.conf /etc/nginx/conf.d/
    COPY --from=fpm ${APP_PATH}/public ${APP_PATH}/public
  4. 构建fpm imagegit

    docker build -t dockerlearn/fpm --target fpm .
    ``
  5. 构建nginx imagedocker

    docker build -t dockerlearn/nginx --target nginx .
  6. 运行fpmshell

    docker run -itd --restart always --name fpm --network mynet dockerlearn/fpm
  7. 运行nginxapp

    docker run -itd --restart always --name nginx --network mynet -p 80:80 dockerlearn/nginx

因为Dockerfile的多阶段构建特性,上述三步的指令整合在一块儿以下所示。 laravel构建文件composer

使用docker-compose部署

docker-compose.yml文件内容以下:ui

laravel构建文件

启动服务指令:

docker-compose up -d

具体项目可参考laravel dodcker部署示例

相关文章
相关标签/搜索