win10/win11下载安装Docker,Windows安装Docker Desktop 【保姆级教程】

文章目录

本人电脑配置:

前言:

"这代码在我电脑上跑得好好的,怎么一到你那就挂了呢?" ------ 这句话是不是听着耳熟?作为一名开发者,你可能无数次被环境差异搞得焦头烂额。

Python 版本不对、Node.js 依赖冲突、数据库配置麻烦......这些问题那是非常熟悉的。

Docker 这个神器能帮你彻底解决这些烦恼!

为什么需要Docker?

你可能会想:"Docker 不是主要在 Linux 上用的吗?我在 Windows 上折腾这个干嘛?"

理由:

1. 开发环境一致性

你写代码用的是 Windows,但服务器跑的是 Linux?没问题!Docker 容器在任何系统上运行的行为都是一样的。不用担心"本地能跑,上线就崩"的尴尬。

2. 快速搭建开发环境

想用 MySQL?一条命令搞定。需要 Redis?再加一条。不用手动下载、安装、配置,省时省力。

3. 保持系统整洁

每个应用都在独立的容器里运行,不会污染你的 Windows 系统。卸载也简单,删除容器即可。

4. 团队协作标准化

新同事加入项目?给他一个 Docker 配置文件,几分钟就能把开发环境跑起来,不用再花半天配环境。

5. 学习新技术成本低

想试试 MongoDB?----> 用 Docker 跑一个,玩够了就删掉,完全不留下任何痕迹。

Docker是个啥?

想象一下:你做了个美味的蛋糕(你的应用),Docker 帮你把蛋糕连同盘子、叉子、餐巾纸(所有依赖)一起打包进一个密封盒(容器)。这个盒子在任何桌子上(任何系统)打开,都能吃到一模一样的蛋糕。

传统方式是:你告诉别人"需要烤箱、面粉、糖......",别人自己准备,结果可能做出个煎饼。而 Docker 是直接把成品打包送过去。

技术上讲,Docker 使用容器化技术,比虚拟机轻量得多,启动速度秒级,资源占用也少。

开始安装:

一、安装前准备

1、确保 CPU 能虚拟化,或者检查虚拟化是否开启,步骤如下:任务管理器 ---- 性能 ---- CPU :

2、如果没有,需要开启,操作如下:

  • 重启电脑,进入 BIOS
  • 找到 Virtualization TechnologySVM Mode(AMD) 设置为 Enabled
  • 保存并退出

3、使用 Hyper-V 还是 WSL?(个人使用的是 WSL),官方文档:

二、安装WSL 2

WSL(Windows Subsystem for Linux)让 Windows 能原生运行Linux 程序,WSL 2 性能更好,是 Docker 的推荐后端。

1、以 管理员身份 打开 PowerShell

2、输入以下命令:

bash 复制代码
# 启用WSL功能
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

# 启用虚拟机平台功能
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

注意:必须重启电脑

3、验证是否安装成功:重启后,打开 PowerShell (cmd窗口也可以)执行:wsl --status 如果显示 WSL 版本信息,说明功能已启用。

三、WSL 2 配置

1、更新 WSL 内核:wsl --update

注意: 以管理员身份打开 PowerShell 或者 cmd 再执行,如果出现下面的情况:

或者 显示的进度条动都不动,非常慢,则输入:wsl --update --web-download 也就是加上:-web-download

2、设置 WSL2 为默认版本:wsl --set-default-version 2

3、安装 Ubuntu:

bash 复制代码
# 1.首先输入第一个命令,如果显示进度很慢或者报错,则输入第二个
# 2.假如第二个也失败,则输入第三个
wsl --install
wsl --install -d Ubuntu-22.04
wsl --install -d Ubuntu-22.04 --web-download
# 也可以不指定版本
wsl --install --web-download

四、下载安装Docker Desktop

官方文档
官方下载地址

1、我这里是点击上面 官方文档 的下载链接:

2、双击下载的 Docker Desktop Installer.exe,安装过程中,只需等待即可,安装完成后,启动 Docker ,会让你登录,你可以选择不登录,直接进来

3、验证是否安装成功:

4、镜像安装:

4.1 cmd 运行:docker run hello-world,如果看到 "Hello from Docker!" 的欢迎信息,说明你可以正式使用 Docker 了,但。。。如果不出意外,你会看到这样的结果:

或者

错误: 找不到镜像

4.2 配置镜像:

bash 复制代码
{
  "features": {
    "buildkit": true
  },
  "registry-mirrors": [
    "https://docker.1ms.run"
  ]
}

