下载镜像

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  8. Spark家族:Win10系统下搭建Scala开发环境

    一.Scala环境基础 Scala对Java相关的类,接口进行了包装,所以依赖Jvm环境. Jdk 1.8 scala 依赖 scala 2.11 安装版本 idea 2017.3 开发工具 二.配置 ...

  9. linkbox php,win10 docker-toolsbox 搭建php开发环境的教程

    下载镜像 docker pull mysql:5.7 docker pull php:7.2-fpm docker pull nginx docker pull redis:3.2 设置共享文件 宿主 ...

  10. Docker最全教程之使用Docker搭建Java开发环境(十八)

    前言 Java是一门面向对象的优秀编程语言,市场占有率极高,但是在容器化实践过程中,发现官方支持并不友好,同时与其他编程语言的基础镜像相比(具体见各语言镜像比较),确实是非常臃肿. 本篇仅作探索,希望 ...

最新文章

  1. python正态分布相关函数
  2. c - 字符串的拼接.
  3. VMWARE错误-VirtualInfrastructure.Utils.ClientsXml的类型初始值设定项引发异常
  4. .SQL Server中 image类型数据的比较
  5. linux安装grpc占用空间大,grpc linux安装-Go语言中文社区
  6. Spring MVC DispatcherServlet介绍
  7. 中油C语言第一次在线作业,中石油华东《程序设计(C语言)》2020年春季学期在线作业(二)...
  8. 空中楼阁成语故事,空中楼阁用来比喻什么?
  9. 如何在Ruby中编写switch语句
  10. 文本生成解码策略笔记-常见解码策略
  11. phpMyAdmin出现错误 Access denied for user 'root'@'localhost' (using password: NO)
  12. vue教程1-03 v-for循环
  13. 备份outlook的时候,请不要忘记同时备份Outlook.NK2文件
  14. 三菱PLC自带FIFO操作指令编程应用
  15. JavaScript 小白手册
  16. 腾讯云云服务器遭DDoS攻击被封堵的解决方法
  17. 戴尔dell poweredge r730服务器系统安装以及raid配置详解教程
  18. SaaS商城是什么,赢利点在哪儿?
  19. 台式计算机如何拆硬盘,台式机如何更换硬盘
  20. 计算机组成原理(三)存储器的层次结构

热门文章

  1. mac上设置sudo不要密码
  2. Equals Finalize GetHashCode GetType MemberwiseClone ReferenceEquals ToString String.IsInterned
  3. JSP servlet的配置与使用
  4. 【个人笔记】OpenCV4 C++ 图像处理与视频分析 08课
  5. java 构建 数字 list_数字全排列返回list的list:java实现
  6. apktool d test.apk报错:Unsupported major.minor version 52.0
  7. socket解决:Address already in use报错问题
  8. emacs for Mac命令
  9. android启动过程之init.rc文件浅析
  10. jstring转换到C语言所用的char