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 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 0
发起讨论 查看所有版本


暂无话题~