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

Docker Desktop 安装与使用详解

目录

  • 1. 前言
  • 2. Docker Desktop 安装
    • 2.1 下载及安装
    • 2.2 登录 Docker 账号
    • 2.3 进入 Docker Desktop 主界面
  • 3. Docker 版本查看与环境检查
    • 3.1 查看 Docker Desktop 支持的 Docker 和 Kubernetes 版本
    • 3.2 检查 Docker 版本
  • 4. Docker Hub 和常用镜像管理方式
    • 4.1 使用 Docker Hub
    • 4.2 从 Docker Hub 拉取镜像
    • 4.3 安装和运行 Nginx
    • 4.4 配置 Nginx
  • 5. 结语

1. 前言

Docker 作为一种轻量级的容器化技术,在开发、测试、部署等环节发挥着至关重要的作用。为了让用户更方便地在本地环境中管理 Docker 容器,Docker 官方推出了 Docker Desktop,这是一款专门面向 Windows 和 macOS 操作系统的桌面应用,提供了图形化的管理界面,并集成了 Kubernetes 以支持容器编排。

本文将详细介绍 Docker Desktop 的安装、配置、版本检查、镜像管理等方面的内容,帮助开发者快速上手。

2. Docker Desktop 安装

在这里插入图片描述

2.1 下载及安装

首先,前往 Docker 官网 下载适用于 Windows 或 macOS 的 Docker Desktop 安装包。

  1. 根据操作系统选择合适的版本下载。
  2. Windows 用户需确保已启用 WSL 2 或 Hyper-V,macOS 用户需使用 Apple Silicon(M1/M2)或 Intel 版本的安装包。
  3. 双击下载的安装文件,按照提示完成安装。
  4. 安装完成后,启动 Docker Desktop。

2.2 登录 Docker 账号

安装完成后,打开 Docker Desktop,建议登录 Docker 账号,以便管理和推送镜像至 Docker Hub。

如果没有 Docker 账号,可以在 Docker Hub 注册一个。

  1. 进入 Docker Desktop 主页,点击右上角的“Sign in”。
  2. 输入 Docker 账号和密码进行登录。
  3. 登录成功后,即可创建和管理自己的镜像仓库。

2.3 进入 Docker Desktop 主界面

成功登录后,可以看到 Docker Desktop 的主界面,包括:
在这里插入图片描述

  • Docker 运行状态
  • 当前的容器列表
  • 镜像管理界面
  • Kubernetes 状态(如果启用)

在 Docker Desktop 主页,可以轻松管理容器和镜像,并进行相关设置。

3. Docker 版本查看与环境检查

3.1 查看 Docker Desktop 支持的 Docker 和 Kubernetes 版本

Docker Desktop 默认集成了 Docker Engine 和 Kubernetes,可以在“设置”页面查看具体版本信息。

当前 Docker Desktop 版本支持:

  • Docker Engine:27.5.1
  • Kubernetes:v1.31.4

3.2 检查 Docker 版本

安装完成后,可以使用命令行检查 Docker 版本。

打开终端(Windows 用户可使用 PowerShell 或 WSL,macOS 用户可使用 Terminal),输入:

docker version

输出示例:

Client:Version:           27.5.1API version:       1.47Go version:        go1.22.11Git commit:        9f9e405Built:             Wed Jan 22 13:41:44 2025OS/Arch:           windows/amd64Context:           desktop-linuxServer: Docker Desktop 4.38.0 (181591)Engine:Version:          27.5.1API version:      1.47 (minimum version 1.24)Go version:       go1.22.11Git commit:       4c9b3b0Built:            Wed Jan 22 13:41:17 2025OS/Arch:          linux/amd64Experimental:     falsecontainerd:Version:          1.7.25GitCommit:        bcc810d6b9066471b0b6fa75f557a15a1cbf31bbrunc:Version:          1.1.12GitCommit:        v1.1.12-0-g51d5e946docker-init:Version:          0.19.0GitCommit:        de40ad0

如果能够成功显示版本信息,说明 Docker 已正确安装。

4. Docker Hub 和常用镜像管理方式

4.1 使用 Docker Hub

在这里插入图片描述

Docker Hub 是 Docker 官方提供的公共镜像仓库,允许用户存储、管理和共享镜像。

登录 Docker Hub

使用以下命令登录 Docker Hub:

docker login

然后输入 Docker 账号和密码。

4.2 从 Docker Hub 拉取镜像

