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

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

        • 1. 启用适用于Linux的Windwos子系统
        • 2.下载Linux内核更新包
        • 3.将 WSL 2 设置为默认版本
        • 4.安装Ubuntu<br />直接去Microsoft store里面直接搜索Ubuntu进行安装。
        • 5.可能出现的问题
          • 1.win10启动ubuntu报错 参考的对象类型不支持尝试的操作.
          • 2.docker服务启动不起来问题排查解决。
        • 6.安装docker
        • 7.使用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: errorobtaining 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/687306.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Java代码审计】代码审计的方法及常用工具

【Java代码审计】代码审计的方法及常用工具 代码审计的常用思路代码审计辅助工具代码编辑器测试工具反编译工具Java 代码静态扫描工具 代码审计的常用思路 1、接口排查&#xff08;“正向追踪”&#xff09;&#xff1a;先找出从外部接口接收的参数&#xff0c;并跟踪其传递过…

AzureDataFactory 表选项之自动创建表

接上篇, 该篇里表与表之间采取了提前mapping的方式&#xff0c;通过Import schemas的方式将源和目标的表的schemas做了一对一的匹配 但如果我的应用场景是将D365的表数据推送到外部数据源&#xff0c;需要原表clone&#xff0c;如果我去先建表建字段再做mapping未免过于繁琐&am…

前端使用Compressor.js实现图片压缩上传

前端使用Compressor.js实现图片压缩上传 Compressor.js官方文档 安装 npm install compressorjs使用 在使用ElementUI或者其他UI框架的上传组件时&#xff0c;都会有上传之前的钩子函数&#xff0c;在这个函数中可以拿到原始file&#xff0c;这里我用VantUI的上传做演示 a…

Gltf.Export不可用解决办法

报错信息 在代码里面如果我们希望在runtime的时候导出GLTF&#xff0c;我们可以使用到FastGltf的export功能&#xff0c;但是当我们在代码里面使用的时候&#xff0c;却发现报错&#xff1a; error CS0234: The type or namespace name Export does not exist in the namespac…

用云手机打造海外社媒矩阵

在全球经济一体化的大背景下&#xff0c;中国出海企业及B2B外贸公司正将海外社交媒体营销作为重要的市场拓展策略。为更好地触及不同受众群体&#xff0c;构建跨平台的社媒矩阵已成为企业营销的关键步骤。本文将探讨如何利用云手机技术&#xff0c;高效管理并运营多个海外社交媒…

Java集合框架之LinkedHashSet详解

哈喽&#xff0c;各位小伙伴们&#xff0c;你们好呀&#xff0c;我是喵手。运营社区&#xff1a;C站/掘金/腾讯云&#xff1b;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点&#xff0c;并以文字的形式跟大家一起交流&#xff0c;互相学习&#xff0c;一…

6个超TM好用的神仙App推荐!

1. AI文本视频生成工具——Jurilu Jurilu 是一款功能强大的 AI 文本视频生成器&#xff0c;允许用户快速将文本内容转换成极具吸引力的视频。它的使用非常简单&#xff1a;只需要输入文字&#xff0c;选择想要的样式和模板&#xff0c;Jurilu 就会自动将文字转换成生动的视频。…

【SpringBoot整合系列】SpringBoot整合RabbitMQ-消息过期(死信队列和延迟队列)

目录 业务场景传统轮询消息队列完整版 默认情况TTL&#xff08;消息的有效期&#xff09;TTL 的设置有两种不同的方式单条消息过期队列消息过期特殊情况 死信队列概述应用场景产生原因原理图死信交换机死信队列实现一下 延迟队列背景定时任务&#xff1f;延迟队列实现思路代码 …

linux - 搭建部署ftp服务器

ftp 服务: 实现ftp功能的一个服务,安装vsftpd软件搭建一台ftp服务器 ftp协议: 文件传输协议 (file transfer protocol),在不同的机器之间实现文件传输功能, 例如 视频文件下载,源代码文件下载 公司内部:弄一个专门的文件服务器,将公司里的文档资料和视频都存放…

uni-appH5Android混合开发二 || 使用Android Studio打包应用APK

前言&#xff1a; 在上一章节我们已经讲了如何uni-app离线打包Android平台教程&#xff0c;这一章就该来讲讲如何使用Android Studio打包应用APK提供给Android手机安装使用了。 uni-app跨平台框架介绍和快速入门 uni-app跨平台框架介绍和快速入门 第一步、首先打开已经编译好的…

浅谈如何自我实现一个消息队列服务器(7)——编写服务器部分

文章目录 一、编写服务器代码1.1、分析一个服务器应具备的功能1.1.1、成员变量1.1.2、对外提供的接口 一、编写服务器代码 再次拿出这张图&#xff0c;前面我们已经将重要概念&#xff1a;VirtualHost、exchange、msgQueue、message、binding 都实现了&#xff0c;此时就可以开…

【AI+换脸换装】从OpenAI 探索色情露骨内容领域浅聊AI换脸换装

5月9日消息&#xff0c;据外电报道&#xff0c;OpenAI 周三发布了文档草案&#xff0c;阐述了它希望 ChatGPT 及其其他人工智能技术如何运作。冗长的Model Spec 文件的一部分透露&#xff0c;该公司正在探索进军色情和其他露骨内容领域。 看完这个&#xff0c;心里有点惊讶&am…