小知识:win10 docker-toolsbox 搭建php开发环境的教程

下载镜像

?
1
2
3
4
docker pull mysql:5.7
docker pull php:7.2-fpm
docker pull nginx
docker pull redis:3.2

设置共享文件

宿主机创建目录

?
1
2
3
4
5
6
7
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设置文件共享

如图

设置完成在Docker Quickstart Termina 执行 docker-machine restart default

安装Mysql

?
1
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root –name mysql57 mysql:5.7

复制配置文件

?
1
2
PS C:\Windows\system32> docker cp mysql57:/var/log/mysql E:\wnmp\mysql57\log
PS C:\Windows\system32> docker cp mysql57:/etc/mysql E:\wnmp\mysql57\conf

重新安装mysql并指定配置文件

?
1
2
3
4
5
PS C:\WINDOWS\system32> docker stop mysql57
mysql57
PS C:\WINDOWS\system32> docker rm mysql57
mysql57
PS C:\WINDOWS\system32> docker run -d -v /wnmp/mysql57/log:/var/log/mysql/ -v /wnmp/mysql57/conf:/etc/mysql/ -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root –name mysql57 mysql:5.7

初始化数据库

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
docker exec -ti mysql57 /bin/bash
mysql_secure_installation
#查看Mysql状态
root@d7bd0712bcf8:/# mysql -uroot -proot
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.7.28 MySQL Community Server (GPL)
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type help; or \h for help. Type \c to clear the current input statement.

安装PHP

?
1
PS C:\WINDOWS\system32> docker run -d -v /wnmp/www:/var/www/html -p 9000:9000 –link mysql57:mysql –name php72 php:7.2-fpm

复制配置文件

?
1
2
3
PS C:\Windows\system32> docker cp php72:/usr/local/etc E:\wnmp\php72\conf
PS C:\Windows\system32> docker cp php72:/usr/local/var/log E:\wnmp\php72\log
PS C:\Windows\system32> docker cp php72:/var/www/html E:\wnmp\www

重新安装PHP并指定配置文件

?
1
2
3
4
5
6
7
8
9
10
11
12
PS C:\WINDOWS\system32> docker stop php72
php72
PS C:\WINDOWS\system32> docker rm php72
php72
docker run -d -v /wnmp/php72/conf/etc:/usr/local/etc -v /wnmp/php72/log:/usr/local/var/log -v /wnmp/www:/var/www/html -p 9000:9000 –link mysql57:mysql –name php72 php:7.2-fpm
# 查看PHP版本
PS C:\Windows\system32> docker exec -ti php72 /bin/bash
root@742150f14d8a:/var/www/html# php -v
PHP 7.2.23 (cli) (built: Oct 5 2019 00:31:47) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
Ngixn

安装

PS C:\WINDOWS\system32> docker run -d -p 80:80 –link php72:phpfpm –name nginx nginx:latest

复制配置文件

?
1
2
PS C:\Windows\system32> docker cp nginx:/etc/nginx/ E:\wnmp\nginx\conf
PS C:\Windows\system32> docker cp nginx:/var/log/nginx/ E:\wnmp\nginx\log

重新安装并指定配置文件

?
1
2
3
4
5
6
7
8
PS C:\WINDOWS\system32> docker stop nginx
nginx
PS C:\WINDOWS\system32> docker rm nginx
nginx
PS C:\WINDOWS\system32> docker run -d -p 80:80 -v /wnmp/www:/var/www/html -v /wnmp/nginx/conf/nginx:/etc/nginx/ -v /wnmp/nginx/log:/var/log/nginx/ –link php72:phpfpm –name nginx nginx
#浏览器访问 http://192.168.99.100/ 验证成功
Redis
docker run -p 6379:6379 -d redis:3.2 redis-server

PHP扩展安装

?
1
2
3
4
5
6
redis
PS C:\Windows\system32> docker exec -ti php72 /bin/bash
root@742150f14d8a:/var/www/html# pecl install -o -f redis
#安装完成,加入Ini配置 此时docker下的redis配置 在
E:\wnmp\php72\conf\etc\php\conf.d\docker-php-ext-sodium.ini
# 重启php

配置测试域名

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#E:\wnmp\nginx\conf\nginx\conf.d目录下新建test.conf
#E:\wnmp\www目录新建test目录。目录下新建index.php 输出phpinfo;
server {
listen    80;
server_name test.com;
#charset koi8-r;
access_log /var/log/nginx/host.access.log main;
location / {
root  /var/www/html/test;
index index.php index.html index.htm;
}
#error_page 404       /404.html;
# redirect server error pages to the static page /50x.html
#
error_page  500 502 503 504 /50x.html;
location = /50x.html {
root  /usr/share/nginx/html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
#  proxy_pass  http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root  /var/www/html/test;
fastcgi_pass  192.168.99.100:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include    fastcgi_params;
}
# deny access to .htaccess files, if Apaches document root
# concurs with nginxs one
#
location ~ /\.ht {
deny all;
}
}
#nginx重新加载配置 或者重启。
#本地host解析域名test.com 访问 显示phpinfo正常

以上为所有安装配置以及测试。当然最后我们需要将这些docker容器加入到自动启动中

?
1
2
3
4
docker container update –restart=always php72
docker container update –restart=always mysql57
docker container update –restart=always nginx
docker container update –restart=always redis

总结

以上所述是小编给大家介绍的win10 docker-toolsbox 搭建php开发环境的教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

原文链接:https://segmentfault.com/a/1190000020739184

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:如何利用Gitlab-ci持续部署到远程机器(详细教程)

2023-4-27 17:27:25

建站知识

小知识:什么是服务器?你对服务器了解多少?

2023-4-27 17:57:19

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索