本文 Laravel 版本為:laravel:5.8.*
隊列和任務調度我們在下一篇寫

一、 準備我們的 Laravel 應用

# 運行 mix 命令,打包 js、css、img 文件,如果沒有用到 mix 這一步可以省略
npm install
npm run production
# 安裝 composer.lock 中的依賴
composer install --ignore-platform-reqs --optimize-autoloader --no-dev

二、 準備 Apache 配置文件 docker/000-default.conf

<VirtualHost *:80>
 # The ServerName directive sets the request scheme, hostname and port that
 # the server uses to identify itself. This is used when creating
 # redirection URLs. In the context of virtual hosts, the ServerName
 # specifies what hostname must appear in the request\\\'s Host: header to
 # match this virtual host. For the default virtual host (this file) this
 # value is not decisive as it is used as a last resort host regardless.
 # However, you must set it for any further virtual host explicitly.
 #ServerName www.example.com

 ServerAdmin liuzhaowei55@gmail.com
 DocumentRoot /var/www/html/public

 # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
 # error, crit, alert, emerg.
 # It is also possible to configure the loglevel for particular
 # modules, e.g.
 #LogLevel info ssl:warn

 ErrorLog ${APACHE_LOG_DIR}/error.log
 CustomLog ${APACHE_LOG_DIR}/access.log combined

 # For most configuration files from conf-available/, which are
 # enabled or disabled at a global level, it is possible to
 # include a line for only one particular virtual host. For example the
 # following line enables the CGI configuration for this host only
 # after it has been globally disabled with a2disconf.
 #Include conf-available/serve-cgi-bin.conf
</VirtualHost>

三、 準備 Dockerfile 文件

FROM php:7.3-apache

LABEL maintainer=liuzhaowei55@gmail.com

# 設置時區
ARG TZ=Asia/Shanghai
ENV TZ ${TZ}
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

# 安裝軟件 cron
RUN set -eux \\\\
 && apt-get update \\\\
 && apt-get install -y --no-install-recommends cron \\\\
 && apt-get autoremove \\\\
 && apt-get autoclean \\\\
 && apt-get clean \\\\
 && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
 
# 安裝拓展
ENV PHP_EXTENSION \\\\
 pdo_mysql \\\\
 bcmath
ENV PECL_EXTENSION \\\\
 Redis
RUN docker-php-ext-install $PHP_EXTENSION \\\\
 && pecl install $PECL_EXTENSION \\\\
 && docker-php-ext-enable $PECL_EXTENSION \\\\
    opcache \\\\
 && a2enmod rewrite
 
# 訪問端口
EXPOSE 80

ARG APP_ENV=development
ENV APP_ENV ${APP_ENV}

COPY --chown=www-data:www-data . /var/www/html
COPY docker/000-default.conf /etc/apache2/sites-available/000-default.conf
WORKDIR /var/www/html

四、準備 Dockerignore 文件:.dockerignore(非必需)

/node_modules
/.dockerignore
/Dockerfile

五、準備鏡像入口文件:docker-entrypoint.sh(非必需)

注意一下,此文件需要執行權限,不過此入口文件不是必須的,只是為了在應用運行前執行一些緩存命令,具體可以點這里去文檔了解一下。

#!/usr/bin/env bash

php artisan cache:clear
php artisan config:cache
php artisan route:cache
php artisan view:cache

apache2-foreground

六、運行鏡像

docker run -p 80:80 .

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持三五互聯

更多關于云服務器域名注冊,虛擬主機的問題,請訪問三五互聯官網:m.shinetop.cn

贊(0)
聲明:本網站發布的內容(圖片、視頻和文字)以原創、轉載和分享網絡內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。郵箱:3140448839@qq.com。本站原創內容未經允許不得轉載,或轉載時需注明出處:三五互聯知識庫 » Docker部署Laravel應用的實現示例

登錄

找回密碼

注冊

主站蜘蛛池模板: 无码国产偷倩在线播放| 99在线小视频| 日本一区不卡高清更新二区| 日韩av第一页在线播放| 国产精品av中文字幕| 亚洲免费观看一区二区三区| 五月婷久久麻豆国产| 欧美日韩精品久久久免费观看| 成人国产精品免费网站| 成熟少妇XXXXX高清视频| 国内揄拍国内精品少妇国语| 国产麻豆md传媒视频| 东京热tokyo综合久久精品| 精品亚洲欧美中文字幕在线看| 人妻系列中文字幕精品| 亚洲第一尤物视频在线观看导航| 国产尤物精品自在拍视频首页| 浮妇高潮喷白浆视频| 丰满人妻被黑人猛烈进入| 99在线视频免费观看| 亚洲第一狼人天堂网伊人| 国产激情电影综合在线看| 中国china体内裑精亚洲日本| 亚洲国产欧美日韩欧美特级| 青青草一区在线观看视频| 国产在线精品第一区二区| 国产成人无码AV片在线观看不卡| 中文字幕人妻中出制服诱惑| 亚洲精品视频免费| 东京热一区二区三区在线| 国产网友愉拍精品视频| 国产精品69人妻我爱绿帽子| 超碰成人人人做人人爽| 永福县| 亚洲女同在线播放一区二区 | 日本大片在线看黄a∨免费| 亚洲天堂激情av在线| 内射干少妇亚洲69XXX| 中文字幕人妻日韩精品| 欧美国产日韩在线三区| 白丝乳交内射一二三区|