Docker 对初学者的简单解释和应用场景


1.什么是 Docker?

简单来说,Docker 就像一个“装箱子”的工具,这个箱子叫做“容器”。

你写的程序和它运行需要的环境(比如操作系统、软件、工具)都装进一个箱子里。这个箱子可以搬到任何一台电脑上,不用担心环境不一样导致程序不能运行。


2.Docker 的好处

  • 环境一致:开发时的环境和别人运行程序的电脑完全一样,避免“我这能运行,你那不行”的问题。

  • 轻松分享:打包好的箱子可以直接分享给别人,别人拿了就能跑。

  • 快速运行:启动程序速度快,不用像传统虚拟机一样启动一个复杂的系统。


3.初学者可以用 Docker 做什么?

  1. 搭建学习环境

    • 想学习数据库、编程语言或者搭建网站,不用担心安装繁琐,只要拉一个对应的 Docker 容器,几秒钟就能开始使用。
  2. 试用新软件

    • 想试试新版本的软件或者工具,不影响电脑上的其他软件,用 Docker 容器试运行。
  3. 保存和分享项目

    • 写的程序连同它的运行环境一起打包,别人拿到你的包可以快速运行。

4.举个简单例子

你想在电脑上练习 Python 编程,而且想用特定版本的 Python 和一些库:

  • 你用 Docker 拉一个“装有Python环境”的容器。

  • 通过容器,你能直接写代码、运行程序,不用担心本地电脑有没有安装对应版本。

  • 之后你可以把这个容器发给朋友,朋友也能用完全一样的环境跑你的代码。

Docker 就像是给程序装了一个万能的小盒子,不管你换了什么电脑,这个盒子里的程序都能平稳运行。
对于初学者来说,学习使用 Docker 可以让你更方便地搭建各种环境,减少很多因为环境问题带来的烦恼。


Docker 安装与入门使用指南

一、安装 Docker

1. Windows

  • 访问官网下载安装包:https://www.docker.com/get-started
  • 下载 Docker Desktop for Windows
  • 根据提示安装,安装时需开启 Windows 的 Hyper-V 功能(安装程序会提示)。
  • 安装完成后,重启电脑。
  • 打开 Docker Desktop,确认 Docker 图标显示正常(鲸鱼图标)。

2. macOS

  • 同样访问官网下载安装包。
  • 下载 Docker Desktop for Mac
  • 打开安装包,拖动 Docker 到应用程序文件夹。
  • 运行 Docker Desktop,等待启动完成。

3. Linux(以 CentOS7 为例)

官方文档地址:https://docs.docker.com/engine/install/centos/

1.卸载旧版docker

sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine

2.设置docker yum源(二选一)
设置为阿里云的源速度可以快一点(推荐)

sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

如果不想阿里云的源,也可用官方源(可能遇到网络问题)

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

3.安装docker

sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

4.启动docker

sudo systemctl start docker

5.设置开机自启动

sudo systemctl enable docker

6.查看版本

docker -v
docker info

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/86709.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/86709.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/86709.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

引导相机:工业自动化的智能之眼,赋能制造业高效升级

在工业自动化浪潮中,精准的视觉引导技术正成为生产效率跃升的关键。作为迁移科技——一家成立于2017年、专注于3D工业相机和3D视觉系统的领先供应商,我们深知"引导相机"的核心价值:它不仅是一个硬件设备,更是连接物理世…

智能相机如何重塑工业自动化?迁移科技3D视觉系统的场景革命

从硬件参数到产业价值,解码高精度视觉系统的落地逻辑 一、工业视觉的“智慧之眼” 迁移科技深耕3D工业相机领域,以“稳定、易用、高回报”为核心理念,打造覆盖硬件、算法、软件的全栈式视觉系统。成立6年累计融资数亿元的背后,是…

【数据挖掘】聚类算法学习—K-Means

K-Means K-Means是一种经典的无监督学习算法,用于将数据集划分为K个簇(clusters),使得同一簇内的数据点相似度高,不同簇间的相似度低。它在数据挖掘、模式识别和机器学习中广泛应用,如客户细分、图像压缩和…

linux环境内存满php-fpm

检查 PHP-FPM 配置 pm.max_children:该参数控制 PHP-FPM 进程池中最大允许的子进程数。过高的子进程数会导致内存占用过大。你可以根据服务器的内存大小来调整 pm.start_servers:控制 PHP-FPM 启动时创建的进程数。根据实际情况调整此值。 pm.min_spare_…

基于CNN卷积神经网络图像识别小程序9部合集

基于CNN卷积神经网络图像识别小程序合集-视频介绍下自取 ​ 内容包括: 基于python深度学习的水果或其他物体识别小程序 003基于python深度学习的水果或其他物体识别小程序_哔哩哔哩_bilibili 代码使用的是python环境pytorch深度学习框架,代码的环境安…

WebRTC(九):JitterBuffer

