文档章节

使用 Laradock 10 分钟部署 Laravel 或 Notadd 环境

左华栋
 左华栋
发布于 2017/05/27 20:03
字数 1093
阅读 390
收藏 2

为什么使用docker?

部署快

只需要几分钟,就能部署好一套PHP环境

性能好

docker 的性能损失只有1-2%,几乎可以忽略不计。

安全性高

容器与宿主机完全隔离,默认情况下不能相互访问。

同时支持多版本软件

可以PHP多版本共存

教程目的

如何用laradock 在10分钟内 部署 Notadd 与 laradock 环境

################################安装docker#######################

Liunx 安装docker

curl -sSL https://get.daocloud.io/docker | sh

## 安装docker

Centos7 请执行这步

yum install -y docker-engine 

ubuntu 请执行这步

sudo apt-get install -y -q docker-engine

安装docker-compose (ubuntu 请注意权限问题)

curl -L https://get.daocloud.io/docker/compose/releases/download/1.13.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

开启国内镜像加速

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://1f637783.m.daocloud.io

Windows10(64位) 安装docker

下载安装 https://get.daocloud.io/docker-install/windows

开启国内镜像加速

在桌面右下角状态栏中右键 docker 图标,修改在 Docker Daemon 标签页中的 json ,把下面的地址:

http://1f637783.m.daocloud.io Copy

加到"registry-mirrors"的数组里。点击 Apply 。

Mac 10.8+ 安装docker

下载安装 https://get.daocloud.io/docker-install/mac

开启国内镜像加速

右键点击桌面顶栏的 docker 图标,选择 Preferences ,在 Daemon 标签(Docker 17.03 之前版本为 Advanced 标签)下的 Registry mirrors 列表中加入下面的镜像地址:

http://1f637783.m.daocloud.io Copy

点击 Apply & Restart 按钮使设置生效。

###################################下载laradock 与 notadd#######################

下载laradock 与 Notadd

请确保git 可用 (win 建议在Powershell下执行)

git clone https://github.com/Laradock/laradock.git
mkdir -p wwwroot/data  # 创建网站目录
cd wwwroot 
git clone https://github.com/notadd/notadd.git
cd .. # 返回到上级目录

Linux: (win 和 mac 请直接编辑env-example 文件)

cd laradock

vi env-example

env-example 配置说明

APPLICATION=../wwwroot

DATA_SAVE_PATH=../wwwroot/data

WORKSPACE 配置项

视情况开启

NODE=true
YARN=true

PHP_FPM配置说明

PHP_FPM_INSTALL_XDEBUG=false
PHP_FPM_INSTALL_MONGO=false
PHP_FPM_INSTALL_MSSQL=false
PHP_FPM_INSTALL_SOAP=false
PHP_FPM_INSTALL_ZIP_ARCHIVE=true
PHP_FPM_INSTALL_BCMATH=true
PHP_FPM_INSTALL_PHPREDIS=true
PHP_FPM_INSTALL_MEMCACHED=false
PHP_FPM_INSTALL_OPCACHE=false
PHP_FPM_INSTALL_EXIF=true
PHP_FPM_INSTALL_AEROSPIKE=false
PHP_FPM_INSTALL_MYSQLI=false
PHP_FPM_INSTALL_TOKENIZER=false
PHP_FPM_INSTALL_INTL=false
PHP_FPM_INSTALL_GHOSTSCRIPT=false
PHP_FPM_INSTALL_LDAP=false
PHP_FPM_INSTALL_SWOOLE=false

线上环境请将 PHP_FPM_INSTALL_OPCACHE=true

下面是数据库默认的账号和密码,请根据需要自行修改,不再阐述。

更改完毕后请务必进行此操作:

cp env-example .env

复制环境变量文件。

更改Caddy 配置

Caddy 是一个高性能,且使用很简单的HTTP服务器,自带HTTPS证书。

cd caddy
vi Caddyfile

更改为如下配置:

# Docs: https://caddyserver.com/docs/caddyfile
0.0.0.0:80 {
        root /var/www/notadd/public
        fastcgi / php-fpm:9000 php {
                index index.php
        }

        # To handle .html extensions with laravel change ext to
        # ext / .html

        rewrite {
                r .*
                ext /
                to /index.php?{query}
        }
        gzip
        browse
        log /var/log/caddy/access.log
        errors /var/log/caddy/error.log
}

请注意: 容器无法直接访问主机。 APPLICATION=../wwwroot 设置的 wwwroot目录 会对应容器的/var/www 目录

完成后请:

cd .. # 进入laradock 根目录

启动laradock

可以根据自己需要自行启动 nginx/apache/mysql/phpmyadmin/redis 等

