win10 docker-toolsbox 搭建php开发环境的教程
下载镜像
dockerpullmysql:5.7 dockerpullphp:7.2-fpm dockerpullnginx dockerpullredis:3.2
设置共享文件
宿主机创建目录
E:\wnmp\mysql57\conf E:\wnmp\mysql57\log E:\wnmp\php72\conf E:\wnmp\php72\conf E:\wnmp\nginx\conf E:\wnmp\nginx\conf E:\wnmp\www
vmware设置文件共享
如图
设置完成在DockerQuickstartTermina执行docker-machinerestartdefault
安装Mysql
dockerrun-d-p3306:3306-eMYSQL_ROOT_PASSWORD=root--namemysql57mysql:5.7
复制配置文件
PSC:\Windows\system32>dockercpmysql57:/var/log/mysqlE:\wnmp\mysql57\log PSC:\Windows\system32>dockercpmysql57:/etc/mysqlE:\wnmp\mysql57\conf
重新安装mysql并指定配置文件
PSC:\WINDOWS\system32>dockerstopmysql57 mysql57 PSC:\WINDOWS\system32>dockerrmmysql57 mysql57 PSC:\WINDOWS\system32>dockerrun-d-v/wnmp/mysql57/log:/var/log/mysql/-v/wnmp/mysql57/conf:/etc/mysql/-p3306:3306-eMYSQL_ROOT_PASSWORD=root--namemysql57mysql:5.7
初始化数据库
dockerexec-timysql57/bin/bash mysql_secure_installation #查看Mysql状态 root@d7bd0712bcf8:/#mysql-uroot-proot mysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure. WelcometotheMySQLmonitor.Commandsendwith;or\g. YourMySQLconnectionidis6 Serverversion:5.7.28MySQLCommunityServer(GPL) Copyright(c)2000,2019,Oracleand/oritsaffiliates.Allrightsreserved. OracleisaregisteredtrademarkofOracleCorporationand/orits affiliates.Othernamesmaybetrademarksoftheirrespective owners. Type'help;'or'\h'forhelp.Type'\c'toclearthecurrentinputstatement.
安装PHP
PSC:\WINDOWS\system32>dockerrun-d-v/wnmp/www:/var/www/html-p9000:9000--linkmysql57:mysql--namephp72php:7.2-fpm
复制配置文件
PSC:\Windows\system32>dockercpphp72:/usr/local/etcE:\wnmp\php72\conf PSC:\Windows\system32>dockercpphp72:/usr/local/var/logE:\wnmp\php72\log PSC:\Windows\system32>dockercpphp72:/var/www/htmlE:\wnmp\www
重新安装PHP并指定配置文件
PSC:\WINDOWS\system32>dockerstopphp72 php72 PSC:\WINDOWS\system32>dockerrmphp72 php72 dockerrun-d-v/wnmp/php72/conf/etc:/usr/local/etc-v/wnmp/php72/log:/usr/local/var/log-v/wnmp/www:/var/www/html-p9000:9000--linkmysql57:mysql--namephp72php:7.2-fpm #查看PHP版本 PSC:\Windows\system32>dockerexec-tiphp72/bin/bash root@742150f14d8a:/var/www/html#php-v PHP7.2.23(cli)(built:Oct5201900:31:47)(NTS) Copyright(c)1997-2018ThePHPGroup ZendEnginev3.2.0,Copyright(c)1998-2018ZendTechnologies Ngixn
安装
PSC:\WINDOWS\system32>dockerrun-d-p80:80--linkphp72:phpfpm--namenginxnginx:latest
复制配置文件
PSC:\Windows\system32>dockercpnginx:/etc/nginx/E:\wnmp\nginx\conf PSC:\Windows\system32>dockercpnginx:/var/log/nginx/E:\wnmp\nginx\log
重新安装并指定配置文件
PSC:\WINDOWS\system32>dockerstopnginx nginx PSC:\WINDOWS\system32>dockerrmnginx nginx PSC:\WINDOWS\system32>dockerrun-d-p80:80-v/wnmp/www:/var/www/html-v/wnmp/nginx/conf/nginx:/etc/nginx/-v/wnmp/nginx/log:/var/log/nginx/--linkphp72:phpfpm--namenginxnginx #浏览器访问http://192.168.99.100/验证成功 Redis dockerrun-p6379:6379-dredis:3.2redis-server
PHP扩展安装
redis PSC:\Windows\system32>dockerexec-tiphp72/bin/bash root@742150f14d8a:/var/www/html#peclinstall-o-fredis #安装完成,加入Ini配置此时docker下的redis配置在 E:\wnmp\php72\conf\etc\php\conf.d\docker-php-ext-sodium.ini #重启php
配置测试域名
#E:\wnmp\nginx\conf\nginx\conf.d目录下新建test.conf
#E:\wnmp\www目录新建test目录。目录下新建index.php输出phpinfo;
server{
listen80;
server_nametest.com;
#charsetkoi8-r;
access_log/var/log/nginx/host.access.logmain;
location/{
root/var/www/html/test;
indexindex.phpindex.htmlindex.htm;
}
#error_page404/404.html;
#redirectservererrorpagestothestaticpage/50x.html
#
error_page500502503504/50x.html;
location=/50x.html{
root/usr/share/nginx/html;
}
#proxythePHPscriptstoApachelisteningon127.0.0.1:80
#
#location~\.php${
#proxy_passhttp://127.0.0.1;
#}
#passthePHPscriptstoFastCGIserverlisteningon127.0.0.1:9000
#
location~\.php${
root/var/www/html/test;
fastcgi_pass192.168.99.100:9000;
fastcgi_indexindex.php;
fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;
includefastcgi_params;
}
#denyaccessto.htaccessfiles,ifApache'sdocumentroot
#concurswithnginx'sone
#
location~/\.ht{
denyall;
}
}
#nginx重新加载配置或者重启。
#本地host解析域名test.com访问显示phpinfo正常
以上为所有安装配置以及测试。当然最后我们需要将这些docker容器加入到自动启动中
dockercontainerupdate--restart=alwaysphp72 dockercontainerupdate--restart=alwaysmysql57 dockercontainerupdate--restart=alwaysnginx dockercontainerupdate--restart=alwaysredis
总结
以上所述是小编给大家介绍的win10docker-toolsbox搭建php开发环境的教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!