可以使用 docker pull 命令从 Docker Hub 拉取官方或社区维护的镜像,例如拉取最新的 Nginx 镜像:

docker pull nginx:latest

4.3 安装和运行 Nginx

在这里插入图片描述

在 Docker Desktop 左侧的 Docker Hub 搜索栏中,输入 nginx,找到官方 Nginx 镜像并拉取。

拉取完成后,可以运行以下命令创建并启动一个 Nginx 容器:

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

该命令的作用如下:

  • --name my-nginx:为容器指定名称 my-nginx
  • -p 8080:80:将宿主机的 8080 端口映射到容器的 80 端口。
  • -d:以后台模式运行容器。
  • nginx:使用官方 Nginx 镜像。

容器启动后,可以在浏览器中访问 http://localhost:8080,如果能看到 Nginx 欢迎页面,则说明安装成功。
在这里插入图片描述

4.4 配置 Nginx

可以在宿主机上创建一个 Nginx 配置文件,并挂载到容器中,使其生效。

首先,在本地创建一个 nginx.conf 文件:

mkdir -p ~/nginx-conf && cd ~/nginx-conf
nano nginx.conf

添加以下内容:

server {listen 80;server_name localhost;location / {root /usr/share/nginx/html;index index.html;}
}

然后,使用以下命令重新运行 Nginx 容器,并挂载配置文件:

docker run --name my-nginx -p 8080:80 -v ~/nginx-conf/nginx.conf:/etc/nginx/nginx.conf:ro -d nginx

如果需要查看容器运行状态,可以使用:

docker ps

如需停止或删除 Nginx 容器,可执行以下命令:

docker stop my-nginx
docker rm my-nginx

5. 结语

通过本文的介绍,相信大家已经掌握了 Docker Desktop 的基本使用方法,包括下载、安装、版本检查、镜像管理等方面的内容。Docker Desktop 极大地简化了容器管理的流程,使开发者能够更高效地构建和运行应用。

相关文章:

Docker Desktop 安装与使用详解

目录 1. 前言2. Docker Desktop 安装2.1 下载及安装2.2 登录 Docker 账号2.3 进入 Docker Desktop 主界面 3. Docker 版本查看与环境检查3.1 查看 Docker Desktop 支持的 Docker 和 Kubernetes 版本3.2 检查 Docker 版本 4. Docker Hub 和常用镜像管理方式4.1 使用 Docker Hub4…...

鬼泣:移动系统3

能帮到你的话,就给个赞吧 😘 文章目录 run/Sprint混合空间输入:(leanAngle, maxWalkSpeed) 按布尔混合和选择的区别:自动生成过渡动画dead blending:惯性化节点疑问run/Sprint混合空间为什么速度为0时也设置奔跑动画为…...

解决 HTTP 请求中的编码问题:从乱码到正确传输

文章目录 解决 HTTP 请求中的编码问题:从乱码到正确传输1. **问题背景**2. **乱码问题的原因**2.1 **客户端编码问题**2.2 **请求头缺失**2.3 **服务器编码问题** 3. **解决方案**3.1 **明确指定请求体编码**3.2 **确保请求头正确**3.3 **动态获取响应编码** 4. **调…...

golang从入门到做牛马:第二十篇-Go语言接口:行为的“契约”

Go语言接口:行为的“契约” 在Go语言中,接口(interface)是一种非常强大的类型,用于定义行为的集合。接口通过描述类型必须实现的方法,规定了类型的行为契约。Go语言的接口设计简单而功能强大,是实现多态和解耦的重要工具。接下来,让我们一起深入了解Go语言中的接口。 …...

HTML5 Web SQL

HTML5 Web SQL 引言 随着互联网技术的飞速发展,HTML5 作为新一代的网页技术,已经逐渐成为网页开发的主流。在 HTML5 中,Web SQL 是一种轻量级的数据库存储技术,它允许开发者直接在网页中存储数据。本文将详细介绍 HTML5 Web SQL 的概念、特点、应用场景以及使用方法。 一…...

【品铂科技工业生产应用案例解析】

品铂科技(Pinpoint)在工业领域的高精度定位解决方案已广泛应用于电力、钢铁、仓储、化工、地铁等场景,以下为典型应用案例及技术方案: 一、‌电力行业:上海闵行电厂人员定位‌ 白鹤滩水力发电站 ‌项目需求‌&#x…...

pjsip dtmf发送和接收(pjsua)

