本文小编为大家详细介绍“怎么使用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应用”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程之家行业资讯频道。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。