Laravel用Docker部署示例

徘徊边缘 提交于 2019-12-06 09:39:21

Laravel用Docker部署示例

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

手动操作

  1. 使用composer安装依赖

    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. 部署fpm

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

    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 image

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

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

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

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

由于Dockerfile的多阶段构建特性,上述三步的指令整合在一起如下所示。

使用docker-compose部署

docker-compose.yml文件内容如下:

启动服务指令:

docker-compose up -d

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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!