DTMF(双音多频,Dual-Tone Multi-Frequency)是一种用于电话系统的信号技术,通过组合两个不同频率的音频信号来表示数字和符号。以下是DTMF的主要使用背景和应用场景: 电话拨号 DTMF最常见的用途是电话拨号。当用户按下电话键盘上的数字或符号时,电话会生成两个特定频率的音…...

【HarmonyOS Next】鸿蒙应用常规面试题和答辩思路参考

【HarmonyOS Next】鸿蒙应用常规面试题和答辩思路参考 一、充分了解岗位JD要求 根据招聘发布的岗位JD,进行自我匹配分析。了解基本要求和加分项,以及项目节奏和英文要求等。 技术不匹配的点,是否会影响应聘岗位加分项自己是否掌握&#xf…...

《计算机图形学》第二课笔记-----二维变换的推导

前言:为什么这么突兀的把这一节内容放在了第二课,第一是因为我急于求成,第二是因为这一章节太重要了,这几乎是二维三维变换的最核心的东西,理解了这一章节内容,后面的就会像打通了任督二脉一样,…...

无需微调的对齐方法URIAL

无需微调的对齐方法URIAL 研究背景与目的:LLMs的对齐调优通常采用监督微调(SFT)和强化学习从人类反馈(RLHF),但LIMA研究表明少量示例的SFT也能实现较好对齐,暗示对齐调优可能存在“表面性质”。本研究旨在探究对齐调优对基础LLMs的具体影响,并提出不依赖SFT或RLHF的对齐…...

机器学习(七)

一,监督学习和无监督学习聚类的数据集比较: 监督学习: 数据集包括输入的数据和与之对应的标签 无监督学习: 数据集仅含有输入的数据,要求算法自己通过所给的数据集来确定决策边界 二,聚类(Clustering): 聚…...

利用labelimg实现yolov8数据集的制作

我们在使用yolov8进行物体检测识别的时候,由于其内置的n,s,m等模型只包含90多种物体(很多其他物品并未包含在其中),导致我们无法直接使用其模型进行视频或者图片的检测识别。这个时候,我们就需要自己制作数据集进行训练…...

【0x80070666】-已安装另一个版本...(Tableau 安装失败)

第一种是之前安装过tableau相关软件,但是没卸载干净。 方法1:卸载旧版本 打开 控制面板 → 程序和功能(或 添加/删除程序)。查找 Tableau Desktop,如果已安装旧版本,卸载它。重新启动电脑后再尝试安装。 …...

在rv1106上部署vue3

创建vue3项目 $ npm create vuelatest Need to install the following packages: create-vue3.15.1 Ok to proceed? (y) y > npx > create-vue┌ Vue.js - The Progressive JavaScript Framework │ ◇ 请输入项目名称: │ ip_cam │ ◇ 请选择要包含的…...

海量数据查询加速:Presto、Trino、Apache Arrow

1. 引言 在大数据分析场景下,查询速度往往是影响业务决策效率的关键因素。随着数据量的增长,传统的行存储数据库难以满足低延迟的查询需求,因此,基于列式存储、向量化计算等技术的查询引擎应运而生。本篇文章将深入探讨 Presto、Trino、Apache Arrow 三种主流的查询优化工…...

Word填写窗口功能详解:如何让文档填写更高效?

