Windows10/11系统安装docker desktop——墨涩网

Docker的基本概念

Docker是一个开放源代码的软件,程序员用Python、Java等面向对象的语言能够设计出产品,为什么还要使用它呢?这是因为我们在开发时需要很多特定的包和配置文件去搭建环境,如果用户想要在不同的系统环境去调用它,是一件很费时费力的事情。那么这个时候Docker就派上用场了。Docker可以帮助打包好我们产品需要的依赖包和环境,用户可以更加直接且轻松地使用我们的产品。

谈到Docker,自然离不开镜像(image),容器(container),镜像仓库(repository)这三个概念。这里我将用一个贴近现实的比喻,帮助你更形象地理解这三个概念。

试想我们的产品是一辆小汽车,如果有消费者欣赏这款车的车型,没有Docker他可能需要从零件开始复刻这辆车的制作过程。

镜像(image)就好比这个汽车的雏形,是这台车刚生产出来的样子,只有轮胎,发动机,方向盘等基础配件。镜像在这里决定着一款车的汽车型号。

容器,就相当于一款车型在市场中为了迎合不同口味的而设计出的不同版本,如豪华版,简易版等,甚至买家在购买之后根据自己的喜好装饰它。也就是说,容器是基于镜像的运用实例。容器和容器之间是相互独立的,但有可能是来源于同一个镜像。通过命令,我们可以创建,运行,停止和删除容器。

镜像仓库,就像是停车场,存放着各种各样不同的车。这个比较好理解,这个仓库概念很像Github Repo,是存放所有镜像的地方。

构建镜像的最常见的方式之一,是创建Dockerfile。在上面的例子中,就相当于设计汽车的蓝图。Dockerfile需要和程序的主函数同时存放在根路径下面,方便运行时找到所有你需要的文件。

但因为Docker是在Linux系统下创建的资源分离机制,所以它无法在Windows系统下直接运行。这次我们介绍一下如何在Win10系统下运行Docker。

一、基础环境准备(安装WSL2)

WSL,Windows Subsystem for Linux,含义就是在Windows系统下Linux的子系统。只需要三步就可以在系统中为Docker安装WSL2了,请注意目前WSL2支持在Windows10 2004以上的版本。

开启WSL2功能

首先,打开Powershell命令提示符,运行命令先查看网上所有的子系统, 再选择你想要选择的系统,这里我们将选择Ubuntu来进行安装

的系统,这里我们将选择Ubuntu来进行安装。

## 查看list
wsl --list --online
## 安装 Linux distribution
wsl --install -d Ubuntu

 

安装成功后,结果返回会让你创建UNIX的用户名和密码。

设置默认版本

打开命令提示符,设置WSL2为Linux distribution的默认版本:

wsl --set-default-version 2

设置WSL配置文件

因为WSL默认配置会占用计算机高达80%的内存空间,为了避免这种情况,最好可以设置一下配置文件。

按下Windows + R,搜索%UserProfile%打开user的资源管理文件路径,创建并自定义.wslconfig文档。用记事本打开并输入相关参数进行配置:

[wsl2]
# 设置内存为2G,主要是服务docker
memory=2GB
# CPU 最大占用个数
processors=2
# 不设置WSL2虚拟机分配的交换空间
swap=0
# 允许将WSL2的端口转发到主机
localhostForwarding=true

二、安装Docker Desktop

docker官网:https://docker.com/

2.下载docker desktop
下载地址:https://docs.docker.com/desktop/install/windows-install/

下载以后,直接双击运行exe文件,注意去掉“Use WSL2 instead of Hyper-V(recommended)”的勾选,否则会带来很多问题(踩坑的经验)。

等待安装

安装完成,点击“Close and restart”重启计算机。

系统重启后。双击运行桌面的“Docker Desktop”图标,弹窗点击“Accept”。

点击:“Continue without signing in”,不登录进入。

点击:“Skip survey”

进入到了Docker Desktop界面。

3.切换国内源(设置⚙—Docker Engine),粘贴下面的内容,点击“Apply&restart”保存并重启Docker

{
  "registry-mirrors": [
    "https://82m9ar63.mirror.aliyuncs.com",
    "http://hub-mirror.c.163.com",
    "https://docker.mirrors.ustc.edu.cn"
  ],
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "features": {
    "buildkit": true
  }
}
THE END