基于 Docker-CentOS7.5 安装 Laravel, 完美无坑!
虽然环境搭建的方法文档上都有说明,但是对我等菜逼来说依然遇到了很多坑,我在这里基于 centos7.5 开一条柏油路,希望大家在这条路上可以节省很多时间!
我这里是使用的 docker, 请自行安装 docker !
约定:
在本机上执行的命令使用 > 符号,在容器中执行的命令使用 $ 符号。
获取 centos 镜像(现在默认为 7.5 版本)
> docker pull centos
后台运行 centos 容器,起别名 Laravel, 映射 8000 端口到本机的 8000 端口
> docker run -it -p 127.0.0.1:8000:8000 -d --name Laravel centos
进入 Laravel 容器
> docker exec -it Laravel /bin/bash
解决依赖问题
$ yum install zip unzip openssl openssl-devel gcc vim git wget libxml2-devel autoconf make -y
进入 root 目录
$ cd
下载 php 源码压缩包并解压
$ wget http://cn2.php.net/distributions/php-7.2.7.tar.gz
$ tar -zxvf php-7.2.7.tar.gz
编译并安装 php
$ cd php-7.2.7
$ ./configure --with-zlib
$ make install
安装需要的扩展
$ cd ./ext/mbstring
$ phpize && ./configure && make install
$ cd ../../
$ cd ./ext/openssl
$ mv config0.m4 config.m4
$ phpize && ./configure && make install
$ cd ../../
$ cd ./ext/zip
$ phpize && ./configure && make install
$ cd ../../
配置 php.ini
$ mv php.ini-production /usr/local/lib/php.ini
打开 /usr/local/lib/php.ini
将被注释的 extension=openssl 去掉注释
将被注释的 extension=mbstring 去掉注释
在附近添加 extension=zip
检查扩展是否备齐 (可以忽略此命令)
$ php -m
安装并更新 composer
$ php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
$ php composer-setup.php
$ php -r "unlink('composer-setup.php');"
$ mv composer.phar /usr/local/bin/composer
$ composer self-update
由于 composer 不让在 root 环境中运行所以需要创建个用户,去那个用户中操作!
$ adduser mrz
$ passwd mrz
$ su mrz
$ cd
加速:
$ composer config -g repo.packagist composer https://packagist.phpcomposer.com
创建项目(第一次创建项目需要多等一会)
$ composer create-project --prefer-dist laravel/laravel blog
启动项目服务
$ cd blog
$ php artisan serve --host=0.0.0.0 --port=8000
然后在本地主机打开 http://localhost:8000 可以看到我们 laravel 项目的主页
至此 laravel 安装完毕!
我还想做两件事:
- 如果我将容器删除的话,新创建容器后还是需要做上面的这些操作;所以我要在这个阶段构建一个镜像保存下来,下次就不用再安装了,可以拉去镜像直接使用。
- 我不想使用 vim 在容器中写代码,要将本地一个目录映射到容器;在容器中操作 (项目代码的提交,拉取,服务的启动等等) 项目,在容器外写代码!
在 docker hub 上注册一个账户
创建一个仓库,命名为 samoyedsun
本地提交容器的操作记录,b4a379d00f82 是你容器的 id
> docker commit -m "a new laravel image" -a "mr_z" b4a379d00f82 samoyedsun/laravel:v1
将镜像推送到 docker hub, 如果未登陆,需要执行 docker login 登陆自己的 docker hub 账户
> docker push samoyedsun/laravel:v1
拉取镜像
> docker pull samoyedsun/laravel:v1
以后台方式运行容器,关闭安全权限,将本地目录 / Users/mrz/laravel 映射到容器中 /home/mrz/laravel
> docker run -it -d -p 8000:8000 -v /Users/mrz/laravel_project:/home/mrz/laravel_project --privileged=true --name Laravel samoyedsun/laravel:v1
进入容器中的 laravel_project 创建自己的 laravel 项目,或者丛 github 上拉取自己的项目。如果是 github 上拉取项目的话需要先看一下从 GitHub 上克隆项目代码后需要做的事情,这样才能顺利再次启动你的服务。
> docker exec -it Laravel /bin/bash
$ su mrz
$ cd /home/mrz/laravel_project
$ composer create-project --prefer-dist laravel/laravel blog
接下来就可以在本机进入 / Users/mrz/laravel_project 编辑自己的项目了。
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: