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部署示例

相關文章
相關標籤/搜索