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

Docker Desktop 入门教学

引言

Docker Desktop 是 Docker 官方为开发者提供的桌面应用程序,支持在 Windows 和 macOS 上轻松构建、运行和共享容器化应用程序。它集成了 Docker 引擎、Docker CLI 客户端以及 Docker Compose 等工具,方便您在本地开发和测试。

一、快速安装

1. 系统要求

  • Windows
    • Windows 10 64 位:专业版、企业版、教育版或 2004 及更高版本的家庭版。
    • Windows 11 64 位:所有版本均支持。需启用 Hyper - V 和虚拟机平台 Windows 功能。
  • macOS
    • macOS Monterey 12.0 或更高版本。
    • Intel 芯片或 Apple 芯片(M1、M2 等)。

2. 下载与安装

  • Windows:访问 [Docker 官方下载页面](Docker Desktop: The #1 Containerization Tool for Developers | Docker - desktop/),下载 Windows 版本的 Docker Desktop 安装程序(.exe 文件),双击运行并按照安装向导提示完成安装,过程中可能需要重启计算机。
  • macOS:同样在官方下载页面下载 macOS 版本的 Docker Desktop 安装包(.dmg 文件),打开安装包,将 Docker 图标拖移到 “应用程序” 文件夹,然后在 “应用程序” 中启动 Docker Desktop。首次启动时,可能需要输入管理员密码以完成安装。

3. 验证安装

安装完成并启动 Docker Desktop 后,打开终端(Windows 可使用命令提示符或 PowerShell,macOS 使用终端应用),运行以下命令验证 Docker 是否安装成功:

docker version

如果显示了 Docker 的版本信息,说明安装成功。

运行 Hello World 容器

docker run hello-world

该命令会从 Docker Hub 上拉取 hello-world 镜像,并在容器中运行。
如果成功,会在终端中看到一段欢迎信息。
2. 理解命令
docker run:运行一个新的容器。
hello-world:要运行的镜像名称。


二、使用 Docker 命令行


1. 常用命令
查看已下载的镜像:

docker images

查看正在运行的容器:

docker ps

查看所有容器(包括已停止):

docker ps -a

停止容器:

docker stop <容器ID或名称>

删除容器:

docker rm <容器ID或名称>

  三、使用 Docker Dashboard


Docker Desktop 提供了图形化的 Docker Dashboard,方便您管理容器、镜像、数据卷和网络。

1. 打开 Dashboard
点击任务栏(Windows)或菜单栏(macOS)中的 Docker 图标。
选择 Dashboard。
2. 管理容器
查看容器列表: 在左侧导航栏选择 Containers。
启动/停止容器: 点击容器右侧的启动或停止按钮。
查看容器日志: 点击容器名称,选择 Logs 选项卡。
删除容器: 停止容器后,点击右侧的删除按钮。
3. 管理镜像
查看镜像列表: 在左侧导航栏选择 Images。
删除镜像: 点击镜像右侧的删除按钮。
拉取新镜像: 点击右上角的 Pull 按钮,输入镜像名称。

四、使用 Docker Compose


Docker Compose 允许您使用 YAML 文件来定义和运行多个容器组成的应用程序。

1. 创建 docker-compose.yml 文件

在项目目录下创建 docker-compose.yml,示例如下:

version: '3'
services:web:image: nginxports:- "8080:80"redis:image: redis
2. 启动服务

在终端中,导航到 docker-compose.yml 文件所在的目录,运行:

docker-compose up -d
  • 该命令会根据配置启动 Nginx 和 Redis 两个服务。
3. 查看服务状态
docker-compose ps
4. 停止服务
docker-compose down

五、编写自定义镜像

1. 创建 Dockerfile

在项目目录下创建名为 Dockerfile 的文件,示例如下:

# 使用官方的 Node.js 镜像作为基础
FROM node:14# 设置工作目录
WORKDIR /app# 复制当前目录下的所有文件到工作目录
COPY . /app# 安装项目依赖
RUN npm install# 暴露应用运行的端口
EXPOSE 3000# 启动应用
CMD ["npm", "start"]
2. 构建镜像
docker build -t my-node-app .
  • -t:为镜像指定名称。
  • .:表示 Dockerfile 在当前目录。
3. 运行容器
docker run -d -p 3000:3000 my-node-app
  • 将容器的 3000 端口映射到主机的 3000 端口。

相关文章:

Docker Desktop 入门教学

引言 Docker Desktop 是 Docker 官方为开发者提供的桌面应用程序&#xff0c;支持在 Windows 和 macOS 上轻松构建、运行和共享容器化应用程序。它集成了 Docker 引擎、Docker CLI 客户端以及 Docker Compose 等工具&#xff0c;方便您在本地开发和测试。 一、快速安装 1. 系…...

PyCharm 中的 %reset -f 功能:一键重置控制台变量

在 PyCharm 的日常使用中&#xff0c;我们经常需要在控制台中测试和运行各种代码片段。随着时间的推移&#xff0c;控制台中会积累大量的变量和输出&#xff0c;这可能会使得环境变得混乱&#xff0c;影响我们的开发效率。为了解决这个问题&#xff0c;IPython 提供了一个非常有…...

ollama-chat-ui-vue,一个可以用vue对接ollama的开源项目,可接入deepSeek

ollama-chat-ui-vue 使用vue3 vite elementUi 搭建的前端chat,通过ollama可与模型对话,目前支持独立思考,切换模型(联网查询后续支持) github地址&#xff1a;ollama-chat-ui-vue 制作不易github点点star&#xff0c;谢谢 前置工作 安装ollama,ollama官网地址 安装完olla…...

在Logback中拦截和修改日志

事实上,Logback并没有提供修改日志的直接方法,但有一种解决方法可以通过使用过滤器来实现我们的目标,即使它看起来有点黑客。 假设你记录了某个用户的某个id号数百次,它分散在整个应用程序中,现在你有了一个新的要求,要求你必须加密这个id号。当然,你足够聪明,可以为此…...

Compose 定制UI视图

Compose 定制UI视图 概述MaterialThemeMaterialTheme与CompositionLocalMaterialThemeCompositionLocal 定制主题方案 概述 新建一个新项目时&#xff0c;Compose会在项目中生成 ui/theme 目录&#xff0c;目录中有四个文件&#xff0c;分别如下 Color.kt&#xff1a;颜色配置…...

《STL 六大组件之容器探秘:深入剖析 string》

目录 一、string 类简介二、string 类的常用接口1. 构造函数&#xff08;constructor function&#xff09;2. 与容量相关的接口&#xff08;capacity&#xff09;3. 与迭代器有关的接口&#xff08;iterator&#xff09;4. 与元素访问有关的接口&#xff08;element access&am…...

DeepSeek 助力 Vue 开发:打造丝滑的点击动画(Click Animations)

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享一篇文章&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 目录 Deep…...

SeaTunnel社区「Demo方舟计划」首期活动上线—— MySQL CDC实时同步至PostgreSQL实战

引言 凌晨2点&#xff0c;某电商公司的数据工程师小李正对着屏幕抓狂——业务部门临时要求将MySQL的订单表实时同步到PostgreSQL进行分析&#xff0c;众所周知&#xff0c;在数据驱动的业务场景中&#xff0c;异构数据源同步是高频刚需。 以MySQL到PostgreSQL的CDC同步为例&a…...

Python中常见库 PyTorch和Pydantic 讲解

PyTorch 简介 PyTorch 是一个开源的深度学习框架&#xff0c;由 Facebook 的 AI 研究团队开发。它提供了丰富的工具和库&#xff0c;用于构建和训练各种深度学习模型&#xff0c;如卷积神经网络&#xff08;CNN&#xff09;、循环神经网络&#xff08;RNN&#xff09;及其变体&…...

基于springboot校园健康系统的设计与实现(源码+文档)

大家好我是风歌&#xff0c;今天要和大家聊的是一款基于springboot的园健康系统的设计与实现。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 项目简介&#xff1a; 基于springboot校园健康系统的设计与实现的主要使用者管理员具有最高的权限&#xff0c;通…...

一文2000字从0到1用Jmeter全流程性能测试实战

项目背景&#xff1a; 我们的平台为全国某行业监控平台&#xff0c;经过3轮功能测试、接口测试后&#xff0c;98%的问题已经关闭&#xff0c;决定对省平台向全国平台上传数据的接口进行性能测试。 01、测试步骤 1、编写性能测试方案 由于我是刚进入此项目组不久&#xff0c…...

【SFRA】笔记

GK_SFRA_INJECT(x) SFRA小信号注入函数,向控制环路注入一个小信号。如下图所示,当前程序,小信号注入是在固定占空比的基础叠加小信号,得到新的占空比,使用该占空比控制环路。 1.2 GK_SFRA_COLLECT(x, y) SFRA数据收集函数,将小信号注入环路后,该函数收集环路的数据,以…...

马拉车算法

Manacher算法 ,用于处理最长回文字符串的问题&#xff0c;可以在O&#xff08;n&#xff09;的情况下&#xff0c;求出一个字符串的最长回文字符串 回文串的基础解法&#xff1a; 以每个点为中心对称点&#xff0c;看左右两边的点是否相同。这种算法的时间复杂度为O&#xff0…...

Debezium同步之如何同步GIS数据

Debezium 可以用于同步数据库中的变更数据(CDC),包括GIS(地理信息系统)数据。GIS 数据通常存储在具有地理空间数据类型的表中,例如 PostGIS(PostgreSQL 的扩展)中的 geometry 或 geography 类型。通过 Debezium,可以实时捕获和同步这类数据的变更。本文章简单介绍Post…...

自动化之ansible(二)

一、ansible中playbook&#xff08;剧本&#xff09; 官方文档&#xff1a; Ansible playbooks — Ansible Community Documentation 1、playbook的基本结构 一个基本的playbook由以下几个主要部分组成 hosts: 定义要执行任务的主机组或主机。 become: 是否需要使用超级用户…...

Docker+Dify部署DeepSeek-r1本地知识库

安装配置Docker Desktop 软件下载 Docker Desktop版本:4.38.0.181591 Docker Desktop下载地址:Docker: Accelerated Container Application Development 或者从这里下载:DockerDesktop-4.38.0.181591资源-CSDN文库 点击图下所示位置,下载windows-AMD64版本软件 启用Hy…...

C#基础:使用Linq进行简单去重处理(DinstinctBy/反射)

目录 一、示例代码 二、示例输出 三、注意雷点 四、全字段去重封装方法 1.封装 2.示例 一、示例代码 using System; using System.Collections.Generic; using System.Linq;public class Program {public static void Main(){// 创建一些示例实体对象var people new Li…...

HTML5 面试题

1. HTML5 新增了哪些重要特性&#xff1f; 语义化标签&#xff1a;这些标签有助于提高页面的可读性和可维护性。多媒体支持&#xff1a;HTML5 引入了 和 标签&#xff0c;可以直接嵌入音频和视频文件&#xff0c;无需依赖插件。本地存储&#xff1a;引入了 localStorage 和 se…...

【C++】优先级队列宝藏岛

> &#x1f343; 本系列为初阶C的内容&#xff0c;如果感兴趣&#xff0c;欢迎订阅&#x1f6a9; > &#x1f38a;个人主页:[小编的个人主页])小编的个人主页 > &#x1f380; &#x1f389;欢迎大家点赞&#x1f44d;收藏⭐文章 > ✌️ &#x1f91e; &#x1…...

开关电源实战(一)宽范围DC降压模块MP4560

系列文章目录 文章目录 系列文章目录MP4560MP4560 3.8V 至 55V 的宽输入范围可满足各种降压应用 MOSFET只有250mΩ 输出可调0.8V-52V SW:需要低VF肖特基二极管接地,而且要靠近引脚,高压侧开关的输出。 EN:输入使能,拉低到阈值以下关闭芯片,拉高或浮空启动 COMP:Compens…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…...

Vue记事本应用实现教程

文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展&#xff1a;显示创建时间8. 功能扩展&#xff1a;记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql

智慧工地管理云平台系统&#xff0c;智慧工地全套源码&#xff0c;java版智慧工地源码&#xff0c;支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求&#xff0c;提供“平台网络终端”的整体解决方案&#xff0c;提供劳务管理、视频管理、智能监测、绿色施工、安全管…...

大数据零基础学习day1之环境准备和大数据初步理解

学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 &#xff08;1&#xff09;设置网关 打开VMware虚拟机&#xff0c;点击编辑…...

MMaDA: Multimodal Large Diffusion Language Models

CODE &#xff1a; https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA&#xff0c;它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

基于Docker Compose部署Java微服务项目

一. 创建根项目 根项目&#xff08;父项目&#xff09;主要用于依赖管理 一些需要注意的点&#xff1a; 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件&#xff0c;否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...

python爬虫——气象数据爬取

一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用&#xff1a; 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests&#xff1a;发送 …...

Kubernetes 节点自动伸缩(Cluster Autoscaler)原理与实践

在 Kubernetes 集群中&#xff0c;如何在保障应用高可用的同时有效地管理资源&#xff0c;一直是运维人员和开发者关注的重点。随着微服务架构的普及&#xff0c;集群内各个服务的负载波动日趋明显&#xff0c;传统的手动扩缩容方式已无法满足实时性和弹性需求。 Cluster Auto…...

规则与人性的天平——由高考迟到事件引发的思考

当那位身着校服的考生在考场关闭1分钟后狂奔而至&#xff0c;他涨红的脸上写满绝望。铁门内秒针划过的弧度&#xff0c;成为改变人生的残酷抛物线。家长声嘶力竭的哀求与考务人员机械的"这是规定"&#xff0c;构成当代中国教育最尖锐的隐喻。 一、刚性规则的必要性 …...

[USACO23FEB] Bakery S

题目描述 Bessie 开了一家面包店! 在她的面包店里&#xff0c;Bessie 有一个烤箱&#xff0c;可以在 t C t_C tC​ 的时间内生产一块饼干或在 t M t_M tM​ 单位时间内生产一块松糕。 ( 1 ≤ t C , t M ≤ 10 9 ) (1 \le t_C,t_M \le 10^9) (1≤tC​,tM​≤109)。由于空间…...