window10下安装ubuntu系统以及docker使用


1. 启用适用于Linux的Windwos子系统

首先,win10的子系统开启前,需要进行一系列操作,并重启计算机,过程如下:
打开win10开发人员模式,在设置–>更新和安全–>针对开发人员,中勾选开发人员模式。
image.png
然后在控制面板中勾选添加Linux子系统。依次进入控制面板–>程序–>启用或关闭windows功能,勾选适用于windows的linux的子系统以及虚拟机平台,点击确定。之后重启电脑。
image.png
重启后就可以安装Linux子系统了。

2.下载Linux内核更新包

更多详情参考官方文档:适用于 Linux 的 Windows 子系统文档
下载链接:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
下载完成双击安装
4. 将 WSL 2 设置为默认版本
打开 PowerShell,然后在安装新的 Linux 发行版时运行以下命令,将 WSL 2 设置为默认版本:
PowerShell复制

wsl --set-default-version 2

3.将 WSL 2 设置为默认版本

打开 PowerShell,然后在安装新的 Linux 发行版时运行以下命令,将 WSL 2 设置为默认版本:

wsl --set-default-version 2

可以打开 PowerShell 命令行并输入以下命令检查分配给每个已安装的 Linux 分发版的 WSL 版本:

wsl -l -v

image.png

4.安装Ubuntu
直接去Microsoft store里面直接搜索Ubuntu进行安装。

image.png
image.png
首次启动新安装的 Linux 分发版时,将打开一个控制台窗口,系统会要求你等待一分钟或两分钟,以便文件解压缩并存储到电脑上。 未来的所有启动时间应不到一秒。
然后,需要为新的 Linux 分发版创建用户帐户和密码

5.可能出现的问题

1.win10启动ubuntu报错 参考的对象类型不支持尝试的操作.

解决方案:
1.通过管理员身份打开Windows PowerShell
image.png
打开之后输入以下命令重置Winsock目录。

netsh winsock reset

image.png

2.docker服务启动不起来问题排查解决。

sudo service docker start启动服务,显示 * Starting Docker: docker,
sudo service docker status 查看服务状态的时候却是 * Docker is not running。
使用docker version看到docker的服务端根本没有启动起来。服务端显示:Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
通过 sudo dockerd命令查看日志内容如下:

$ cat /var/log/docker.log
...
Sep 13 20:47:37 xxx dockerd: failed to start daemon: Error initializing network controller: error
 obtaining controller instance: failed to create NAT chain DOCKER: iptables failed: iptables -t nat -N D
OCKER: iptables v1.4.21: can't initialize iptables table `nat': Table does not exist (do you need to ins
mod?)

解决方案:
1.首先,将iptables用iptables-legacy替换:

sudo update-alternatives --set iptables /usr/sbin/iptables-legacy

2.开启 ipv4 的包转发功能:

sudo sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g' /etc/sysctl.conf`

3.退出重新启动ubuntu 22.04 LST即可。

6.安装docker
#Step1:更新系统软件包
sudo apt update

#Step2:安装依赖包【用于通过HTTPS来获取仓库】
sudo apt install apt-transport-https ca-certificates curl software-properties-common

#Step3:添加Docker官方GPG密钥
sudo -i
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/trusted.gpg.d/docker-ce.gpg

#Step4:验证
sudo apt-key fingerprint 0EBFCD88
0EBFCD88 是公钥的指纹。执行这个命令后,系统会显示与该指纹相关的公钥信息。

#Step4:添加Docker阿里稳定版软件源
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

#Step5:再次更新软件包
sudo apt update

#Step6:安装默认最新版
sudo apt install docker-ce docker-ce-cli containerd.io

#Step7:测试,安装好后默认启动
sudo docker run hello-world
如果输出“Hello from Docker!”则表示Docker已经成功安装。

#Step8:查看有哪些镜像
sudo docker images

#Step9:配置用户组
sudo usermod -aG docker galaxfy
su - galaxfy  # 刷新shell状态
docker images # 验证

#Step10:其他docker运行命令
查看状态:sudo service docker status
启动:sudo service docker start
开机自启:sudo service enable docker
停止:sudo service stop docker
查看docker日志  sudo dockerd


其他:安装特定版docker
sudo apt-cache madison docker-ce  # 显示可用版本
sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io # 将需要的版本替换VERSION_STRING进行安装,例如 5:20.10.17~3-0~ubuntu-focal

7.使用docker

image.png

# 构建 Docker 镜像 执行 Makefile 中定义的与构建 Docker 镜像相关的命令
make coker
# 查看本地已经存在的镜像 名称、标签、镜像 ID、创建时间以及所占用的空间
root@LAPTOP-6S9PKSTR:/mnt/d/Jwork/api/workflow# docker images
REPOSITORY                        TAG       IMAGE ID       CREATED        SIZE
xxx.com/build-biz-test   WC-1122   da4c841c15f1   21 hours ago   90.9MB
# docker rmi -f [imageId] 强制删除 Docker 镜像
docker rmi -f da4c841c15f1

#给一个镜像添加一个新的标签
#xxx.com 是阿里云的 Docker 镜像仓库地址,/aaa-dev/user-manual 是镜像名称,WC-1122 是标签。
docker tag xxx.com/build-biz-test:WC-1122
111.51.55/build-biz-test:WC-1122


#docker save -o <output-file.tar> <image-name>
#将 Docker 镜像保存为一个 tar 归档文件。 -o 选项指定了输出文件的名称或路径
docker save -o build-biz-test.tar xxx.com/build-biz-test:WC-1122

image.png
image.png
把这个包加入到自己的服务器里面。进入到你放文件的位置。
image.png

#从一个 tar 归档文件中加载 Docker 镜像。
docker load -i build-biz-test.tar
#将本地的 Docker 镜像推送到远程 Docker 镜像仓库
docker push <image-name>
#从远程 Docker 镜像仓库中拉取(下载)一个 Docker 镜像到本地系统
docker pull <image-name>
#编辑 Kubernetes 中的一个部署(Deployment)资源对象 更改为刚推送的镜
kubectl edit deploy my-deployment
  • 28
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咕噜咕噜wy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值