前期工作
 
一、在宿主机创建文件夹
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. LR、SVM、RF、GBDT、XGBoost和LightGbm比较

    正则化 L1范数 蓝色的是范数的解空间,红色的是损失函数的解空间.L2范数和损失函数的交点处一般在坐标轴上,会使\(\beta=0\),当然并不一定保证交于坐标轴,但是通过实验发现大部分可以得到稀疏解 ...

  2. linux7下nenux3.14的maven私服搭建和配置使用

    为什么用私服,各种帖子很多,话不多说,直接奉上本博主的搭建过程. 一.环境准备:确保jdk和maven安装完成 二.下载nenux:地址:https://www.sonatype.com/downlo ...

  3. net Core3.1 Swagger加JWT权限

    1.Swagger中开启JWT服务 #region swagger services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new ...

  4. Javascript获取当前鼠标在元素内的坐标定位

    代码如下: <!doctype html> <html> <head> <meta charset="utf-8"> <tit ...

  5. torch.nn.Conv2d()使用

    API 输入:[ batch_size, channels, height_1, width_1 ] Conv2d输入参数:[ channels, output, height_2, width_2 ...

  6. ②初识spring

    一:基础搭建 需要:eclipse.spring插件(确认版本号并下载对应插件详见:https://blog.csdn.net/a1150499208/article/details/87988392 ...

  7. 获取选中行中的数据提取并且保存到txt

    function getchcount(query: TADOQuery): Integer;var i:integer;begin i:=0; with Query do begin Query.F ...

  8. Most simple basic of internet programming based on two different machines sharing the same local net

    This blog is just shown for the most simple basic of internet programming based on two different mac ...

  9. JuJu团队11月27号工作汇报

    JuJu团队11月27号工作汇报 JuJu   Scrum 团队成员 今日工作 剩余任务 困难 于达 将真实数据处理后按矩阵读入, 以供训练使用  提供generator的接口 对julia语言还不够 ...

  10. HihoCoder#1052:基因工程

    HihoCoder#1052:基因工程 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho正在进行一项基因工程实验.他们要修改一段长度为N的DNA序列,使得这段 ...