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/...
其他的你可以自行去官网查看文档。