下载Docker安装在Windows的WSL虚拟机上
目的:在Windows上玩转docker
前言:
我们知道docker是运行在linux内核上的,而Windows想要运行docker引擎需要安装虚拟机,在虚拟机中安装Linux内核,或者直接安装Linux发行版,比如CentOS、Ubuntu、Debian等,而Linux发行版是包含两部分的,1、操作Linux内核的部分 2、Linux内核
总的来说:核心就是Linux内核
看一下人工智能ChatGPT怎么回答LInux系统组成?
Linux 发行版(也称为 Linux 系统或 Linux 操作系统)是一种使用 Linux 内核的操作系统。Linux 内核是一个操作系统的核心,负责管理硬件资源,如内存、处理器和磁盘空间,并提供系统调用接口来允许用户程序与硬件交互。
Linux 发行版通常包含以下部分:
Linux 内核:这是 Linux 发行版的核心,负责管理硬件资源和提供系统调用接口。
工具链:这些是构建应用程序所需的编译器、链接器和其他工具。
库:这些是提供软件功能的代码库,包括 C 库、数学库和其他常用库。
系统工具:这些是操作系统所需的系统管理工具,如 init、systemd 和 syslog。
用户程序:这些是用户使用的应用程序,如 shells、文本编辑器和图形用户界面 (GUI) 程序。
文档:这些是帮助用户了解如何使用操作系统的文件,包括用户手册和帮助文件。
Linux 发行版还可能包括其他组件,如内核模块和驱动程序,用于支持特定硬件和设备。
安装wsl虚拟机
1、管理员身份运行PowerShell

2、执行安装wsl指令
wsl --install

这个指令会自动下载安装wsl ,还会下载ubuntu,但是下载ubuntu进度一直不动。我们通过微软商店安装ubuntu

这里我已经安装好了,如果安装ubuntu界面一直不动的话,重启电脑即可
ubuntu进去会叫你设置 一个用户,直接设置用户名为ubuntu即可。
接下来设置root密码
sudo passwd root

输入ubuntu密码就能设置root用户密码了
下载安装docker
下载地址:Install Docker Desktop on Windows | Docker Documentation
安装没什么可说的,默认安装即可,注意安装好需要自己重启电脑。
因为默认配置镜像是从国外拉取的,速度很慢,配置阿里云镜像
方法一、
打开阿里云控制台,没有的可以用淘宝账号或者支付宝账号直接登录
在搜索框输入容器镜像服务
复制加速器地址

在ubuntu中修改docker配置
vim /etc/docker/daemon.json{"authorization-plugins": [],"data-root": "",#Docker运行时使用的根路径,根路径下的内容稍后介绍,默认/var/lib/docker"dns": [], #设定容器DNS的地址,在容器的 /etc/resolv.conf文件中可查看"dns-opts": [],#容器 /etc/resolv.conf 文件,其他设置"dns-search": [],#设定容器的搜索域,当设定搜索域为 .example.com 时,在搜索一个名为 host 的 主机时,DNS不仅搜索host,还会搜索host.example.com。注意:如果不设置,Docker 会默认用主机上的 /etc/resolv.conf来配置容器。"exec-opts": [],"exec-root": "","experimental": false,"features": {},"storage-driver": "","storage-opts": [],"labels": [],#docker主机的标签,很实用的功能,例如定义:–label nodeName=host-121"live-restore": true,"log-driver": "","log-opts": {},"mtu": 0,"pidfile": "",#Docker守护进程的PID文件"cluster-store": "","cluster-store-opts": {},"cluster-advertise": "","max-concurrent-downloads": 3,"max-concurrent-uploads": 5,"default-shm-size": "64M","shutdown-timeout": 15,"debug": true,#启用debug的模式,启用后,可以看到很多的启动信息。默认false"hosts": [],#设置容器hosts"log-level": "","tls": true, #默认 false, 启动TLS认证开关"tlscacert": "",#默认 ~/.docker/ca.pem,通过CA认证过的的certificate文件路径"tlscert": "",#默认 ~/.docker/cert.pem ,TLS的certificate文件路径"tlskey": "",#默认~/.docker/key.pem,TLS的key文件路径"tlsverify": true,#默认false,使用TLS并做后台进程与客户端通讯的验证"tls": true,"tlsverify": true,"tlscacert": "","tlscert": "","tlskey": "","swarm-default-advertise-addr": "","api-cors-header": "","selinux-enabled": false,#默认 false,启用selinux支持"userns-remap": "","group": "",#Unix套接字的属组,仅指/var/run/docker.sock"cgroup-parent": "","default-ulimits": {"nofile": {"Name": "nofile","Hard": 64000,"Soft": 64000}},"init": false,"init-path": "/usr/libexec/docker-init","ipv6": false,"iptables": false,"ip-forward": false,#默认true, 启用 net.ipv4.ip_forward ,进入容器后使用sysctl -a|grepnet.ipv4.ip_forward查看"ip-masq": false,"userland-proxy": false,"userland-proxy-path": "/usr/libexec/docker-proxy","ip": "0.0.0.0","bridge": "","bip": "","fixed-cidr": "","fixed-cidr-v6": "","default-gateway": "","default-gateway-v6": "","icc": false,"raw-logs": false,"allow-nondistributable-artifacts": [],"registry-mirrors": [],#镜像加速的地址,增加后在 docker info中可查看。"seccomp-profile": "","insecure-registries": [],#配置docker的私库地址"no-new-privileges": false,"default-runtime": "runc","oom-score-adjust": -500,"node-generic-resources": ["NVIDIA-GPU=UUID1", "NVIDIA-GPU=UUID2"],"runtimes": {"cc-runtime": {"path": "/usr/bin/cc-runtime"},"custom": {"path": "/usr/local/bin/my-runc-replacement","runtimeArgs": ["--debug"]}},"default-address-pools":[{"base":"172.80.0.0/16","size":24},{"base":"172.90.0.0/16","size":24}]
}
重启docker即可
方法二、在docker界面设置
{"builder": {"gc": {"defaultKeepStorage": "20GB","enabled": true}},"experimental": false,"features": {"buildkit": true},
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn","https://registry.docker-cn.com","http://hub-mirror.c.163.com","https://mirror.ccs.tencentyun.com"]
}
可以把阿里云的镜像加速也添加进来

如果出现一下情况,需要切换ubuntu的wsl版本

通过指令查看ubuntu的wsl的版本
wsl -l -v

可以看到ubuntu的wsl版本为1,需要切换为2
wsl --set-version Ubuntu-22.04 2
Ubuntu-22.04为我的Linux操作系统名,如果下载的Ubuntu版本不一样自己修改

转换完成
在docker界面设置运行ubuntu通过wsl运行docker

点击apply & restart
现在去Ubuntu看一下能不能用docker

出现 这个情况,解决方案
WSL2启动时提示:参考的对象类型不支持尝试的操作_fangye945a的博客-CSDN博客_参考的对象类型不支持尝试的操作。
出现下面情况

切换成root用户就行

拉取镜像
1、ubuntu
2、cmd
3、powershell

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
