下载镜像

docker pull mysql:5.7

docker pull php:7.2-fpm

docker pull nginx

docker pull redis: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设置文件共享

如图

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

安装Mysql

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

复制配置文件

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并指定配置文件

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

初始化数据库

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

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

复制配置文件

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并指定配置文件

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

复制配置文件

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

重新安装并指定配置文件

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扩展安装

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

配置测试域名

#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 Apache's document root

# concurs with nginx's one

#

location ~ /\.ht {

deny all;

}

}

#nginx重新加载配置 或者重启。

#本地host解析域名test.com 访问 显示phpinfo正常

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

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开发环境的教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

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

linkbox php,win10 docker-toolsbox 搭建php开发环境的教程相关推荐

  1. 修正《用Docker快速搭建Go开发环境》文章中的一处错误

    上周写的文章<五分钟用Docker快速搭建Go开发环境>,文章发出去后有不少阅读量,而且从后台看的数据 60%的人都读完了.今天我自己用下面命令往 容器里的 Go 项目里下载包时发现了一处 ...

  2. docker配置python环境_PyCharm使用Docker镜像搭建Python开发环境

    在我们平时使用PyCharm的过程中,一般都是连接本地的Python环境进行开发,但是如果是离线的环境呢?这样就不好搭建Python开发环境,因为第三方模块的依赖复杂,不好通过离线安装包的方式安装.本 ...

  3. mac php环境配置教程,Mac下搭建PHP 开发环境的教程(详细步骤)

    本篇文章给大家带来的内容是关于Mac下搭建PHP 开发环境的教程(详细步骤),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. php 的本地开发环境,搭建很简单,成功启动三个进程就可以 ...

  4. 五分钟用Docker快速搭建Go开发环境

    挺早以前在我写过一篇用 Docker搭建LNMP开发环境的文章:用Docker搭建Laravel开发环境,里面详细介绍了将 nginx. mysql和 php三个容器用 docker-compose编 ...

  5. docker容器没有apt_使用Docker快速搭建Rails开发环境

    引言 Docker with rails 学习 Ruby On Rails 开发的同学经常会遇到因为电脑系统环境不同,同样的程序在自己这边跑起来没问题,给了其他人之后就是各种依赖或者环境问题,尤其是在 ...

  6. docker 添加端口映射_Docker快速搭建PHP开发环境详细教程

    想必作为一个web开发的程序员,近些年对docker技术一定不会陌生,docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux ...

  7. 新手如何使用Docker来搭建PHP开发环境?

    安装Docker 平时开发的环境一般都是Mac或者Windows,Linux暂时没有研究,所以接下来只针对前两者写下步骤,这两个平台,官方都推荐了两种安装方式:app和工具包(toolbox).注:a ...

  8. 使用Docker快速搭建Tensorflow开发环境

    当我刚开始学习使用scikit-learn时,总是会出现各种各样的包依赖问题,兜兜转转了一遍才全部安装好,现在的机器学习算法开发者大都使用tensorflow.pytorch来实现自己的想法,但依然会 ...

  9. 使用Docker快速搭建PHP开发环境

    一般我们会把nginx.php都安装在同一个容器,为了扩展方便,我们希望nginx容器和php容器分开.那么就可以使用docker link命令实现这一目的. 需要的镜像: nginx 1.12.2 ...

最新文章

  1. php 字节序,Linux_Linux中网络字节序和主机字节序,主机字节序就是我们平常说的 - phpStudy...
  2. 前向业务中间层的意义,架构,技能要求
  3. hdu 4681(枚举+dp)
  4. 17年第八届蓝桥杯省赛(C语言B组) 题解
  5. php公众号推荐,良心推荐6个优质实用又有趣的微信公众号!
  6. IntelliJ IDEA如何修改背景颜色样式
  7. STM32标准库与HAL库中的Mode和Pull设置
  8. 2010中国十大杰出IT博客大赛—唯有行动才能改造命运
  9. CMMI3级认证的条件是什么?
  10. magisk核心功能模式是什么_科技板块——深入解析MM管理器
  11. 适合初学者入手的vue项目
  12. lavaral中文手册_Laravel5.3手册下载
  13. 电脑蓝屏后的文件数据怎么恢复?电脑蓝屏的原因有哪些
  14. PostgreSQL 视图
  15. 中国网络游戏行业研究报告-2010
  16. CSS3时光流逝效果
  17. 2020-08-13 图像处理入门软件应该怎么选?Opencv matlab 和Python
  18. 办公室桌面计算机,我的办公室桌面(一切为了简洁)
  19. 机器指令与微指令之间的关系
  20. Java实现Excel和word转pdf加水印,复制及可用

热门文章

  1. 查询CPU占用高的SQL语句的解决方案
  2. html5和c3属性,H5与C3不得不说的知识点
  3. 微信公共平台接口开发--Java实现
  4. eazy ui 复选框单选_UI备忘单:单选按钮,复选框和其他选择器
  5. CMDB功能分析与实现方案
  6. RabbitMQ系列(二)深入了解RabbitMQ工作原理及简单使用
  7. android:versionCode和android:versionName 用途
  8. RedHat 5.4下构建postfix全功能电子邮(七)-extmail extman平台-(下集)
  9. 全球增长最快域名解析商Top10:中国占据四席
  10. Cache占用过多内存导致Linux系统内存不足问题排查