JitterBuffer Jitter “Jitter”指的是连续到达的媒体包之间时间间隔的变化。在网络传输中,由于: 网络拥塞路由路径变化队列排队不同链路带宽差异 导致包之间的接收时间不一致,这就是网络“抖动”。 作用 **JitterBuffer(抖…

【推荐100个unity插件】在 Unity 中绘制 3D 常春藤,模拟生长——hedera插件的使用

注意:考虑到后续接触的插件会越来越多,我将插件相关的内容单独分开,并全部整合放在【推荐100个unity插件】专栏里,感兴趣的小伙伴可以前往逐一查看学习。 效果演示 文章目录 效果演示前言一、常春藤生成器工具下载二、工具使用1、…

【三维重建】【3DGS系列】【深度学习】3DGS的理论基础知识之高斯椭球的几何变换

【三维重建】【3DGS系列】【深度学习】3DGS的理论基础知识之高斯椭球的几何变换 文章目录 【三维重建】【3DGS系列】【深度学习】3DGS的理论基础知识之高斯椭球的几何变换前言模型变换(Model Transformation)观测变换(Viewing Transformation)视图变换(View Transformation)投影…

EXISTS 和 NOT EXISTS 、IN (和 NOT IN)

在 SQL 中,EXISTS、NOT EXISTS 和 IN 都是用于子查询的条件运算符,用于根据子查询的结果过滤主查询的行。它们之间的区别主要体现在工作方式、效率、对 NULL 值的处理以及适用场景上。 1. EXISTS 和 NOT EXISTS 作用: EXISTS: 检查子查询是…

GitHub 趋势日报 (2025年06月25日)

📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 880 awesome 788 build-your-own-x 691 free-for-dev 427 best-of-ml-python 404 …

互联网大厂Java求职面试:Java虚拟线程实战

互联网大厂Java求职面试:Java虚拟线程实战 文章内容 开篇:技术总监与程序员郑薪苦的三轮对话 在一场紧张而严肃的Java工程师面试中,技术总监张工正对候选人郑薪苦进行深入提问。郑薪苦虽然性格幽默,但对技术有着扎实的理解。今天…

网络安全的两大威胁:XSS与CSRF攻击实例解析

在网络攻击中,XSS跨站脚本攻击(Cross Site Scripting)与CSRF跨站请求伪造攻击(Cross-Site Request Forgery)是两种常见的攻击方式,它们之间存在显著的区别。以下是对这两种攻击方式的详细比较: 一、攻击原理 XSS跨站脚本攻击 攻击者通过在Web页面中注入恶意脚本来实现攻…

如何一次性将 iPhone 中的联系人转移到 PC

许多重要的联系人都存储在您的 iPhone 上。为了保护关键信息,您可能需要将联系人从 iPhone 转移到 PC,这是一种有效的联系人备份方法。如果您在将 iPhone 联系人转移到电脑上遇到困难,现在可以从本文中学习 5 个有效的解决方案,然…

Spring Boot开启定时任务的三种方式 【@EnableScheduling注解,SchedulingConfigurer接口,Quartz 框架】

Spring Boot 开启定时任务的三种方式​ ​ ​ 在 Spring Boot 应用开发过程中,定时任务是十分常见的需求,比如定时清理日志文件、定期备份数据库数据、定时发送邮件提醒等。Spring Boot 提供了多种开启定时任务的方式,本文将详细介绍三种常见…

LLM 编码器 怎么实现语义相关的 Token 向量更贴近? mask训练:上下文存在 ;; 自回归训练:只有上文,生成模型

LLM 编码器 怎么实现语义相关的 Token 向量更贴近? 目录 LLM 编码器 怎么实现语义相关的 Token 向量更贴近?mask训练:上下文存在自回归训练:只有上文,生成模型一、核心机制:损失函数与反向传播的“语义校准”1. 损失函数的“语义约束”2. 嵌入层参数的“动态调整”二、关…

从OCR瓶颈到结构化理解来有效提升RAG的效果

当人们探讨如何让人工智能系统更好地从文档中查找和使用信息时,通常关注的是令人瞩目的算法和前沿的大型语言模型。但问题是:如果文本提取的质量很差,那么后续的努力都将付诸东流。本文探讨OCR质量如何影响检索增强生成(RAG&#…

SpringBoot -- 整合Junit

11.SpringBoot 整合 Junit 11.1 为什么需要单元测试 由于在SpringBoot开发过程中,每开发一个模块,有时需要从 controller、service、mapper 到甚至 xml 文件的编写全部开发完毕才能进行测试,这是十分浪费时间的,比如开发人员想测…

虚拟机远程连接编译部署QT程序

概要 逻辑 我们需要凑齐 QT库、交叉编译工具、sysroot这三大件。 交叉编译的程序是部署到板卡环境运行,需要构建和板卡一样的库环境。 sysroot是我们在虚拟机上自己命名的一个文件夹,包含开发板的运行系统所需的所有文件。 虚拟机是x64版本,开发板是arm64版本。 如果开发板…

基于SpringBoot的智慧旅游系统

以智慧旅游系统的设计与实现为研究对象,旨在通过科技手段提升旅游业的管理效能和游客体验。在系统设计方面,深入分析了地理特征、丰富的文化底蕴以及多样的自然景观。结合这些独特之处,构建了一个多层次的旅游管理系统,包括景点信…

下载最新版本的OpenOCD

Download OpenOCD for Windowsd: https://gnutoolchains.com/arm-eabi/openocd/