重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
win10系统安装的ubuntu 的子系统,安装上docker后运行 service docker start ,显示OK,然后docker ps查看报错:
成都创新互联是专业的齐齐哈尔网站建设公司,齐齐哈尔接单;提供网站设计、网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行齐齐哈尔网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
wtf? 查看服务状态
竟然没有运行成功,后来各种折腾还是不行,网上查了相关资料后基本认定我这个子系统是运行不起来了,原因是 目前 wsl 是不支持 docker 的守护进程的
于是乎,想要方便的在 wsl Ubuntu 上使用 docker 的想法近乎破灭。想要使用还是有方法的,可以参考这篇博客 在Linux的Windows子系统上(WSL)使用Docker(Ubuntu) 。
我们知道docker是cs架构的,即分为client端和server端,本地都是通过socket协议通讯的,如果本地client要连接远程的docker服务,则需要在client上导出以下环境变量
export DOCKER_HOST=tcp://your docker server ip:2375
2375是默认的连接端口,当然你可以在服务器端指定其他端口。
执行docker ps, ok没问题,打印出了远端host的docker容器信息。
这样我的子系统就变成了docker client端。
over!
1、通过快捷键"windows键+R",打开运行窗口,输入:control appwiz.cpl。
2、在打开的控制面板的程序和功能界面,点击左边的“启用或关闭windows功能”。
3、在弹出的“windows功能”窗口中找到“适用于Linux的windows子系统”,勾选中然后点击“确定”。
4、从开始菜单中找到并点击“Microsoft Store”图标并进入windows应用商店。
5、在windows应用商店中搜索“linux”关键字,从结果中选择“在windows上运行Linux”。
6、在新打开的页面中,会显示可以在windows 10上安装的linux系统,选择自己想要安装的一款,然后跟从向导安装。
windows11的子系统是有用的。据查询公开资料显示windows11的安卓子系统体验上还是很好的,应用都很流畅,像Word、Chrome、以及其它普通windows桌面应用程序可以共同运行。微软官方宣布,已正式推出Windows11安卓子系统WSAv1,允许Windows11用户通过亚马逊应用商店运行Android应用。
Linux的Windows子系统让开发人员可以直接在Windows上运行Linux环境(包括大多数命令行工具,实用程序和应用程序),而无需建立在虚拟机的开销之上,整个系统共200多M,但包含了你能用到的所有功能,并且和windows完美互操作(省去Linux挂载本地windows分区或目录的操作),目前Linux的windows子系统已经相当完善,可当作完整linux系统使用.
您可以:
从Windows应用商店中 选择您最喜爱的Linux发行版。
运行常用的命令行实用程序,如grep,sed,awk等。
运行Bash shell脚本和Linux命令行应用程序,包括:
工具:vim,emacs,tmux
语言:Javascript / node.js,Ruby,Python,C / C ++,C#和F#,Rust,Go等
服务:sshd,MySQL,Apache,lighttpd
使用发行版的内置包管理器(apt-get)安装其他Linux工具。
从Linux控制台调用Windows应用程序。
在Windows上调用Linux应用程序。
1、打开 [控制面板]
2、找到 [程序与功能] 处的 [启用或关闭windows功能]
3、在 [适用于linux的windows子系统] 一栏处打上勾
4、点击确定并重启电脑
注:以上步骤在win10专业版上测试,win10家庭版可能不支持
使用快捷键: 微软光标键+S 搜索 "功能"
进入功能
勾选适用于Linux的Windows子系统
或者直接PowerShell中运行以下命令
然后出现提示重新启动计算机
在应用商店搜索“Linux”,选择您喜欢的Linux版本,推荐安装Ubuntu
注意:应用商店的程序使用默认路径,不要更换到其他盘符
安装完毕后开始菜单出现Ubuntu图标
现在可以在里面进行任何和linux相关的命令
或者在Windows商店里直接启动
进入Ubuntu系统会自动初始化并安装,稍等几分钟即可
Enjoy !
切记:小心执行 mkdir -rf mnt
Win32 子系统提供 Win32 API 。符合 Win32 API 的应用程序可以不加修改地运行在所有32位平台上。Win32 子系统DLL (如 Kernel32.dll , Advapi32.dll , User32.dll , Gdi32.dll )实现了Win32 API 函数。
Windows拥有一个内核, 多个子系统.
Window的环境子系统其实就是内核的client, 内核为环境子系统提供服务.
最早时设计了三个环境子系统, OS/2, POSIX, Windows. 到今天Windows操作系统中就只剩下了Windows环境子系统了.
Windows的环境子系统的服务器进程是CSRSS.EXE, 全称是Client/Server Runtime Server Subsystem. 它包括三个DLL.
WINSRV.DLL 最基本的dll, 提供包括管理控制台窗口, hard error(内核的驱动程序发起, 有csrss.exe报告的错误).
CSRSRV.DLL 进程,线程维护, 调试
BASESRV.DLL 负责安全和登录.
Windows子系统还有一个内核模块, 它工作在内核之中, Win32K.sys
包括
GDI, 窗口绘制.
USER 用户输入
在Microsoft Store中搜索ubuntu 找到后点击安装、启动进入ubuntu界面设置账号密码
进入页面后输入cat /etc/lsb-release 查看系统版本 我安装的是ubuntu 20.04.1 LTS
先更新下包
可以在pycharm的terminal中用ssh请求连接测试一下,发现连接被拒绝了。
因为这里默认使用端口22连接,而22已经被windows占用。打开配置文件,
修改端口为2222
保存退出后启动ssh
发现启动失败提示sshd error: could not load host key
使用命令安装
完成后查看启动ssh启动状态成功
再在pycharm中连接测试下,发现已经可以连接了
但是又发现一个新问题
再用ssh连接,发现root账号登陆总是不成功,需要使用启动ubuntu设置的账号密码登录,注意现在使用2222端口连接
接下来在pycharm中点击Tools Deployment Configuration 增加sftp连接,填入刚刚ssh连接的配置信息,点击Test Connection连接成功
在Setting-Project:Intepreter中选择SSH Intepreter 使用刚刚添加的连接
点击运行发现找不到远程文件
最后再运行一次,成功!
pip安装包时遇到gcc问题