date && docker-compose build && docker-compose up -d && date
,总共费用1分钟15秒。sudo ifconfig en0 alias 10.254.254.254 255.255.255.0
sudo ip addr add 10.254.254.254/24 brd + dev eth0 label eth0:1
git clone https://gitee.com/chennl/docker.git
cd dphp && docker-compose build && docker-compose up -d
虚拟主机自定义:nginx/conf/vhosts.conf
修改里面server_name和root名称为自己想要定义的域名,然后将这个域名添加到/etc/hosts文件,即可建立自己的虚拟主机
php模块自定义:phpfpm/Dockerfile
参照注释自行修改即可
mysql默认帐号密码:docker-compose.yml, 可以根据需要修改,其他配置可在mysql/my.cnf中修改,默认端口为13306
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=your_db_name
- MYSQL_USER=developer
- MYSQL_PASSWORD=developer
其他配置调整可以参照源码和注释修改,然后运行
docker-compose build && docker-compose up -d
为什么我build的速度很慢?根本达不到文中所说的速度?
整个镜像包的build过程已全部配置成国内镜像,理论上速度是非常快的,docker本身也要配置成采用国内镜像,方法可自行搜索:docker 国内加速。每台电脑、网络环境都不一样,上面的时间是我在我的电脑上电信20M宽度环境下的build速度,仅供参考。
Windows下有一些问题,请参考【windows用户填坑建议】
其他有关docker基本概念和命令操作,请参考【docker基础概念和命令操作】。
如何跨容器访问服务?比如C1中的nginx如果访问C2中的php-fpm服务?
docker运行中的各个容器相当于不同的互相隔离的计算机,C1中的nginx若要访问C2中的php-fpm,关键点在于要把host指向改为正确的地址,我们如何知道C2的ip呢?docker-compose已经帮我们做好了一个默认配置:php-fpm别名指向C2的ip。所以我们只要:fastcgi_pass phpfpm:9000; 就可以了。其他比如数据库的访问也类似,使用数据库服务的别名mysql来当作host访问就可以了。
经常出现无法访问mirror服务器的情况,造成无法正常build。
估计是由于国内电信的dns不稳定造成,把host主机的dns换为其他第三方比如阿里dns:223.5.5.5 可能得到改善,大家可以试一下,看有没有效果。
可能还有一些不完善,有什么意见建议欢迎与我联系。
有什么问题可以提交issue,或者加dphp交流QQ群讨论,群号:515731883
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。