iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >docker部署laravel
  • 575
分享到

docker部署laravel

dockerlaravelphp 2023-10-27 08:10:51 575人浏览 薄情痞子
摘要

知识铺垫 首先拉取官方镜像,标签为 8.2-fpm 使用命令 Docker pull PHP:8.2-fpm 拉取镜像 启动 php 容器 使用命令 docker run --name myphp-fpm -v /root/Nginx/w

知识铺垫

首先拉取官方镜像,标签为 8.2-fpm

使用命令 Docker pull PHP:8.2-fpm 拉取镜像

启动 php 容器


使用命令

docker run --name myphp-fpm -v /root/Nginx/www:/www -itd php:8.2-fpm

其中 --name myphp-fpm : 将容器命名为 myphp-fpm

-v /root/nginx/www:/www : 将主机中项目的目录 www 挂载到容器的 /www

创建目录 mkdir -p /root/nginx/conf/conf.d

在该目录下添加 /root/nginx/conf/conf.d/test-php.conf 文件,内容如下:

server {    listen       80;    server_name  localhost;    location / {        root   /usr/share/nginx/html;        index  index.html index.htm index.php;    }    error_page   500 502 503 504  /50x.html;    location = /50x.html {        root   /usr/share/nginx/html;    }    location ~ \.php$ {        fastcgi_pass   php:9000;        fastcgi_index  index.php;        fastcgi_param  SCRIPT_FILENAME  /www/$fastcgi_script_name;        include        fastcgi_params;    }}


配置文件说明:

php:9000: 表示 php-fpm 服务的 URL。
/www/: 是 myphp-fpm 中 php 文件的存储路径,映射到本地的 /root/nginx/www 目录。


启动 nginx 容器

docker run --name php-nginx -p 8088:80 -d \    -v /root/nginx/www:/usr/share/nginx/html:ro \    -v /root/nginx/conf/conf.d:/etc/nginx/conf.d:ro \    --link myphp-fpm:php \    nginx


参数说明

-p 8088:80: 端口映射,把 nginx 中的 80 映射到本地的 8088 端口。
~/nginx/www: 是本地 html 文件的存储目录,/usr/share/nginx/html 是容器内 html 文件的存储目录。
~/nginx/conf/conf.d: 是本地 nginx 配置文件的存储目录,/etc/nginx/conf.d 是容器内 nginx 配置文件的存储目录。
–link myphp-fpm:php: 把 myphp-fpm 的网络并入 nginx,并通过修改 nginx 的 /etc/hosts,把域名 php 映射成 127.0.0.1,让 nginx 通过 php:9000 访问 php-fpm。
接下来我们在 /root/nginx/www 目录下创建 index.php,代码如下:

echo phpinfo();
?>
访问域名,可成功访问表示环境配置成功

docker 安装 Mysql


使用命令

docker pull mysql:latest

 拉取 mysql 最新版本镜像

使用命令

 docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWord=123456 mysql 

运行容器

-p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机 ip:3306 访问到 MySQL 的服务。

MYSQL_ROOT_PASSWORD=123456

:设置 MySQL 服务 root 用户的密码。
可以使用命令 docker exec -it mysql-test mysql -hlocalhost -uroot -p 访问 mysql 容器


创建远程访问账号

CREATE USER ‘test‘@’%’ IDENTIFIED WITH mysql_native_password BY ‘123456’;


账号授权:

GRANT ALL PRIVILEGES ON . TO ‘test‘@’%’;


刷新权限:

FLUSH PRIVILEGES;


使用连接工具测试可连接成功

正式开始啦


laradock 配置开发环境


1. 克隆 laradock 包到本地指定文件夹(与项目同级)

官方网站:laradock.io

#码云git clone https://gitee.com/anviod/laradock.git#GitHubgit clone Https://github.com/Laradock/laradock.git


2. 进入 laradock 目录将 .env.example 重命名为 .env

3. 执行命令 docker-compose up -d nginx workspace 运行容器

这里需要注意:请求raw.githubusercontent.com超时,改Hosts并无法解决问题。这里我们需要vim/etc/resolv.con改为阿里云DNS解决问题。

nameserver 223.5.5.5nameserver 223.6.6.6

Laravel部署使用时有最低版本要求的,如果安装的版本不兼容。不变更Laravel那就需要重构nginx、workspace;

