下载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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值