温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Docker如何部署Laravel应用

发布时间:2022-03-30 15:46:34 来源:亿速云 阅读:877 作者:iii 栏目:开发技术

这篇文章主要讲解了“Docker如何部署Laravel应用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Docker如何部署Laravel应用”吧!

一、 准备我们的 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 .

感谢各位的阅读,以上就是“Docker如何部署Laravel应用”的内容了,经过本文的学习后,相信大家对Docker如何部署Laravel应用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI