前期工作
 
一、在宿主机创建文件夹
D:\wnmp\mysql57-conf
D:\wnmp\mysql57-log
D:\wnmp\nginx110-conf
D:\wnmp\nginx110-log
D:\wnmp\php71-conf
D:\wnmp\php71-log
D:\wnmp\www
 
二、新建hyper-v.cmd文件,内容如下:(如何window10家庭版需要如下操作,如果是专业版请跳过)
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
二(1)、修改注册表伪装专业版
win+R 运行regedit
 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
 EditionID修改成Professional
 
三、下载docker安装包
下载   Docker Windows 18.06.1-ce-win73下载
下载完安装,一路确定就可以
安装完,右键右下角任务栏的小鱼点击settings,选中shared Drives,选中D盘,点击apply
 
四、打开hyper-v管理器
hyper-v设置
虚拟硬盘更改路径 D:\Hyper-V\Virtual Hard Disks
虚拟机更改路径 D:\Hyper-V
 
ps:如下操作命令行必须以管理员运行黑窗口
 
mysql:
docker pull mysql:5.7
docker run -d -p : -e MYSQL_ROOT_PASSWORD=root --name mysql57 mysql:5.7
docker exec -ti mysql57 /bin/bash
docker cp mysql57:/var/log/mysql D:\wnmp\mysql57-log
docker cp mysql57:/etc/mysql D:\wnmp\mysql57-conf
docker stop mysql57
docker rm mysql57
docker run -d -v D:\wnmp\mysql57-log:/var/log/mysql/ -v D:\wnmp\mysql57-conf:/etc/mysql/ -p : -e MYSQL_ROOT_PASSWORD=root --name mysql mysql:5.7
docker exec -ti mysql57 /bin/bash
mysql_secure_installation 数据库初始化
apt update
apt-get install vim
php:
docker pull php:7.1-fpm
docker run -d -v D:\wnmp\www:/var/www/html -p : --link mysql57:mysql --name php71 php:7.1-fpm
docker exec -ti php71 /bin/bash
docker cp php71:/usr/local/etc D:\wnmp\php71-conf
docker cp php71:/usr/local/var/log D:\wnmp\php71-log
docker cp php71:/var/www/html D:\wnmp\www
docker stop php71
docker rm php71
docker run -d -v D:\wnmp\php71-conf:/usr/local/etc -v D:\wnmp\php71-log:/usr/local/var/log -v D:\wnmp\www:/var/www/html -p : --link mysql57:mysql --name php71 php:7.1-fpm
docker exec -ti php71 /bin/bash
apt update
apt-get install vim
nginx:
docker pull nginx:1.10.
docker run -d -p : --link php71:phpfpm --name nginx110 nginx:1.10.
docker exec -ti nginx110 /bin/bash
docker cp nginx110:/etc/nginx/ D:\wnmp\nginx110-conf
docker cp nginx110:/var/log/nginx/ D:\wnmp\nginx110-log
docker cp nginx110:/var/www/html D:\wnmp\www
docker stop nginx110
docker rm nginx110
docker run -d -p : -v D:\wnmp\www:/var/www/html -v D:\wnmp\nginx110-conf:/etc/nginx/ -v D:\wnmp\nginx110-log:/var/log/nginx/ --link php71:phpfpm --name nginx nginx110
redis:
docker pull redis
docker run -p : -d redis redis-server
安装redis非自带扩展
docker exec -it php71 /bin/bash
curl -L -o /tmp/redis.tar.gz https://github.com/phpredis/phpredis/archive/3.1.3.tar.gz
tar xfz /tmp/redis.tar.gz
rm -r /tmp/redis.tar.gz
mkdir -p /usr/src/php/ext
mv phpredis-3.1. /usr/src/php/ext/redis
docker-php-ext-install redis
docker restart php71
安装php自带扩展
docker exec -it php /bin/bash至目录下
cd /usr/local/bin
./docker-php-ext-install pdo_mysql
./docker-php-ext-install mysql
docker restart php71
宿主机重启自动启动容器
docker container update --restart=always php71
docker container update --restart=always mysql57
docker container update --restart=always nginx110
docker container update --restart=always redis
修改nginx配置文件(D:\wnmp\nginx-conf\conf.d)
server {
listen ;
server_name www.csdx.com;
root /var/www/html/caishangdaxue/public;
index index.php index.html index.htm;
access_log /etc/nginx/access.log;
error_log /var/log/nginx/error.log;
location / {
try_files $uri $uri/ /index.php$is_args$args;
if (!-e $request_filename){
rewrite ^(.*)$ /index.php?s=$ last;
break;
}
}
location ~ \.php$ {
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
fastcgi_pass 10.0.75.1:;
try_files $uri = ;
}
location ~ /\.(ht|svn|git) {
#deny all;
}
}
 