在日常办公中,我们经常需要让他人填写一些固定格式的文档,比如合同、申请表、调查问卷等。如果直接使用普通文本编辑,填写时可能会破坏排版,甚至修改了不该改动的内容。这时候,Word的填写窗口(即“内容控件…...

Oracle数据库存储结构--逻辑存储结构

数据库存储结构:分为物理存储结构和逻辑存储结构。 物理存储结构:操作系统层面如何组织和管理数据 逻辑存储结构:Oracle数据库内部数据组织和管理数据,数据库管理系统层面如何组织和管理数据 Oracle逻辑存储结构 数据库的逻…...

kali之nmap

kali之nmap Nmap(Network Mapper)是 Kali Linux 中最著名的网络扫描工具之一,广泛用于网络发现、端口扫描、服务识别、操作系统检测等任务。它是一个功能强大且灵活的开源工具,适用于渗透测试、网络管理和安全审计。 1. Nmap 的主…...

Kubernetes学习笔记-移除Nacos迁移至K8s

项目服务的配置管理和服务注册发现由原先的Nacos全面迁移到Kubernetes上。 一、移除Nacos 移除Nacos组件依赖。 <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <…...

简单创建一个Django项目并配置neo4j数据库

创建项目&#xff0c;项目的文件夹就是项目的名称 创建项目的基本框架 安装djangorestframework 单击运行 查看浏览器运行效果&#xff1a; 运行效果如下&#xff1a; 创建应用(假如说是创建一个名为myapp的应用)&#xff1a; python manage.py startapp myapp创建之后的…...

java实现智能家居控制系统——入门版

文章目录 一、需求二、业务分析三、具体实现创建一个功能接口&#xff0c;实现设备的开关创建一个家电类&#xff0c;作为功能接口的实现类&#xff0c;定义名字和状态分别创建电视机、洗衣机、电灯的类&#xff0c;继承家电类Tv类WashMachine类Lamp类 定义智能控制系统类&…...

k8s基础架构介绍

k8s基础架构介绍 k8s 是对容器进行编排的一种工具。通过k8s可以实现对容器的编排、部署、更新等 学习k8s之前&#xff0c;先了解相关的一些使用和配置k8s的一些工具。 k8s的常用工具 在 kubernetes 中&#xff0c;主要有三个日常使用的工具&#xff0c;这些工具使用 kube 前…...

VSCode C/C++ 开发环境完整配置及常见问题(自用)

这里主要记录了一些与配置相关的内容。由于网上教程众多&#xff0c;部分解决方法并不能完全契合我遇到的问题&#xff0c;因此我选择以自己偏好的方式&#xff0c;对 VSCode 进行完整的配置&#xff0c;并记录在使用过程中遇到的问题及解决方案。后续内容也会持续更新和完善。…...

QGraphicsDropShadowEffect 的效果不能同时被多个控件使用

问题的原因是 QGraphicsDropShadowEffect 不能同时被多个控件共享。每个 QGraphicsDropShadowEffect 实例只能绑定到一个控件上。如果你将同一个 taskbarShadow 同时设置给 ui->filemanager_memeryArea 和 ui->workspaceWidget&#xff0c;只有最后一个设置会生效。 解决…...

实用小工具——快速获取数据库时间写法

最近我遇到了一个比较棘手的问题&#xff1a;在工作中&#xff0c;各个项目所使用的数据库类型各不相同。这导致我习惯性地使用Oracle的SQL语句进行编写&#xff0c;但每次完成后都会遇到报错&#xff0c;最终才意识到项目的数据库并非Oracle。为了避免这种情况&#xff0c;我需…...

回文字串(信息学奥赛一本通-2044)

【题目描述】 输入一串字符,字符个数不超过100,且以“.”结束。 判断它们是否构成回文。 【输入】 一行字符串。 【输出】 是否为回文串。是输出“Yes”&#xff0c;否输出“No。” 【输入样例】 abccb 【输出样例】 No 【题解代码】 #include<bits/stdc.h> using names…...

用Maven创建只有POM文件的项目

使用 mvn 创建一个仅包含 pom.xml 文件的父项目&#xff0c;可以借助 maven-archetype-quickstart 原型&#xff0c;然后移除不必要的文件&#xff0c;或者直接通过命令生成最简的 pom.xml 文件。以下是具体操作步骤&#xff1a; 一、方法一&#xff1a;使用原型创建后清理 1…...

基于ssm的宠物医院信息管理系统(全套)

一、系统架构 前端&#xff1a;html | layui | vue | element-ui 后端&#xff1a;spring | springmvc | mybatis 环境&#xff1a;jdk1.8 | mysql | maven | tomcat | idea | nodejs 二、代码及数据库 三、功能介绍 01. web端-首页1 02. web端-首页…...

从 YOLOv1 到 YOLOv2:目标检测的进化之路

引言 你有没有想过&#xff0c;当你用手机拍一张照片&#xff0c;里面的人、车、狗是怎么被自动识别出来的&#xff1f;这背后靠的就是目标检测技术。目标检测是计算机视觉中的一个重要领域&#xff0c;它不仅要回答“图片里有什么”&#xff0c;还要告诉你“这些东西在哪里”…...

RTDETR融合[CVPR205]ARConv中的自适应矩阵卷积

RT-DETR使用教程&#xff1a; RT-DETR使用教程 RT-DETR改进汇总贴&#xff1a;RT-DETR更新汇总贴 《Adaptive Rectangular Convolution for Remote Sensing Pansharpening》 一、 模块介绍 论文链接&#xff1a;https://arxiv.org/pdf/2503.00467 代码链接&#xff1a;https:/…...