用windows10家庭版构建基础的开发环境

一、 搭建目标

基于Windows10家庭版,以及自带的Ubuntu子系统,搭建linux开发环境以及dokcer运行环境,并实现Ubuntu和Windows环境间的相互通信。预计搭建时长1到2h左右(和获取资源时的拉取站点有关,建议使用国内镜像站点资源)。

二、 实验环境

硬件设备:华为MateBook D ,64位,处理器Intel(R)Core(TM)i7-8550U CPU@1.80GHZ 2.00 GHz,内存16.0 GB

软件环境:windows10家庭版,18363.900

三、 实验步骤

(一) 安装Ubuntu

我这里选择的是Ubuntu 20.04 LTS版本,通过windows10自带的应用商店MicrosoftStore进行安装。

会遇到如下提示:

Installing, this may take a few minutes...

WslRegisterDistribution failed with error: 0x8007019e

The Windows Subsystem for Linux optional component is not enabled. Please enable it and try again.

See https://aka.ms/wslinstall for details.

Press any key to continue...

按照字面意思,就是要求启用Linux子系统后再安装。

右键左下角(任务栏左侧)的windows徽标,点击“设置”,选择“应用和功能”,如下图所示:

滚动到最下方,点击相关设置区域的“程序和功能”:

选择左侧“启用或关闭Windows功能”,选中“适用于Linux的Windows子系统”:

再次启动Ubuntu 20.04 LTS,按照提示输入用户名和密码(不必和Windows的用户名/密码相同),即可显示:“Installation successful!”,安装成功后启动画面如下:

第1个IP应该和widows的ip一致,另外两个为虚拟网卡IP,可以记下来,后边通过windows访问Ubuntu会用到。

(二) 安装DockerToolbox

我使用的版本是DockerToolbox-19.03.1,建议从镜像站点下载安装文件,如https://get.daocloud.io/toolbox/,阿里云站点也可以,但最新版本更新不太及时。按照提示安装,可能会遇到如下报错:

This computer doesn't have VT-X/AMD-v enabled. Enabling it i

以管理员身份打开WINDOWS的CMD命令窗口,执行bcdedit看最后一行hypervisorlaunchtype的状态,将其设置为off:

bcdedit /set hypervisorlaunchtype off

再次安装DockerToolbox-19.03.1(如果仍然报错就注销当前用户重新登录一下),出现以下报错:

Running pre-create checks...

(default) Image cache directory does not exist, creating it at C:\Users\{用户名}\.docker\machine\cache...

(default) No default Boot2Docker ISO found locally, downloading the latest release...

Error with pre-create check: "Get https://api.github.com/repos/boot2docker/boot2docker/releases/latest:

上边的错误简单解释就是从线上拉取镜像网络太慢拉不下来,我们手工下载一个boot2docker.iso,按照提示从github上或者其他镜像站点下载都可以,github(https://github.com/boot2docker/boot2docker/releases/download/v19.03.5/boot2docker.iso)很慢,但我还是从上边下载下来了。把boot2docker.iso放入指定目录下:

C:\Users\{用户名}\.docker\machine\cache再次启动DockerToolbox就应该可以正常安装了。安装完毕后,有三个图标(默认安装了git,virtualbox,以及可视化docker镜像管理工具kitematic和docker的快速启动命令行工具Terminal):

我们运行“Docker Quickstart Terminal”就好,它其实是git目录下的“bash.exe”命令,就会自动启动docker,首次运行会自动创建网络,成功后如下提示:

进入Docker Quickstart Terminal,运行“docker info”、“docker run hello-world”、“docker images”、“docker-machine ls”等命令,能够正常反馈,那就说明windows的docker环境安装就绪了。

重启电脑后,只需要打开1次Docker Quickstart Terminal,docker服务就已经处于运行状态,可以关闭该窗口,直接通过windows的命令行窗口进行相应的命令操作。

(三) 实现在Ubuntu上操作Docker

我们回到子系统Ubuntu,要从Ubuntu中操作docker需要做两件事:

1、 安装docker组件

(1) 安装docker

sudo apt install docker.io

(2) 安装用于定义和运行多容器 Docker 应用程序的工具

sudo apt install docker-compose

(3) 添加docker权限给当前用户,使docker命令免sudo

sudo gpasswd -a $USER docker

这时,运行docker info报错,需要配置daemon远程访问:

docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

2、 配置远程Docker daemon访问

在/etc/profile的最下方添加配置信息

编辑profile文件,vi /etc/profile填加三行:

export DOCKER_HOST=tcp://192.168.99.100:2376

export DOCKER_CERT_PATH=/mnt/c/Users/{名}/.docker/machine/certs

export DOCKER_TLS_VERIFY=1

保存退出后,重新登录用户生效,再次运行docker info等命令成功。

3、 实现windows命令行访问ubuntu

每次需要进入ubuntu系统操作还是比较麻烦,所以建议还是要配置其ssh以便于在windows命令行下就能够连接到ubuntu操作相关命令。

sudo /etc/init.d/ssh start报错,切换到root用户执行以下命令

#ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key    生成dsa认证

#ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key     生成rsa认证

#/usr/sbin/sshd       启动ssh服务

sudo systemctl enable ssh  让ssh默认自动启动。

vi /etc/ssh/sshd_config

Port = 22 # 默认是22端口,如果和windows端口冲突或你想换成其他的否则不用动

#ListenAddress 0.0.0.0 # 如果需要指定监听的IP则去除最左侧的井号,并配置对应IP,默认即监听PC所有IP

PermitRootLogin no # 如果你需要用 root 直接登录系统则此处改为 yes

PasswordAuthentication no # 将 no 改为 yes 表示使用账号密码方式登录

在windows命令行下执行  ssh  {用户名}@ 192.168.99.1或ssh  {用户名}@ 192.168.56.1输入密码进行Ubuntu子系统。

(0)

相关推荐