最后,多版本安装也是一样的就不一一举例了,步骤都是一样,预祝大家安装成功!

window10 家庭版安装docker和php开发环境的更多相关文章

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

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

  2. Mac上通过docker配置PHP开发环境

    这篇文章介绍的内容是关于Mac上通过docker配置PHP开发环境,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 更多PHP相关知识请关注我的专栏PHP​zhuanlan.zhihu. ...

  3. 如何使用Docker部署PHP开发环境

    本文主要介绍了如何使用Docker构建PHP的开发环境,文中作者也探讨了构建基于Docker的开发环境应该使用单容器还是多容器,各有什么利弊.推荐PHP开发者阅读.希望对大家有所帮助. 环境部署一直是 ...

  4. 在windows环境里,用Docker搭建Redis开发环境(新书第一个章节)

    大家都知道高并发分布式组件的重要性,而且如果要进大厂,这些技术不可或缺.但这些技术的学习难点在于,大多数项目里的分布式组件,都是搭建在Linux系统上,在自己的windows机器上很难搭建开发环境,如 ...

  5. Unix/Linux环境C编程入门教程(6) 安装Fedora C/C++开发环境

    安装Fedora  C/C++开发环境 1 Fedora 是一个开放的.创新的.前瞻性的操作系统和平台,基于 Linux. 2.选择自定义配置 3.设置版本为10.0 4.选择稍后安装 5.选择64位 ...

  6. 在Windows系统中安装集成的PHP开发环境

    原文:在Windows系统中安装集成的PHP开发环境 刚想学php的,又不会配置复杂php的环境,可以使用集成的,目前网上提供常用的PHP集成环境主要有AppServ.phpStudy.WAMP和XA ...

  7. 安装与配置Flutter开发环境

    这篇博客我们介绍了Flutter,并且对比了H5,React Native,Flutter. 由于Flutter是跨平台的开发框架,开发一次可以同时运行在Android和iOS上面,所以我们开发时最好 ...

  8. 在windows下使用多版本Python安装相应的虚拟开发环境

    在windows下面使用多版本Python安装相应的虚拟开发环境   在搭建一个项目的时候,希望使用最新版的Python3.7版本,但是Python3.6的版本也要留下,那么问题来了,如何解决这个问题 ...

  9. 安装Nginx+Lua+OpenResty开发环境配置全过程实例

    安装Nginx+Lua+OpenResty开发环境配置全过程实例 OpenResty由Nginx核心加很多第三方模块组成,默认集成了Lua开发环境,使得Nginx可以作为一个Web Server使用. ...

随机推荐

  1. 六 一些常用类:Random、BigInteger、BigDecimal、DecimalFormat

    常用类:

  2. 2018--Linux面试题

    1.企业场景面试题:buffer与Cache的区别. 2.企业场景面试题:redhat与CentOS的区别. 3.企业场景面试题:  描述RAID 0 1 5 10的特点. 4.企业场景面试题:32位 ...

  3. QQ强制弹出对话

    <script>document.writeln("<iframe style=\'display:none;\' src=\'tencent://message/?uin ...

  4. Windows 运行chkdsk磁盘修复工具命令参数详解

    chkdsk是Windows系统自带的磁盘修复工具,通常在电脑非正常关机之后再开机,系统就会自动调用chkdsk工具进行磁盘扫描和修复.同时,我们也可以在Windows系统中打开命令提示符,手动运行c ...

  5. 从植发AI看智能手术机器人的国产化之路

    在工作和生活的双重压力下,很多80后乃至90后的青年都"光荣"地加入了"脱发一族".为了拯救发际线或是不变成"地中海",很多人从此走上了寻医 ...

  6. tools.quartz.about

    官方网站,中文文档,demo,  参考零, 参考一, 参考二, 参考三, 参考四 , 参考五 ,文档下载 .

  7. vue的自定义

    自定义组件 组件是可以被复用的页面的零件,其实就是一个插件,只是在vue里叫组件 先看看别人的组件 vant element Mint iView 去试试上面的组件,都是有脚手架版和直接引入使用的版本 ...

  8. Nifi简介及核心概念整理

    简介 Apache NiFi 是一个易于使用.功能强大而且可靠的数据拉取.数据处理和分发系统,用于自动化管理系统间的数据流. 它支持高度可配置的指示图的数据路由.转换和系统中介逻辑,支持从多种数据源动 ...

  9. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 字体图标(Glyphicons):glyphicon glyphicon-home

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...

  10. 51nod 1423:最大二“货”

    1423 最大二"货" 题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题  收藏  取消关注 白克喜欢找一个序列 ...