配置好以后,用 docker info 看一下:

这个时候再运行 docker run hello-world 就可以正常下载了:

注意: 备用镜像:

bash 复制代码
{
  "features": {
    "buildkit": true
  },
  "registry-mirrors": [
      "https://mirror.gcr.io",
      "https://docker.mirrors.ustc.edu.cn"
  ]
}

五、常用命令

1. 镜像相关命令

镜像好比容器的 "安装包":

复制代码
# 搜索镜像(比如搜索MySQL)
docker search mysql

# 拉取镜像到本地(下载)
docker pull nginx

# 查看本地所有镜像
docker images

# 删除镜像
docker rmi 镜像名或ID
2. 容器相关命令

容器是镜像运行后的实例:

复制代码
# 运行容器(基本格式):
docker run [选项] 镜像名

# 运行nginx容器,并映射端口
docker run --name my-web -p 8080:80 -d nginx
# --name 给容器起名
# -p 端口映射(主机端口:容器端口)
# -d 后台运行


# 查看运行中的容器
docker ps

# 查看所有容器(包括停止的)
docker ps -a

# 停止容器
docker stop 容器名或ID

# 启动已停止的容器
docker start 容器名或ID

# 重启容器
docker restart 容器名或ID

# 删除容器(必须先停止)
docker rm 容器名或ID

# 强制删除运行中的容器
docker rm -f 容器名或ID

# 查看容器日志(调试神器)
docker logs 容器名或ID

# 进入容器内部(像SSH一样)
docker exec -it 容器名或ID /bin/bash
3. 实战演练:运行一个Web服务器

运行一个 Nginx 服务器:

bash 复制代码
# 1.拉取nginx镜像(如果还没拉取过)
docker pull docker.1ms.run/nginx

# 2.运行容器
docker run --name my-nginx -p 8080:80 -d docker.1ms.run/nginx

# 3. 查看容器是否运行
docker ps

# 4. 打开浏览器访问 http://localhost:8080
# 看到Nginx欢迎页,成功!

# 5. 查看容器日志
docker logs my-nginx

# 6. 进入容器内部看看
docker exec -it my-nginx /bin/bash
# 进去后可以执行 ls、cat 等命令,输入 exit 退出

# 7. 停止容器
docker stop my-nginx

# 8. 删除容器
docker rm my-nginx
4. 其它实用命令
复制代码
# 查看Docker系统信息
docker info

# 查看磁盘使用情况
docker system df

# 清理未使用的镜像、容器等
docker system prune

# 一次性清理所有未使用的资源(谨慎使用)
docker system prune -a

六、常见问题

1、拉取镜像慢如蜗牛?

那就多配几个:

bash 复制代码
{
  "features": {
    "buildkit": true
  },
  "registry-mirrors": [
    "镜像加速地址1",
    "镜像加速地址2"
  ]
}

如果还是不行,可以在 拉取镜像时 指定加速地址:

bash 复制代码
docker pull docker.1ms.run/nginx

2、端口被占用

bash 复制代码
# 查看端口占用
netstat -ano | findstr :8080
 
# 终止占用进程(以PID 12345为例)
taskkill /PID 12345 /F

文章结束!点个关注,学习Docker不迷路!!

相关推荐
夜星辰20232 小时前
在 Ubuntu 里创建 Docker 容器,与在 Windows 上安装 VMware Workstation Pro 虚拟机的区别
windows·ubuntu·docker
谁在黄金彼岸2 小时前
MariaDB Docker容器权限配置问题分析与解决方案
后端·docker·容器
慢慢开始吧2 小时前
一套搞定!基于 Docker + Jenkins + Harbor 的国产多系统自动化编译流水线实战全纪录
docker·程序员
姜太小白3 小时前
【其他】QEMU 在 Windows 和 CentOS 7 下安装及运行 ARM 操作系统指南
arm开发·windows·centos
笨手笨脚の3 小时前
k8s 中的一些小知识
云原生·容器·kubernetes
ywlovecjy3 小时前
macOs安装docker且在docker上部署nginx+php
nginx·macos·docker
私人珍藏库3 小时前
[Windows] 央视影音v6.0.4.1绿色版
windows·工具·软件·影音·多功能
白鸽梦游指南3 小时前
docker仓库的工作原理及搭建仓库
java·docker·eureka
cyber_两只龙宝3 小时前
【Docker】Docker的原生网络介绍
linux·运维·docker·云原生·容器