重构办法如下:

修改laradock目录下的.env文件,这里把PHP_VERSION改为Laravel支持的版本。

接下来执行重构

 docker-compose build nginx docker-compose build workspace

一段时间完成后,再执行

docker-compose up -d nginx workspace

运行完成后可通过 docker ps 命令查看一下容器运行情况

4. 配置访问域名

我们需要到 laradock 下编辑 .env 中的 APP_CODE_PATH_HOST 配置项

APP_CODE_PATH_HOST=../wwwroot/

laradock目录下

─(root㉿kali)-[~/nginx/www/laradock]└─# vim /nginx/sites/default.confserver {    listen 80 default_server;    listen [::]:80 default_server ipv6only=on;    # For https    # listen 443 ssl default_server;    # listen [::]:443 ssl default_server ipv6only=on;    # ssl_certificate /etc/nginx/ssl/default.crt;    # ssl_certificate_key /etc/nginx/ssl/default.key;    server_name localhost;#这里/var/www/相当于在laradock下,.env中设置的../wwwroot目录    root /var/www/detection/public;    index index.php index.html index.htm;    location / {         try_files $uri $uri/ /index.php$is_args$args;    }    location ~ \.php$ {        try_files $uri /index.php =404;        fastcgi_pass php-upstream;        fastcgi_index index.php;

这样就相当于为 wwwroot 与 Docker 的 /var/www 目录建立了软链接.

5. 在 laradock workspace添加 laravel 项目

进入 laradock 目录,执行命令

docker-compose exec workspace bash

进入 Workspace 容器

workspace容器里面安装composer

# php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"# php composer-setup.phpAll settings correct for using ComposerDownloading...Composer (version 1.6.5) successfully installed to: /root/composer.phar移动 composer.phar,这样 composer 就可以进行全局调用:# mv composer.phar /usr/local/bin/composer切换为国内镜像:# composer config -g repo.packaGISt composer https://mirrors.aliyun.com/composer/更新 composer:# composer selfupdate

在容器中使用 Composer 安装 Laravel 安装器

composer create-project laravel/laravel mylaravel  "9.33.*"

接下来,需要重启 Docker 的 Nginx:

docker-compose up -d nginx

配置完成后通过端口访问可正常访问,配置成功啦

这里我们设置的场景是新建一个应用,如果是多个应用在上述 wwwroot 目录下创建多个应用目录, laradock/nginx/sites 下对应创建多个配置文件,不要忘记在系统 /etc/hosts 中配置相关域名绑定 IP 。

来源地址:https://blog.csdn.net/flamevip/article/details/130018594

--结束END--

本文标题: docker部署laravel

