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

Windows10 在Hyper-V安装lnmp环境docker方式的更多相关文章

  1. CentOS编译安装LNMP环境

    这里是教大家如何在centos下利用源码编译安装LNMP环境. 工具/原料 centos服务器一台 自用电脑一台 准备篇 配置好IP.DNS .网关,确保使用远程连接工具能够连接服务器 配置防火墙,开 ...

  2. Centos 6.8编译安装LNMP环境

    Centos 6.8编译安装LNMP环境 参考资料: http://www.jb51.net/article/107429.htm https://phperzh.com/articles/1360 ...

  3. 阿里云Ubuntu安装LNMP环境之PHP7

    在QQ群很多朋友问阿里云服务器怎么安装LNMP环境,怎么把项目放到服务器上面去,在这里,我就从头开始教大家怎么在阿里云服务器安装LNMP环境. 在这之前,我们先要知道什么是LNMP. L: 表示的是L ...

  4. 阿里云Ubuntu安装LNMP环境之Nginx

    在QQ群很多朋友问阿里云服务器怎么安装LNMP环境,怎么把项目放到服务器上面去,在这里,我就从头开始教大家怎么在阿里云服务器安装LNMP环境. 在这之前,我们先要知道什么是LNMP. L: 表示的是L ...

  5. CentOS安装LNMP环境的基础组件

    注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. 在安装LNMP环境之前,请确保已经使用yum安装了以下各类基础组件(如果系统已自带,还可以考虑yum update下基础组件): ...

  6. 在Raspberry配置优化安装LNMP环境总结

    在Raspberry配置优化安装LNMP环境总结 apt-get update apt-get install nginx apt-get install php5-fpm php5-cli php5 ...

  7. 【转】lnmp_auto:自动化安装lnmp环境脚本

    原文链接: lnmp_auto:自动化安装lnmp环境脚本  这哥们整理的这篇博文很好  转载分享 博文转载如下: 源代码在github上:https://github.com/jianfengye/ ...

  8. 亚马逊AWS EC2云实例AMI安装LNMP环境(3)——Mysql5.5

    概括:这里选择亚马逊EC2的Linux AMI实例,该Linux服务器是亚马逊预配置的Linux环境,内置多个YUM源,属于亚马逊首推的稳定Linux服务器.默认登录用户名为ec2-user,执行ro ...

  9. 亚马逊AWS EC2云实例AMI安装LNMP环境(2)——PHP5.6

    概括:这里选择亚马逊EC2的Linux AMI实例,该Linux服务器是亚马逊预配置的Linux环境,内置多个YUM源,属于亚马逊首推的稳定Linux服务器.默认登录用户名为ec2-user,执行ro ...

  10. 亚马逊AWS EC2云实例AMI安装LNMP环境(1)——Nginx安装

    概括:这里选择亚马逊EC2的Linux AMI实例,该Linux服务器是亚马逊预配置的Linux环境,内置多个YUM源,属于亚马逊首推的稳定Linux服务器.默认登录用户名为ec2-user,执行ro ...

随机推荐

  1. 仅需30行代码,轻松集成HMS Core视频编辑服务屏幕录制能力

    现如今,手机录屏是必不可少的能力之一.对于游戏领域作者来说,在平时直播玩游戏.制作攻略.操作集锦时,不方便切屏,这时在游戏内如果有一个录制按钮就可以随时开启,记录下每个精彩瞬间,减少后期剪辑工作量:在 ...

  2. 链表LinkedList

    #include <iostream> #include <vector> using namespace std; struct Node{ int val; Node *n ...

  3. 草之王qsnctfwp

    文件内容(举例): 林间小路旁有一条小溪 草之王许下三个诺言 无人知晓神诏背后的真相 草之王许下三个诺言 === 林间小路旁有一条小溪 草之王许下三个诺言 林间小路旁有一条小溪 无人知晓神诏背后的真相 ...

  4. 重新点亮linux 命令树————screen 命令和系统日志[二十四]

    前言 简单介绍一下screen 正文 因为我们终端关闭后,终端就消失了,故而希望有终端保持. 1.yum install screen 进行安装. 2.使用screen 进行进入 3.然后打开tail ...

  5. docker 应用篇————docker开篇[一]

    前言 因为最近看了一些docker 底层,然后希望把docker应用先编写出来,然后进行细节篇讲解,比如说docker 的底层是如何实现的之类的话题. 正文 docker 这东西怎么说呢?有一些东西需 ...

  6. 如何基于Django中的WebSockets和异步视图来实现实时通信功能

    本文分享自华为云社区<结合Django中的WebSockets和异步视图实现实时通信功能的完整指南>,作者: 柠檬味拥抱. 在现代Web应用程序中,实时通信已经成为了必不可少的功能之一.无 ...

  7. 力扣571(MySQL)-给定数字的频率查询中位数(困难)

    题目: Numbers 表保存数字的值及其频率. 在此表中,数字为 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 3,所以中位数是 (0 + 0) / 2 = 0. 请编写一个查询 ...

  8. 力扣640(java)-求解方程(中等)

    题目: 求解一个给定的方程,将x以字符串 "x=#value" 的形式返回.该方程仅包含 '+' , '-' 操作,变量 x 和其对应系数. 如果方程没有解,请返回 "N ...

  9. 浅谈专有云MQ存储空间的清理机制

    简介: 浅谈专有云MQ存储空间的清理机制 在近⼀年的项⽬保障过程中,对专有云MQ产品的存储⽔位清理模式⼀直存疑,总想一探究竟但又苦于工作繁忙.精力有限,直到最近⼀次项⽬保障过程中再次出现了类似的问题, ...

  10. 日志服务Dashboard加速

    简介: 阿里云日志服务致力于为用户提供统一的可观测性平台,同时支持日志.时序以及Trace数据的查询存储.用户可以基于收集到的各类数据构建统一的监控以及业务大盘,从而及时发现系统异常,感知业务趋势.但 ...