使用 Docker 在几秒钟内创建一个新的 Laravel 项目!
Docker 使新项目的开始变得更加容易,为您节省了设置单独工具使其工作的时间。 Laravel 也不例外。以下是如何使用 Docker 设置一个新的 Laravel 项目,并配有 MySQL 数据库。
第一步:新建项目目录
首先,我们将建立一个新的空目录,用于存放我们的 Laravel 项目。将其命名为 myApp 或任何您喜欢的名称:
mkdir myApp cd myApp
步骤 2:创建 Docker Compose 文件
接下来我们将定义两个容器:
一个用于我们的 Laravel 项目,它将包含所有必需的 PHP 代码。
一个用于 MySQL 数据库。如果您想使用 MariaDB,请将 image: mysql:8.0 替换为 image: mariadb。
services: web: image: bitnami/laravel volumes: - ./app:/app working_dir: /app environment: - LARAVEL_DATABASE_HOST=db - LARAVEL_DATABASE_USER=root - LARAVEL_DATABASE_NAME=laravel - LARAVEL_DATABASE_PASSWORD=pass1 - LARAVEL_DATABASE_PORT_NUMBER=3306 restart: always ports: - 8000:8000 db: image: mysql:8.0 environment: - MYSQL_ROOT_PASSWORD=pass1 - MYSQL_DATABASE=laravel
这里发生了什么?
Docker Compose 是 Docker 的一个工具,可以帮助同时构建多个组件。如果您正在运行一个具有多个移动部分(例如数据库)的项目,这非常有帮助。
在本例中,web 是 Laravel 项目,db 是数据库。 Web 容器是从基础镜像 bitnami/laravel 创建的,这是一个预装了 Laravel 的方便镜像。它将应用程序文件夹作为“卷”添加到容器中,以便可以运行它。该文件为容器提供数据库凭据,以便它可以连接到它,并且它还公开端口 8080,以便您可以使用浏览器打开该站点!
db 容器是一个安装了 MySQL 的简单容器。该文件为它提供了 root 用户的密码以及数据库的名称,以便它可以创建它。
就是这样!
第 3 步:运行容器
现在我们已经有了 docker-compose.yml 文件,我们可以使用一个简单的命令让 Docker 继续创建两个容器:
docker compose up
第 4 步:检查您的网站
稍等几秒钟,您的网站就应该启动并运行。您应该在终端中看到以下行:
INFO Server running on [http://0.0.0.0:8000].
要打开它,请在浏览器中打开 http://localhost:8000。
成功!
享受您的新 Laravel 网站吧!
以上是使用 Docker 在几秒钟内创建一个新的 Laravel 项目!的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undress AI Tool
免费脱衣服图片

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Stock Market GPT
人工智能驱动投资研究,做出更明智的决策

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

phparrayshandledatAcollectionsefefityIndexedorassociativuctures; hearecreatedWithArray()或[],访问decessedviakeys,modifybyAssignment,iteratifybyAssign,iteratedwithforeach,andManipulationUsfunsionsFunctionsLikeCountLikeCountLikeCountLikeCountLikecount()

$_COOKIEisaPHPsuperglobalforaccessingcookiessentbythebrowser;cookiesaresetusingsetcookie()beforeoutput,readvia$_COOKIE['name'],updatedbyresendingwithnewvalues,anddeletedbysettinganexpiredtimestamp,withsecuritybestpracticesincludinghttponly,secureflag

useget_class($ object)togetTheclassNameAtruntime; 2.UsemyClass :: classForCompile-TimeClassErstrings,尤其是WithNamespaces; 3.InsideAclassMethod,get_class($ this)returnSthecurrentObjectObjectObjectObjectObject'ssclassName。

sutterate('y-m-dh:i:s')withdate_default_timezone_set()togetCurrentDateAndTimeInphp,确保acccurateresultsbysettingtingthedesiredtimezonelike'amerike'amerike'amerike'amerike'amerike'amerike'amerike'amerike'amerike'amerike'amerike'amerike'amerike'amerike'amerike'amerike'amerike'America/new_york'york'beforecallingdate()。

public成员可被任意访问;2.private成员仅类内可访问;3.protected成员可在类及子类中访问;4.合理使用可提升代码安全与可维护性。

USEERERROR_REPORTING()TOSETERRERLELEVELSINPHP,SUSESASE_ALLFORDEMEVERMENTOR0FORPRODUCTION,and controldisplayorLoggingViaini_Set()ToenhancedebuggingandSecurity。

UnedateTimeFordateSinphp:createWithNewDateTime(),formatwithformat(),modifyviaadd()ormodify(),settimezoneswithdateTimeZone,and compareusingoperatorSordiff()togetIntervals。

使用time()获取当前时间戳,date()格式化时间,strtotime()转换日期字符串为时间戳,复杂操作推荐DateTime类处理时区和日期运算。
