docker-一搭建就成功的多版本环境-Devilbox-可替代lardock
安装参考链接#
devilbox.readthedocs.io/en/latest/...
注意事项#
如果 github 仓库很慢,建议 fork 到自己的 github,然后导入到 gitee。
相对于 lardock 的优点#
- 一次跑通
- 文档详细
- 支持多 LInux 版本
- 好用啊!
- 不需要担心用了代理还是垃圾网络了。启动速度飞快,2M/S 你能信?
安装完成后,常用命令#
首次初始化#
首次启动建议 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
控制台功能介绍: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。 |
数据目录
该目录被安装在 httpd
和 php
容器中,因此两者都知道可以在哪里找到所有项目。这也是您为每个项目创建的地方。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
2. 创建新的虚拟主机目录#
导航到新创建的 vhost 目录,并使用 laravel
cli 或者 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.*"
安装后目录结构如何:
devilbox@php-7.0.20 in /shared/httpd/my-laravel $ tree -L 1
.
└── laravel-project
1 directory, 0 files
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
目录结构在符号链接后如何显示:
devilbox@php-7.0.20 in /shared/httpd/my-laravel $ tree -L 1
.
├── laravel-project
└── htdocs -> laravel-project/public
2 directories, 0 files
从上面的目录结构中可以看到,该目录结构 htdocs
在其预期路径中可用,并且指向框架入口点。
打开仪表盘查看你的 虚拟主机:
提示我们需要配置 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.loc
或 https://my-laravel.loc
监听正在监听的 Devilbox 127.0.0.1
。
再次查看仪表盘的 vhost 发现已经变绿。
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/...
其他的你可以自行去官网查看文档。
推荐文章: