-
- 先在win左下角找到设置,搜索开发者模式
- 控制面板搜索:启用或关闭功能中选中:适用于linux子系统的win子系统
- 在微软商店中搜Ubuntu下载安装
- 之后win d盘对应Ubuntu /mnt/d
- 默认的wsl没有设置root密码,设置管理员: sudo passwd root. 来设置root密码
- 下载好go和gcc之后 修改path:cd ~; sudo vi ~/.profile ;sudo source ~/.profile
- export GOPATH=/mnt/d/gopath/src/
- export GOROOT=/mnt/d/tool/go
- export PATH=$PATH:$GOROOT/bin
- 使用xshell登录win子系统
#sudo apt-get remove --purge openssh-server ## 先删ssh
#sudo apt-get install openssh-server ## 在安装ssh
#sudo rm /etc/ssh/ssh_config ## 删配置文件,让ssh服务自己想办法链接
#sudo service ssh --full-restart 重启ssh
-
- 安装文件在/etc/ssh/sshd_config 配置之后重启
- #设置root的口令(密码),用作后续登陆使用
sudo passwd root
#安装openssh-server(似乎ubuntu自带已安装)
sudo apt install openssh-server
#备份很重要
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
#使用vim进行编辑,按i进入insert模式
sudo vim /etc/ssh/sshd_config
在vim中分别找到并对应修改四处,修改后ESC,输入wq保存退出,具体如下:
Port 2222
ListenAddress 0.0.0.0 # 如果需要指定监听的IP则去除最左侧的井号,并配置对应IP,默认即监听PC所有IP
PermitRootLogin yes # 如果你需要用 root 直接登录系统则此处改为 yes
PasswordAuthentication yes # 将 no 改为 yes 表示使用帐号密码方式登录 - 启动(之后启动cmd输入bash,用xshell连接,连接不上重启ssh:sudo service ssh --full-restart)
- sudo service ssh start #启动SSH服务
sudo service ssh status #检查状态
sudo systemctl enable ssh #开机自动启动ssh命令
- sudo service ssh start #启动SSH服务
- #设置root的口令(密码),用作后续登陆使用
- docker
- 推荐
- curl -O https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/amd64/docker-ce_17.09.0~ce-0~ubuntu_amd64.deb (必须此版本)
- sudo dpkg -i docker-ce_17.09.0~ce-0~ubuntu_amd64.deb
- sudo apt -y -f install
- -修改docker权限(非必须)
- sudo usermod -aG docker $USER
- # 安装cgroupfs-mount
- sudo apt -y install cgroupfs-mount
- -以管理员身份启动WSL控制台,执行以下命令启动docker
- sudo cgroupfs-mount
- sudo service docker start
- 到此测试docker run hello-world
- 需要注意的是每次电脑重启后先执行cgroupfs-mount再启动docker服务。
- 期间遇到问题
- 卸载包不干净:提示docker-ce需要卸载但是找不到文件
- //备份/var/lib/dpkg/status文件
sudo cp /var/lib/dpkg/status status.bkp
//编辑该文件
sudo vim /var/lib/dpkg/status
//定位到出错的软件包,将该软件包的记录删除,保存,就完成了。 - 安装包下载不全安装时就会提示 pipe: unexpected end of file or stream
- 连接公司私有仓库
- dcoker配置映射环境:
- /etc/hosts x.x.x.x docker-registry
- 因为子系统中host是映射win的,直接修改不起作用,所以修改win中的
- 推荐
- 安装文件在/etc/ssh/sshd_config 配置之后重启
1、window环境:
hosts文件位置:C:windowssystem32driversetc
修改host时候注意空格:正确格式
刷新方式:
win+r,输入CMD,回车
在命令行执行:ipconfig /flushdns #清除DNS缓存内容。
ps:ipconfig /displaydns //显示DNS缓存内容
{补充:linux环境文件位置:/etc/hosts;刷新命令:systemctl restart nscd}
-
- 访问默认是https拉取镜像,以下配置可以不确认证书而拉取
- /etc/docker/daemon.json { "insecure-registries":["docker-registry:5000"] }(没有文件就添加)
- 访问默认是https拉取镜像,以下配置可以不确认证书而拉取
-
- 遇到情况是:xshell连接不上windocker.但是原本子系统Ubuntu可以,而且windocker命令可能不全.所以弃用,改用以上方案
- apt install http://docker.io
- 环境变量文件在~/.bashrc ~/.bash-profile
- export DOCKER_HOST=tcp://127.0.0.1:2375
- 补充:因为子系统中host是映射win的,直接修改不起作用,所以修改win中的
- 遇到情况是:xshell连接不上windocker.但是原本子系统Ubuntu可以,而且windocker命令可能不全.所以弃用,改用以上方案
1、window环境:
hosts文件位置:C:windowssystem32driversetc
修改host时候注意空格:正确格式
刷新方式:
win+r,输入CMD,回车
在命令行执行:ipconfig /flushdns #清除DNS缓存内容。
ps:ipconfig /displaydns //显示DNS缓存内容
2、linux环境
文件位置:/etc/hosts
刷新命令:systemctl restart nscd
-
- 配置之后source ~/.bashrc就会发现可以Ubuntu看到docker
- dcoker配置映射环境:
- /etc/hosts x.x.x.x docker-registry
- /etc/docker/daemon.json { "insecure-registries":["docker-registry:5000"] }(windocker 是直接在 setting docker engine中配置)
- 这一步中前提条件有:打开开发者模式,Hyper-V和虚拟化功能.
- 安装虚拟化命令
- 将如下代码添加到记事本中,并另存为Hyper-V.cmd文件
- pushd "%~dp0"
dir /b %SystemRoot%servicingPackages*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%servicingPackages%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL - 管理员运行 y重启电脑,win设置中-启用关闭win功能中勾选Hyper-V和虚拟化功能



