admin管理员组

文章数量:1602030

        期待以久的windows 10支持ubuntu版本更新终于发布了,怀着期待的心情,下载更新到2004版本 (设置->关于中查看)

    如果版本较低,可以使用win10更新包提示,更新到最新版本(https://download.csdn/download/ghl2115/12529977)。在控制面板->启用或关闭windows功能中打开: 适用于linux的windows子系统。(https://download.csdn/download/ghl2115/12530088 windows for linux系统更新文件)

    打开microsoft store在搜索中查找ubuntu,选择版本安装,完成后启动系统。

(手动安装可在此页面下载后,解压到安装盘目录下。https://docs.microsoft/en-us/windows/wsl/install-manual#download-using-powershell)

    出现linux系统登录提示,首次登录提示创建用户名和密码,设置完成后即可进入系统,和正常的ubuntu操作一样。

    如果windows本身是使用代理联网,设置一下: /etc/apt/apt.conf文件

    Acquire::http::proxy "http://192.168.x.x:8080/"

    然后对安装好的系统进行更新和升级。

    sudo apt update; sudo apt upgrade

一、使用docker

   1.WSL1模式

    在win10下安装docker desktop for windows版本,安装完成后,在设置中打开2375端口支持TLS. 如果win10使用了代理,则需要在resources中设置proxies中的代理服务器地址。

   按win+R键进入命令行,输入bash,进入ubuntu,在.bashrc文件后增加下面内容:

    export DOCKER_HOST=tcp://localhost:2375

    否则后续安装的docker程序,会找不到后台守护程序。

    在unbutu下安装docker,选项安装docker-compose

    sudo apt install docker.io

    sudo apt install docker-compose

    检查docker安装版本:

    docker --version

    在docker中运行hello-world,验证docker所有环境安装成功。

    docker pull hello-world

    docker run --name hello-world hello-world

至此,已完美实现在win10命令行环境下使用ubuntu,使用容器部署应用,测试程序等,不需要启动虚拟机,兼容性更好。

2.WSL2模式

    在WSL1模式下,ubuntu使用IP地址和windows主机IP地址相同,两个系统之间可以直接相互访问,但因为docker的服务端依赖的是windows下的环境,因此在做文件和目录映射时失败,这种模式不适合真正使用docker作为容器的目的。查看wsl资料,要想使用全功能的docker,需要开启wsl2,但wsl2使用HYPER-V,在内置的虚拟机运行ubuntu,每次重启机器时ubuntu的IP地址会随机分配,目前还不能设置静态IP地址,也许下一个版本就可以支持设置IP地址就真正完美了。要使用wsl2,需要用管理员权限启动powershell,然后执行命令,设置wsl默认版本。(目前系统支持wsl1和wsl2模式之间的自由切换)

wsl -l -v

wsl --ser-version ubuntu 2

wsl --set-default-version 2

安装docker

卸载旧版本

sudo apt-get remove docker docker.io

安装必要的工具

sudo apt-get update

sudo apt-get install apt-transport-https ca-certificates curl saftware-properties-common

安装GPG证书

curl -fsSL https://download.docker/linux/ubuntu/gpg | sudo apt-key add -

软件源信息

sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

可安装版本

sudo apt-cache madison docker-ce

更新并安装docker-ce

sudo apt-get update

sudo apt-get install docker-ce

开启docker服务

sudo service docker start

sudo service docker status

将当前用户加docker组

sudo gpasswd -a ${USER} docker

sudo gpasswd -a

使用阿里源

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'

{

"registry-mirrors": ["https://xxxxxx.mirror.aliyuncs"]

}

EOF

这样就不需要用docker desktop for windows版本了,去掉前面在.bashrc中增加的docker服务连接端口设置。可以正常使用docker的文件和目录映射功能了。

在wsl2模式下,windows和linux之间使用相同的127.0.0.1,即在linux上启的服务,可在windows下使用localhost访问,这是目前的支持模式,已经可以很方便的开发和调试程序了。可以在windows下的hosts文件中加入地址映射的主机名方式访问,但需要在每次重启wsl2后修改hosts中的IP地址。

wsl2下文件共享方式,在windows下使用\\wsl$访问linux目录下的文件。

 

二、使用vs Code.

安装插件,使vs Code支持ubuntu环境下的程序开发,查找并安装remote-wsl、remote development两个插件,在ubuntu下安装nodejs,npm等软件,更新文件查找路径,可以直接使用npm命令。

    sudo apt install node; sudo apt install npm

   echo -e "export PATH=$(npm prefix -g)/bin:$PATH" >> ~/.bashrc && source ~/.bashrc

   为npm 设置代理

   npm config set proxy http://xxxx:xxx

   这样就可以实现vs code访问linux环境目录下的文件,实现在windows环境编辑,在liunux后台运行程序,与实际云运行环境相一致。

三、访问ubuntu X桌面

    在win10上安装VcXsrv程序(https://sourceforge/projects/vcxsrv/),用于访问Xwindows。完成后启动Xlaunch。

    在ubuntu端安装: sudo apt-get install xfce4, 设置显示窗口:echo "export DISPLAY=:0.0">> ~/.bashrc

    启动窗口:xfce4-session

 

 

 

    

 

 

 

本文标签: 容器完美DockerUbuntu