本文链接: https://www.lsjlt.com/news/486000.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • docker部署laravel
    知识铺垫 首先拉取官方镜像,标签为 8.2-fpm 使用命令 docker pull php:8.2-fpm 拉取镜像 启动 php 容器 使用命令 docker run --name myphp-fpm -v /root/nginx/w...
    99+
    2023-10-27
    docker laravel php
  • Docker----部署mysql
    Docker——Mysql部署 通过docker容器化部署mysql 1.部署mysql (1)执行命令部署mysql docker run -v /work/mysql/:/var/lib/mysq...
    99+
    2023-10-01
    docker mysql 容器
  • docker 部署golang
    前言在现代化的软件开发中,容器化技术越来越受到开发者和企业的关注。其中 Docker 技术就是其中的代表之一。Docker 提供了一种快速、便捷、灵活的应用部署和运行方式,可以大大提高软件开发效率和部署成功率。本文主要介绍如何使用 Dock...
    99+
    2023-05-21
  • RocketMQ Docker部署
    1. 镜像制作前准备 1 clone rocketmq-docker项目的代码 #官方的docker地址git clone https://github.com/apache/rocketmq-docker.git复制代码 执行上面命令克隆...
    99+
    2023-09-20
    java servlet 开发语言
  • docker里部署nexus3
    安装方式:直接使用docker拉取官方镜像源码安装dockerfile构建以上使用第一种方式安装,简单快捷,直接拉取镜像然后启动即可。系统环境:系统: Ubuntu 16.04内核: 4.4.0-116-generic安装步骤:安装dock...
    99+
    2023-01-31
    docker
  • golang docker web部署
    随着互联网的快速发展,对于企业应用程序的部署和管理越来越复杂。而Docker容器技术的出现,可以帮助开发人员大大简化应用程序的部署过程和环境搭建工作。本文将介绍如何使用Go语言和Docker容器技术进行Web应用程序的部署和管理。一、准备工...
    99+
    2023-05-15
  • golang部署到docker
    在当今快速迭代的软件开发环境中,部署应用程序的过程变得越来越自动化和规范化。使用容器技术的一个主要好处是应用程序可以跨不同环境进行部署,并且它们的运行环境可以保持一致。Docker是一种流行的容器化技术,它可以为应用程序提供标准化的运行环境...
    99+
    2023-05-15
  • Docker部署Minio (服务器上部署Minio)
    Minio简介: MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件...
    99+
    2023-08-18
    docker 服务器 容器 java
  • docker 部署mysql详细过程(docker部署常见应用)
    之前给大家介绍过:docker(部署常见应用):docker部署nginx docker部署mysql:5.7.26 # 下载镜像 docker pull mysql:5.7.2...
    99+
    2024-04-02
  • Docker Swarm部署集群
    一、Swarm简介Swarm是Docker的一个编排工具,参考官网:https://docs.docker.com/engine/swarm/Swarm 模式简介 要在Swarm模式下运行docker,需要先安装docker,参考...
    99+
    2023-01-31
    集群 Docker Swarm
  • docker如何部署confluence
    这篇文章给大家分享的是有关docker如何部署confluence的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Confluence 是收费的,但是可以破解使用(提倡购买,支持正版)本文使用的镜像是基于他人(镜像...
    99+
    2023-06-15
  • Laravel应用怎么部署
    这篇文章主要讲解了“Laravel应用怎么部署”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Laravel应用怎么部署”吧!本文 php 基础镜像使用:php:7.3-apache本文 la...
    99+
    2023-07-04
  • [每周一更]-(第67期):docker-compose 部署php的laravel项目
    容器化部署laravel框架的php项目 操作步骤 参考: https://www.cnblogs.com/jingjingxyk/p/16842937.htmlhttps://develop...
    99+
    2023-10-23
    php docker laravel
  • jenkins 部署vue到docker
    Jenkins是一款持续集成(CI)和持续交付(CD)工具,在软件开发流程中起着至关重要的作用。而Docker则是一种流行的容器化技术,能够方便地部署应用程序。在本文中,我们将介绍如何使用Jenkins将Vue应用程序部署到Docker容器...
    99+
    2023-05-18
  • Docker如何部署Scrapy
    这篇文章将为大家详细讲解有关Docker如何部署Scrapy,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。假设我们要在10台Ubuntu 部署爬虫如何搞之?用传统的方法会吐血的,除非你记录下来每个步骤,然...
    99+
    2023-06-07
  • docker怎么部署fastapi
    这篇文章主要介绍了docker怎么部署fastapi的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇docker怎么部署fastapi文章都会有所收获,下面我们一起来看看吧。项目结构:pycharm结构:拷贝到x...
    99+
    2023-07-05
  • docker部署golang项目
    随着云计算和微服务架构的兴起,容器技术也越来越受到开发者的关注。其中Docker是目前最流行的容器化解决方案之一。本文将介绍如何使用Docker来部署Golang项目,使得我们的应用程序能够更加方便地管理和部署。一、Docker基础知识Do...
    99+
    2023-05-15
  • golang怎么部署docker
    随着近年来容器化技术的火热,Docker也成为了越来越多开发者、运维人员、IT从业者等的必备工具。而Golang语言的高并发优势也让它成为了不少开发者使用的首选语言。那么,如何将Golang应用部署到Docker容器中呢?本文将为大家介绍g...
    99+
    2023-05-14
  • Docker如何部署Mysql8
    本篇内容主要讲解“Docker如何部署Mysql8”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Docker如何部署Mysql8”吧!一、前置需求linux系统本人用的Centos7安装dock...
    99+
    2023-07-02
  • ASP.NETCore开发Docker部署
    Docker 常用命令 docker info 检查Docker的安装是否正确,如果没有找到此命令,则表示Docker没有正确安装 docker pull busybox 拉取一个预...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作