docker-一搭建就成功的多版本环境-Devilbox-可替代lardock

未匹配的标注

安装参考链接#

devilbox.readthedocs.io/en/latest/...

注意事项#

如果 github 仓库很慢,建议 fork 到自己的 github,然后导入到 gitee。

相对于 lardock 的优点#

  1. 一次跑通
  2. 文档详细
  3. 支持多 LInux 版本
  4. 好用啊!
  5. 不需要担心用了代理还是垃圾网络了。启动速度飞快,2M/S 你能信?

docker-超赞的多版本环境-Devilbox

安装完成后,常用命令#

首次初始化#

首次启动建议 docker-compose up 直到 他不动了,一般是执行到 MongoDB。

全部启动与 指定启动#

参数说明:-d 为 指定后台启动

docker-compose up -d
docker-compose up -d httpd  php mysql redis

内置的容器表:
| Container | Name | Hostname | IP Address |
| — | — | — | — |
| DNS | bind | bind | 172.16.238.100 |
| PHP | php | php | 172.16.238.10 |
| Apache, Nginx | httpd | httpd | 172.16.238.11 |
| MySQL, MariaDB, PerconaDB | mysql | mysql | 172.16.238.12 |
| PostgreSQL | pgsql | pgsql | 172.16.238.13 |
| Redis | redis | redis | 172.16.238.14 |
| Memcached | memcd | memcd | 172.16.238.15 |
| MongoDB | mongo | mongo | 172.16.238.16 |

更多可用容器【需要配置 docker-compose.override.yml】:

Container Name Hostname IP Address
Blackfire blackfire blackfire 172.16.238.200
MailHog mailhog mailhog 172.16.238.201
Ngrok ngrok ngrok 172.16.238.202
RabbitMQ rabbit rabbit 172.16.238.210
Solr solr solr 172.16.238.220
Varnish varnish varnish 172.16.238.230
HAProxy (SSL offloader for Varnish) haproxy haproxy 172.16.238.231
ELK: Elastic Search elastic elastic 172.16.238.240
ELK: Logstash logstash logstash 172.16.238.241
ELK: Kibana kibana kibana 172.16.238.242
Python Flask flask1 flask1 172.16.238.250

参考链接:devilbox.readthedocs.io/en/latest/...

停止容器#

# Stop all container
host> docker-compose stop
# Remove stopped container (important!)
host> docker-compose rm -f

重新启动所有容器#

# Stop all container
host> docker-compose stop
# Remove stopped container (important!)
host> docker-compose rm -f
# Start all container
host> docker-compose up

打开 Devilbox 本地网控制台#

启动成功后,进入 127.0.0.1

docker-超赞的多版本环境-Devilbox-可替代lardock

docker-超赞的多版本环境-Devilbox-可替代lardock

控制台功能介绍:devilbox.readthedocs.io/en/latest/...

ps:mysql 初始密码为空。

目录介绍#

以下所有./,针对与你的 Devilbox 安装的目录

项目 描述
数据目录 ./data/www 您所有项目所在的位置。
项目目录 ./data/www/project-1 一个项目。它的名称将用于创建 URL。
docroot 目录 ./data/www/project-1/htdocs 网络服务器在项目中查找文件的位置。
域后缀 loc 后缀以建立您的项目 URL。
项目网址 http://project-1.loc 最终生成的项目 URL。

数据目录

该目录被安装在 httpdphp 容器中,因此两者都知道可以在哪里找到所有项目。这也是您为每个项目创建的地方。project directories

项目目录

是您的项目,用于与域后缀一起生成虚拟主机。

docroot 目录

您内部的目录,网络服务器将在该目录中实际为您提供文件。project dir

域后缀

用作项目网址的一部分。

创建一个 laravel#

参考链接: devilbox.readthedocs.io/en/latest/...

1. 进入 php 容器。#

所有工作将在 PHP 容器内完成,因为它为您提供了所有必需的命令行工具。

