首页 后端开发 php教程 使用 Docker 在几秒钟内创建一个新的 Laravel 项目!

使用 Docker 在几秒钟内创建一个新的 Laravel 项目!

Sep 13, 2024 am 06:17 AM

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。

成功!

Create a new Laravel project in seconds using Docker!

享受您的新 Laravel 网站吧!

以上是使用 Docker 在几秒钟内创建一个新的 Laravel 项目!的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Stock Market GPT

Stock Market GPT

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

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何使用PHP中的阵列 如何使用PHP中的阵列 Aug 20, 2025 pm 07:01 PM

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

如何在php中使用$ _cookie变量 如何在php中使用$ _cookie变量 Aug 20, 2025 pm 07:00 PM

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

如何在PHP中获取对象的类名称? 如何在PHP中获取对象的类名称? Sep 01, 2025 am 04:48 AM

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

如何在PHP中获取当前日期和时间? 如何在PHP中获取当前日期和时间? Aug 31, 2025 am 01:36 AM

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()。

PHP中有什么公共,私人和保护 PHP中有什么公共,私人和保护 Aug 24, 2025 am 03:29 AM

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

如何在PHP中设置错误报告级别? 如何在PHP中设置错误报告级别? Aug 31, 2025 am 06:48 AM

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

如何与PHP中的日期和时间一起工作 如何与PHP中的日期和时间一起工作 Aug 20, 2025 pm 06:57 PM

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

如何使用PHP中的时间戳? 如何使用PHP中的时间戳? Aug 31, 2025 am 08:55 AM

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

See all articles