如何用docker安装laravel开发环境

如何用docker安装laravel开发环境

看laravel框架的官方文档安装部分时,发现需要安装特别多软件,估计还有许多复杂的配置,官方推荐使用Laravel Homestead虚拟机进行安装,但是我想现在既然有 docker这么好的东西,为什么不用呢?

Docker vs Vagrant

为什么使用Docker而不是Vagrant:从时间上来看,Vagrant提供虚拟机需要数分钟,而Docker只需数秒;此外,从体量上来看,Vagrant提供的是完整的虚拟机,而Docker提供的是轻量级的虚拟容器,这些虚拟容器共享同一个内核并且允许在独立进程中运行。

环境搭建步骤如下:

1.首先从Docker hub 下载laraedit-docker 镜像
docker pull laraedit/laraedit
2.通过docker命令建立laravel目录
docker run --name laravel -p 8088:80 -v /Users/berylqliu/Workspace/laravelTest:/var/www/html/app laraedit/laraedit

参数说明:

  • --name:启动的服务名称
  • -p: 端口映射,本机8088端口映射容器80端口
  • -v: 目录挂载,本机目录:容器目录
  • -d: 如果加上这个参数表示后台启动服务
    laraedit 预设将 80, 443, 3306, 6379 port 开放出來,所以如果外部要直接存取,请使用-p参数设定。
3.启动docker shell
docker exec -it laravel /bin/bash

其中laravel就是上面--name指定的,在docker shell下,可以操作数据库等。

4.在容器里面创建一个应用,注意和挂载目录一致
cd /var/www/html/
laravel new app

或者:

cd /var/www/html/app/
laravel new blog
再把blog目录下面的文件移动到app目录下面去,把 blog目录删掉,其实只要注意和挂载目录映射一致就可以了
5.如果容器退出了,启动容器:
docker start laravel

下次启动docker shell的命令:

docker exec -it -v /Users/berylqliu/Workspace/laravelTest:/var/www/html/app laravel /bin/bash

然后就可以在http://localhost:8088/ 看见Laravel首页啦!其他相关docker命令可以自行学习。

### 设置 Laravel 开发环境使用 Docker #### 准备工作 为了设置基于 DockerLaravel 开发环境,需先确保本地已安装 DockerDocker Compose。 #### 创建项目结构 创建一个新的目录用于存放整个项目的文件,并初始化 Git 版本控制: ```bash mkdir laravel-docker && cd $_ git init . ``` #### 配置 `docker-compose.yml` 文件 编写一个简单的 `docker-compose.yml` 来定义服务组合。此配置包含了 PHP-FPM、Nginx 及 MySQL 数据库三个主要组件[^1]。 ```yaml version: '3' services: webserver: image: nginx:alpine ports: - ./:/var/www/html - ./nginx.conf:/etc/nginx/conf.d/default.conf php-fpm: build: ./php-fpm volumes: - ./:/var/www/html db: image: mysql:5.7 environment: MYSQL_ROOT_PASSWORD: secret MYSQL_DATABASE: homestead MYSQL_USER: homestead MYSQL_PASSWORD: secret ports: - "33060:3306" volumes: local_persistant_storage: ``` #### 构建自定义镜像 在根目录下新建名为 `php-fpm/Dockerfile` 的文件来构建适合运行 Laravel 应用程序的 PHP 容器: ```Dockerfile FROM php:7.4-fpm-alpine RUN apk add --no-cache \ git \ mariadb-client \ libzip-dev zip unzip \ && docker-php-ext-install pdo_mysql opcache bcmath intl sockets \ && pecl install xdebug-2.9.8 \ && docker-php-ext-enable xdebug WORKDIR /var/www/html COPY composer.json . RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \ && composer install COPY . . CMD ["php-fpm"] ``` #### 初始化 Composer 并生成密钥 通过执行命令完成应用依赖项下载以及应用程序加密密钥生成操作: ```bash docker-compose run --rm app composer install docker-compose exec app php artisan key:generate ``` #### 启动容器并访问 Web 页面 启动所有必要的服务并将 Nginx 映射到主机端口上以便能够直接通过浏览器查看网站效果[^3]: ```bash docker-compose up -d ``` 此时应该可以在 http://localhost:8080 访问新建立好的 Laravel 网站了!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值