导航到 Devilbox git 目录并执行 shell.sh(或 shell.bat 在 Windows 上)以输入正在运行的 PHP 容器。

host> ./shell.sh

docker-超赞的多版本环境-Devilbox-可替代lardock

2. 创建新的虚拟主机目录#

导航到新创建的 vhost 目录,并使用 laravelcli 或者 composer 安装 Laravel 。

1. 下载(使用阿里云 composer 镜像)#

devilbox@php-7.0.20 in /shared/httpd $ mkdir my-laravel
devilbox@php-7.0.20 in /shared/httpd $ cd my-laravel
devilbox@php-7.0.20 in /shared/httpd/my-laravel $ composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
devilbox@php-7.0.20 in /shared/httpd/my-laravel $ composer create-project --prefer-dist laravel/laravel laravel-project "5.5.*"

docker-超赞的多版本环境-Devilbox-可替代lardock

安装后目录结构如何:

devilbox@php-7.0.20 in /shared/httpd/my-laravel $ tree -L 1
.
└── laravel-project
1 directory, 0 files

docker-超赞的多版本环境-Devilbox-可替代lardock

4. 符号链接根目录 - 指定 public 下#

将实际的 webroot 目录符号链接到 htdocs 很重要。Web 服务器希望每个项目的文档根都在中。这是它将为文件提供服务的路径。这也是应该找到框架入口点的路径(通常是)。<vhost dir>/htdocs/``index.php

但是,某些框架在未知级别的嵌套目录中提供其实际内容。Web 服务器将无法弄清这一点,因此您必须手动将其符号链接回其预期路径。

devilbox@php-7.0.20 in /shared/httpd/my-laravel $ ln -s laravel-project/public/ htdocs

docker-超赞的多版本环境-Devilbox-可替代lardock

目录结构在符号链接后如何显示:

devilbox@php-7.0.20 in /shared/httpd/my-laravel $ tree -L 1
.
├── laravel-project
└── htdocs -> laravel-project/public

2 directories, 0 files

从上面的目录结构中可以看到,该目录结构 htdocs 在其预期路径中可用,并且指向框架入口点。

打开仪表盘查看你的 虚拟主机:

docker-超赞的多版本环境-Devilbox-可替代lardock

提示我们需要配置 hosts ,请看下文

5. DNS 记录#

如果已经配置了自动 DNS,则可以跳过此部分,因为捆绑的 DNS 服务器将自动提供 DNS 条目。(新手不建议配置自动 DNS)

如果配置自动 DNS,则需要将以下行添加到主机操作系统 /etc/hosts(或 C:\Windows\System32\drivers\etc 在 Windows 上) 文件中

先退出容器,进入系统。

打开 hosts,以 linux 为例:

wcb@appledeMacBook-Pro-4 devilbox % sudo vi /etc/hosts

Password:


增加下面一行:

127.0.0.1 my-laravel.loc

这样可以确保您的主机操作系统的浏览器可以将任何呼叫定向到 http://my-laravel.lochttps://my-laravel.loc 监听正在监听的 Devilbox 127.0.0.1

再次查看仪表盘的 vhost 发现已经变绿。

docker-超赞的多版本环境-Devilbox-可替代lardock

访问 my-laravel.loc

docker-超赞的多版本环境-Devilbox-可替代lardock

6. 打开你的浏览器#

在 http://my-laravel.loc 或 https://my-laravel.loc 打开浏览器

推荐阅读 PHP 容器文章#

进入 php 容器:devilbox.readthedocs.io/en/latest/...

在 php 容器中工作的配置:devilbox.readthedocs.io/en/latest/...

改变容器(PHP MySQL 之类)版本配置文件所在地: devilbox.readthedocs.io/en/latest/...

更多工具#

配置 php xdebug:devilbox.readthedocs.io/en/latest/...

使用 RabitMQ:devilbox.readthedocs.io/en/latest/...

其他的你可以自行去官网查看文档。

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
wangchunbo
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 0
发起讨论 只看当前版本


暂无话题~