注:phpmyadmin 请访问 http://IP:88 pgadmin请访问 http://IP:5050

docker-compose up caddy postgres pgadmin 

第一次运行需要安装环境,需要比较久的时间,请耐心等待

#############################常用操作############# 以下操作请确保在laradock 根目录下

启动相关

laradock 默认会启动 php-fpm 和 workspace ,所以参数中无需加这两个。

启动 caddy 和 postgresql

docker-compose up caddy postgres

后台启动

docker-compose up -d caddy postgres

只重启caddy (比如修改了配置文件)

docker-compose restart caddy

停止所有

docker-compose stop

工作空间

进入工作空间前,请确认环境已经启动

docker-compose exec workspace bash

会进入 /var/www 目录

此时 可以执行composerPHP命令。

如果之前env-example 开启了nodeyarn 也可执行对应命令。

安装notadd

cd notadd
compose install
php notadd vendor:publish --force

退出工作空间

exit

连接数据库和PHP

请一定注意,数据库连接地址请一定填写为mysqlpostgresmariadb 等。 另外Nginx/Caddy/Apache 如果需要访问PHP容器,请填写:php-fpm

更改laradock 配置

当你再次修改完env-example 后,请一定按照如下方法执行:

cp env-example .env

重新构建相应的容器

docker-compose build php-fpm worksapce

如果还修改了 其他容器配置,请在后面一同加上

需要注意的是:

由于数据库的数据是映射到 wwwroot/data 目录,

所以在env-example 修改数据库密码,即使重新构建也无效。

如需强制更改 请删除wwwroot/data 里面对应数据库的数据。

日常修改密码,请使用phpmyadmin 或者 pgadmin

© 著作权归作者所有

左华栋

左华栋

粉丝 41
博文 18
码字总数 10576
作品 6
西安
产品经理
私信 提问
使用 Docker 搭建 Laravel 本地环境

(原文地址:https://blog.tanteng.me/2017/10/docker-laravel-local-environment/) Laravel 官方提供 Homestead 和 Valet 作为本地开发环境,Homestead 是一个官方预封装的 Vagrant Box,也...

谈腾
2017/11/08
0
0
Laradock的xdebug在vscode上使用的配置

简介 Laradock 是为 Docker 提供的完整 PHP 本地开发环境,和 Homestead 一样提供了一系列打包好(包括配置)的 Docker Image。Laradock 早期专注为 Laravel 打造 Docker 开发环境,因而最早...

Homelam
2018/05/14
0
0
简单 16步走一遍 Laravel Echo 的使用

先飚几句英文,说说 的作用: One of my favorite projects in the Laravel ecosystem is Echo. Echo enables real-time web applications through the use of WebSockets and hooks direct......

叶梅树
2018/07/30
0
0
laradock win10安装

之前也有尝试过Windows10安装docker,安装成功了之后一直用不了docker-compose,但是这次重新装了系统,专业版的Windows10系统,安装了docker之后,docker-compose可以使用了(ps:我安装了d...

DamienChen
2018/03/27
0
0
windows10 专业版 64位系统安装docker并使用 laradock 搭建 laravel 环境

windows10 专业版 64位系统安装docker docker官网 docker官网安装文档 安装说明 windows 10 系统需要开启 Hyper-V 开启方式如下图: 打开控制面板-程序-程序和功能-启用或关闭 windows 功能 ...

削个椰子皮_给个梨
05/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

C 语言 二级指针操作文件 柔性数组使用

#include <stdio.h>#include <stdlib.h>#include <string.h>typedef struct _info* pInfo;struct _info{int line;int len;char data[0];}info;int getFil......

小张525
32分钟前
0
0
中介者模式

https://blog.csdn.net/jason0539/article/details/45216585

南桥北木
32分钟前
0
0
抽离css以及公共js

分离css 分离css:为何要把 CSS 文件分离出来,而不是直接一起打包在 JS 中。最主要的原因是我们希望更好地利用缓存。 extract-text-webpack-plugin > 1. 假设我们原本页面的静态资源都打包成...

莫西摩西
今天
1
0
Jenkins的配置从节点中默认没有Launch agent via Java Web Start,该如何配置使用

Jenkins的配置从节点中默认没有Launch agent via Java Web Start,如下图所示,而这种启动方式在Windows上是最方便的。 如何设置才能让出来呢? 1:打开"系统管理"——"Configure Global Sec...

shzwork
今天
2
0
BAT面试必问HashMap源码分析

HashMap 简介 HashMap 主要用来存放键值对,它基于哈希表的Map接口实现,是常用的Java集合之一。 JDK1.8 之前 HashMap 由 数组+链表 组成的,数组是 HashMap 的主体,链表则是主要为了解决哈...

别打我会飞
今天
17
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部