Windows10 在Hyper-V安装lnmp环境docker方式

1、启用win10虚拟化hyper-v

 

 

 

 

 2、安装docker win10

https://hub.docker.com/editions/community/docker-ce-desktop-windows/

下载一路下一步,没有看到改安装路径的地方。500多MB

 

3、报错  WSL 2 installation is incomplete

点击链接,安装它,重新启动

 

 在 Windows 10 上安装 WSL | Microsoft Docs

https://docs.microsoft.com/zh-cn/windows/wsl/install-win10#step-4---download-the-linux-kernel-update-package

 

 

 4、报错 Failed to set version to docker-desktop 的解决

 更新重启之后又出错了了

 

 

 Failed to set version to docker-desktop

解决方法参考:https://www.cnblogs.com/MysticBoy/p/13066611.html

管理员方式执行了  命令  

 netsh winsock reset  

然后重新启动,好了

 点击start

 复制之后,右边自动执行

 一直下一步,挺多报错,然后》:

 启动之后又退出了

 点击设置:

 

5、 添加菜鸟教程里的镜像加速源

重启成功

 看版本

 

 6、安装mysql

版本自选 docker search mysql
在 PowerShell或者CMD 输入命令:

docker pull mysql:5.6  
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=你要设置的mysql密码 --name mysql56 mysql:5.6

 刚刚密码弄错了,删除重新运行一个mysql容器

docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql56 mysql:5.6

 7、安装php和Nginx

docker pull php:5.6-fpm

docker run -d -p 9000:9000 --link mysql56:mysql --name php56 php:5.6-fpm

docker pull nginx:1.10.3

docker run -d -p 80:80 -v E:/app:/var/www/html --link php56:phpfpm --name nginx110 nginx:1.10.3

貌似没有权限使用挂载的逻辑卷

安装vim

apt-get install vim

当你敲命令时,提示:
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package vim

 apt-get update

这个命令的作用是:同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包。
等更新完毕以后再敲命令:

  apt-get install vim

打开Nginx配置

vim /etc/nginx/conf.d/default.conf

 修改到正确的站点目录,挂载目录。重新加载配置

成功:

 

下载并且安装镜像#
创建项目文件夹,放在刚才资源共享设置下(Docker设置 -> 文件共享设置)
推荐三个镜像下载 网易 DaoCloud(个人推荐) Docker官方

Mysql下载#
版本自选 docker search mysql
在 PowerShell或者CMD 输入命令:

Copy
docker pull mysql:5.6  
等待下载完成

设置MySQL密码 并且启动容器

Copy
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=你要设置的mysql密码 --name mysql56 mysql:5.6
-d 让容器在后台运行
-p 添加宿主机到容器的端口映射(宿主机端口:容器端口)
-e 设置环境变量,这里是设置mysql的root用户的密码
–name 容器的名字
其他命令参考Docker命令大全|菜鸟教程

可以连Navicat或者进入MySQL容器测试 Docker上也会显示MySQL

PHP下载#
版本自选 docker search php

Copy
docker pull php:5.6-fpm  
启动容器并且与MySQL建立联系

Copy
docker run -d  -p 9000:9000 --link mysql56:mysql --name php56 php:5.6-fpm
-d 让容器在后台运行
-p 添加宿主机到容器的端口映射(宿主机端口:容器端口)
--link 与另外一个容器建立起联系
–name 容器的名字
扩展直接进入容器设置

nginx下载#
版本自选 docker search nginx

Copy
docker pull nginx:1.10.3  
启动容器与php建立联系并且目录映射

Copy
docker run -d -p 80:80 -v F:/app:/var/www/html --link php56:phpfpm --name nginx110 nginx:1.10.3 
-d 让容器在后台运行
-v 添加目录映射(这里的宿主路径一定要与php的一致)
-p 添加宿主机到容器的端口映射(宿主机端口:容器端口)
--link 与另外一个容器建立起联系
–name 容器的名字

进入 Nginx容器 修改 配置文件 (先安装vim编辑器)

进入容器

Copy
docker exec -it nginx110 /bin/bash
安装vim

Copy
apt-get install vim
当你敲命令时,提示:
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package vim

Copy
 apt-get update
这个命令的作用是:同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包。
等更新完毕以后再敲命令:

Copy
  apt-get install vim
打开Nginx配置

Copy
vim /etc/nginx/conf.d/default.conf

修改配置文件后,重载nginx

Copy
/etc/init.d/nginx reload
在浏览输入localhost PHP信息就出来了


还有直接另外使用子系统 WSL2 创建 最近没时间 有时间在写~
参考博客

参考链接:https://www.cnblogs.com/liyunhang/p/14141938.html

原文地址:https://www.cnblogs.com/machangwei-8/p/15223883.html