当前位置: 首页 > article >正文

Docker 在 Windows 上的使用指南

Docker 在 Windows 上的使用指南

Docker 是一种强大的容器化平台,广泛应用于开发和生产环境。本文将介绍如何在 Windows 系统上使用 Docker,包括容器的启动、常见问题的排查,以及网络问题的解决方法。

1. Docker 安装与配置

在开始使用 Docker 之前,确保已经在 Windows 上安装了 Docker Desktop。安装完成后,确保 Docker 正常启动并处于运行状态。

1.1 下载 Docker Desktop

  1. 访问 Docker 官方网站:Docker Desktop 下载页面.(需要魔法)
  2. 点击 “Download for Windows” 进行下载。

1.2 安装 Docker Desktop

  1. 双击下载的安装程序(.exe 文件)开始安装。
  2. 在安装过程中,选择“Enable WSL 2”选项以启用 Windows Subsystem for Linux 2(如果你使用的是 Windows 10 或 Windows 11)。这是 Docker 在 Windows 上的推荐配置。
  3. 完成安装后,重启电脑以应用更改。

1.3 配置 Docker Desktop

  1. 启动 Docker Desktop。
  2. 根据需要完成初始配置,包括登录 Docker Hub 账户。
  3. 确保 Docker Desktop 的状态显示为 “Running”。

2. Docker 安装与配置

在开始使用 Docker 之前,确保 Docker Desktop 已经正常运行。
并且在系统环境配置中添加docker的路径
在这里插入图片描述

2.1 确认 Docker 已启动

你可以通过以下方式确认 Docker Desktop 是否正常运行:

  1. 检查系统托盘右下角是否有 Docker 的鲸鱼图标。
  2. 点击该图标,确保状态显示为 “Running”。

2.2 检查 Docker 命令是否可用

在命令行工具(CMD、PowerShell 或 Windows Terminal)中输入以下命令来确认 Docker 是否已正确安装和配置:

docker --version

如果 Docker 安装正常,你将会看到 Docker 的版本号输出。

2. 启动 Nginx 容器

假设你已经安装并配置好了 Docker,现在我们尝试运行一个简单的 Nginx 容器。

2.1 运行 Nginx 容器

使用以下命令启动 Nginx 容器(如果命令没有反应,用管理员运行命令行工具),并将主机的 8080 端口映射到容器的 80 端口:

docker run -d -p 8080:80 --name my-nginx nginx

2.2 检查容器状态

如果命令没有输出任何内容,可以通过以下命令查看容器是否正在运行:

docker ps

你应该会看到类似以下的输出:

在这里插入图片描述

2.3 访问 Nginx

打开浏览器,访问 http://localhost:8080,你应该会看到 Nginx 的默认欢迎页面。
在这里插入图片描述

3. 常见问题排查

3.1 镜像未找到

当你运行 docker run 命令时,可能会出现以下提示:

Unable to find image 'nginx
' locally

这表示本地没有找到所需的镜像,Docker 正在尝试从 Docker Hub 下载。如果没有任何后续反应,可以手动执行以下命令下载镜像:

docker pull nginx

3.2 配置国内镜像加速器

如果镜像下载速度较慢或没反应,可以开启代理魔法,或者使用国内的镜像加速器。以下是国内镜像加速器配置方法:

  1. 打开 Docker Desktop 的设置,点击 Docker Engine 选项卡。
  2. daemon.json 配置文件中添加以下内容:
   {
     "registry-mirrors": [
       "https://<你的阿里云加速器地址>"
     ]
   }

3.保存并重启 Docker。

4. 总结

通过以上步骤,你应该能够在 Windows 上成功运行 Docker 并启动 Nginx 容器。遇到问题时,可以通过检查容器状态、查看日志和配置镜像加速器等方法进行排查。


http://www.kler.cn/a/293533.html

相关文章:

  • Python 随笔
  • 图片画廊 day2 (可复制源码)
  • 边缘计算在智能交通系统中的应用
  • 使用kalibr_calibration标定相机(realsense)和imu(h7min)
  • Web安全之SQL注入---基础
  • 040 线程池
  • JVM性能调优之5种垃圾收集器
  • 【AI大模型应用开发】1.3 Prompt攻防(安全) 和 Prompt逆向工程
  • 滚珠花键助力生产加工精准化!
  • Python知识点:如何使用Python实现图像分类
  • 【Python】Requests:请求发送
  • log4j2 与 log4j使用时的几点小区别 - log4j2上手说明
  • WebStorm用Debug模式调试Vue等前端项目
  • 如何编写Linux PCI设备驱动器 之一
  • K8s中如何使用etcd进行集群信息的备份与恢复
  • el-table setCurrentRow会触发current-change函数 解决方案
  • php实用命令
  • 12,sql 中分组查询
  • GenBook RK3588一款模块化开源ARM笔记本电脑,具有高达32GB内存和模块化扩展功能
  • Vue3+vite中使用import.meta.glob
  • 【神经网络系列(高级)】神经网络Grokking现象的电路效率公式——揭秘学习飞跃的秘密【通俗理解】
  • STM32+ESP8266+MQTT协议连接阿里云实现温湿度上传
  • vue多环境配置和打包
  • 【基础】Three.js 自定义几何体和复制几何体
  • 研1日记5
  • IP学习——twoday