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

容器技术入门与 Docker 环境部署

一、容器与 Docker 核心认知1. 什么是容器容器是操作系统层面的轻量级虚拟化把应用、依赖、配置打包成独立运行单元共享宿主机内核实现环境一致性与资源隔离。2. 为什么用 Docker启动秒级性能接近原生环境一次打包到处运行资源占用低单机可跑上千容器适配微服务、CI/CD、云原生3. Docker vs 虚拟机补充知识点表格维度Docker 容器传统虚拟机虚拟化层级操作系统层硬件层内核共享宿主机内核独立 Guest OS启动速度秒级分钟级资源开销极低高约损耗 50%隔离性进程 / 资源隔离强系统级隔离存储大小MB 级GB 级补充知识点cgroup限制容器 CPU、内存、磁盘 IO 等资源防止资源抢占。namespace实现 PID、网络、挂载、用户等隔离让容器 “看起来像独立机器”。UnionFS联合文件系统Docker 镜像分层存储的基础支持复用、增量更新、节省空间。二、Docker 三大核心概念镜像Image只读模板分层存储是容器的 “安装包”。容器Container镜像的运行实例可启动 / 停止 / 删除自带可写层。仓库Registry集中存储镜像公共Docker Hub私有Harbor。补充知识点镜像分层复用不同镜像可共享底层层下载更快、占空间更小。容器 镜像 可读层删除容器不删除镜像。虚悬镜像无标签、无引用的镜像用docker images -f danglingtrue查看。三、CentOS 7/8 安装 Docker全代码 详细步骤1. 关闭防火墙与 SELinuxbash运行# 停止并禁用防火墙 systemctl stop firewalld systemctl disable firewalld # 临时关闭SELinux setenforce 0 # 永久关闭SELinux sed -i s/^SELINUXenforcing/SELINUXdisabled/ /etc/selinux/config2. 配置阿里云 Docker YUM 源bash运行# 下载repo文件 curl -o /etc/y.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 替换系统版本与架构适配CentOS 7/8 sed -i s/$releasever/8/g /etc/yum.repos.d/docker-ce.repo sed -i s/$basearch/x86_64/g /etc/yum.repos.d/docker-ce.repo3. 安装 Docker 引擎bash运行# 清空缓存并生成新缓存 dnf clean all dnf makecache # 安装Docker社区版 dnf -y install docker-ce4. 配置国内镜像加速关键bash运行# 创建docker配置目录 mkdir -p /etc/docker # 写入daemon.json镜像加速cgroup驱动 cat /etc/docker/daemon.json EOF { exec-opts: [native.cgroupdriversystemd], registry-mirrors: [ https://docker.m.daocloud.io, https://docker.imgdb.de, https://docker-0.unsee.tech, https://docker.hlmirror.com ] } EOF5. 启动并设置开机自启bash运行# 重载配置 systemctl daemon-reload # 启动Docker systemctl restart docker # 开机自启 systemctl enable docker # 验证安装 docker version6. 内核参数优化网络转发bash运行cat /etc/sysctl.conf EOF net.ipv4.ip_forward1 net.bridge.bridge-nf-call-iptables1 net.bridge.bridge-nf-call-ip6tables1 EOF # 生效配置 sysctl -p补充知识点native.cgroupdriversystemd保证 Docker 与系统资源管理一致避免稳定性问题。net.ipv4.ip_forward1开启 IP 转发让容器能访问外网和宿主机网络。四、Docker 镜像操作全命令 代码 知识点1. 拉取镜像bash运行# 拉取指定版本 docker pull nginx:1.24.0 # 拉取最新版默认latest docker pull nginx补充知识点不指定 TAG 默认拉取latest生产环境建议固定版本。镜像分层下载重复层不会重复下载。2. 查看本地镜像bash运行# 查看所有顶层镜像 docker images # 查看所有镜像含中间层 docker images -a # 只显示镜像ID docker images -q3. 查看镜像详细信息bash运行# 用ID或名称查看 docker inspect nginx:1.24.0补充知识点docker inspect返回 JSON可--format提取字段bash运行docker inspect --format {{.Architecture}} nginx:1.24.04. 给镜像打标签bash运行docker tag nginx:1.24.0 nginx:v1补充知识点tag不复制镜像只是添加别名多标签共享同一镜像 ID。5. 删除镜像bash运行# 按标签删除 docker rmi nginx:v1 # 按ID强制删除 docker rmi -f 镜像ID注意删除前必须停止并删除依赖该镜像的容器。6. 镜像导出 / 导入离线迁移bash运行# 导出为tar文件 docker save -o nginx.tar nginx:1.24.0 # 导入镜像 docker load nginx.tar补充知识点save/load保存完整分层与历史export/import只保留当前文件系统体积更小。五、Docker 容器操作全命令 代码 知识点1. 创建容器不启动bash运行docker create -it --name mycentos centos:72. 查看容器bash运行# 查看运行中容器 docker ps # 查看所有容器含停止 docker ps -a # 只看容器ID docker ps -q3. 启动容器bash运行docker start 容器ID/名称4. 创建并直接启动最常用bash运行# 后台运行Nginx端口映射8080→80 docker run -d --name mynginx -p 8080:80 nginx:1.24.0 # 交互式进入容器 docker run -it --name test centos:7 /bin/bash常用参数-d后台运行-p端口映射 宿主机容器-v挂载目录 宿主机容器--name指定容器名--cpus/-m限制 CPU / 内存5. 进入运行中的容器bash运行docker exec -it 容器ID /bin/bash补充知识点exec在运行中容器新开进程退出不停止容器。attach进入容器主进程退出会停止容器生产少用。6. 停止 / 重启容器bash运行# 优雅停止等待10秒 docker stop 容器ID # 强制停止 docker kill 容器ID # 重启 docker restart 容器ID7. 容器日志与状态bash运行# 查看日志 docker logs 容器ID # 实时查看日志 docker logs -f 容器ID # 查看资源占用 docker stats 容器ID8. 容器导出 / 导入bash运行# 导出容器文件系统 docker export 容器ID centos7.tar # 导入为新镜像 docker import centos7.tar centos7:test9. 删除容器bash运行# 删除已停止容器 docker rm 容器ID # 强制删除运行中容器 docker rm -f 容器ID # 批量删除所有已停止容器 docker rm -f $(docker ps -aq -f statusexited)六、Docker 数据卷补充知识点 常用命令核心作用容器数据持久化宿主机与容器、容器与容器共享数据容器删除数据卷不删除常用命令bash运行# 创建数据卷 docker volume create myvol # 查看数据卷 docker volume ls # 运行时挂载数据卷 docker run -d -v myvol:/data nginx # 删除无用数据卷 docker volume prune七、常用一键清理命令bash运行# 停止所有容器 docker stop $(docker ps -aq) # 删除所有容器 docker rm -f $(docker ps -aq) # 删除所有镜像 docker rmi -f $(docker images -q) # 清理无用资源镜像/容器/网络 docker system prune -a八、本章必懂补充知识点容器生命周期创建→启动→运行→停止→删除端口映射容器端口不直接暴露必须-p映射到宿主机。数据持久化默认容器删除数据丢失必须用-v数据卷。镜像分层每层只读共享复用构建 / 分发更快。生产最佳实践固定镜像 TAG、使用数据卷、限制资源、配置日志、定期清理。

相关文章:

容器技术入门与 Docker 环境部署

一、容器与 Docker 核心认知1. 什么是容器容器是操作系统层面的轻量级虚拟化,把应用、依赖、配置打包成独立运行单元,共享宿主机内核,实现环境一致性与资源隔离。2. 为什么用 Docker启动秒级,性能接近原生环境一次打包&#xff0c…...

Cursor深度解析:如何将编程Agent成功推向生产环境?收藏学习!

本文深入剖析Cursor如何将编程智能体(Agent)推向生产环境,涵盖从AI编程的三次浪潮到智能体系统的架构,重点解析生产环境挑战及解决方案,包括Diff问题、延迟叠加效应和规模化沙箱问题。Cursor通过混合专家架构、推测解码…...

百度网盘提取码智能获取工具:3分钟从搜索焦虑到一键解决的效率革命

百度网盘提取码智能获取工具:3分钟从搜索焦虑到一键解决的效率革命 【免费下载链接】baidupankey 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经为了一个百度网盘提取码,在浏览器、论坛、聊天记录之间反复切换&#xff0…...

2026年AI大模型API中转平台排名揭晓!这三家平台脱颖而出,助你开发无忧

在AI开发领域摸爬滚打多年,大家或许都遇到过各种闹心事儿。如今到了2026年,大模型的迭代速度让人目不暇接,像GPT-5.4、Claude 4.6、Gemini 3.1 Pro等每月都有更新。而API中转平台也如雨后春笋般涌现,为了帮助开发者们用上最新最强…...

终极桌面整理指南:如何使用NoFences免费打造高效工作空间

终极桌面整理指南:如何使用NoFences免费打造高效工作空间 【免费下载链接】NoFences 🚧 Open Source Stardock Fences alternative 项目地址: https://gitcode.com/gh_mirrors/no/NoFences 你是否厌倦了Windows桌面上杂乱无章的图标?重…...

XXL-Job单机模式玩出花:模拟集群、灰度发布与本地调试的三种实战技巧

XXL-Job单机模式玩出花:模拟集群、灰度发布与本地调试的三种实战技巧 在分布式任务调度领域,XXL-Job以其轻量级、易用性和强大的功能成为众多开发者的首选。然而,当大家的目光都聚焦在集群部署和分布式执行时,单机模式的价值往往被…...

Cursor AI液态玻璃主题:打造未来感代码编辑器的视觉美学与实战配置

1. 项目概述:当AI代码编辑器遇上液态玻璃美学如果你和我一样,每天有超过8小时的时间是与代码编辑器为伴,那么编辑器的视觉体验就绝不仅仅是“好看”那么简单。它直接关系到你的专注度、代码阅读的舒适度,甚至长时间工作后的疲劳感…...

Rime小狼毫的隐藏玩法:除了打字,还能用‘/’键快速输入符号、网址和颜文字

Rime小狼毫的隐藏玩法:除了打字,还能用‘/’键快速输入符号、网址和颜文字 在数字时代,键盘输入早已超越了简单的文字录入功能。对于追求效率的现代用户来说,每一次击键都应该是精准而富有意义的。Rime小狼毫输入法作为一款高度可…...

游戏服务器容器化部署:基于Docker的Archon镜像实战指南

1. 项目概述:一个为游戏服务器量身定制的容器化部署方案如果你和我一样,曾经被游戏服务器的部署、迁移和运维搞得焦头烂额,那么看到SufficientDaikon/archon这个项目,你可能会和我当初一样眼前一亮。这本质上是一个为特定游戏&…...

AISMM模型能否救活你的创新 pipeline?5分钟自测当前成熟度等级,超86%团队卡在Level 2.4→2.5死区

更多请点击: https://intelliparadigm.com 第一章:AISMM模型与产品创新能力 AISMM(Artificial Intelligence-enabled Software Maturity Model)是一种面向AI原生产品的成熟度评估框架,聚焦于将大模型能力深度融入软件…...

车载光通信芯片:行业现状、技术卡点与国产化实情

在汽车电子行业,我们正处于一个临界点。随着 EEA(电子电气架构)从分布式向中央计算迈进,传统的屏蔽双绞线在带宽、减重和 EMI(电磁干扰)上已经快走到头了。车载光通信不是什么新鲜概念,但现在&a…...

小红书上的“论文初稿一键生成”是智商税吗?

不知道你有没有过这种时刻?对着空白文档发呆两小时,文献堆了几十篇,下笔第一句就卡壳;大纲改了五六版,逻辑还是乱,降重改到崩溃,重复率死活降不下来;答辩 PPT 熬到凌晨,格…...

ArkTS:在自定义组件内不能使用function定义函数

例如,在自定义组件内,用function定义函数,出现告警:我现在将function定义的函数移到组件外边:进行组件预览,日志输出了结果:...

AOP底层:动态代理执行流程(“断点之谜“)

究极迷惑:在学习 Spring AOP 时,我们大多会记住切面、切点、通知这些概念,却始终对运行时到底发生了什么有困惑: 程序进方法时,先进代理对象还是先进原始方法? 为什么 在Debug模式下直接跳进我们写的业务代…...

Arduino实时硬件调试:Inline技术解析与应用

1. Arduino实时硬件调试的革命性突破在嵌入式开发领域,调试始终是最具挑战性的环节之一。传统Arduino开发者最熟悉的调试方式莫过于Serial.print()——在代码中插入大量打印语句,然后在串口监视器中观察输出。这种方法虽然简单直接,却存在几个…...

特斯拉Model 3/Y CAN总线DBC文件:3步掌握汽车数据解析的终极指南

特斯拉Model 3/Y CAN总线DBC文件:3步掌握汽车数据解析的终极指南 【免费下载链接】model3dbc DBC file for Tesla Model 3 CAN messages 项目地址: https://gitcode.com/gh_mirrors/mo/model3dbc 特斯拉Model 3/Y的CAN总线通讯协议是汽车电子开发者和技术爱好…...

NCMconverter终极指南:从加密NCM到通用音频格式的完整转换方案

NCMconverter终极指南:从加密NCM到通用音频格式的完整转换方案 【免费下载链接】NCMconverter NCMconverter将ncm文件转换为mp3或者flac文件 项目地址: https://gitcode.com/gh_mirrors/nc/NCMconverter 在数字音乐生态中,专有格式与开放标准的博…...

SRAM-CIM加速线性衰减脉冲神经网络的设计与实现

1. SRAM-CIM加速线性衰减脉冲神经网络的设计背景脉冲神经网络(SNN)作为第三代神经网络模型,其生物启发的特性使其在能效方面展现出显著优势。与传统人工神经网络不同,SNN采用基于事件的脉冲通信机制,这种异步处理方式能…...

区块链验证性能突破:ACE Runtime的O(1)验证技术解析

1. 区块链验证的性能瓶颈与突破方向在区块链技术栈中,交易验证环节是决定系统吞吐量和延迟的关键路径。传统区块链如比特币和以太坊采用"每交易一签名"(Per-Tx-Signature)模型,每个交易都需要独立验证ECDSA或Ed25519签名…...

3分钟掌握手机号码精准定位:开源工具location-to-phone-number完全指南

3分钟掌握手机号码精准定位:开源工具location-to-phone-number完全指南 【免费下载链接】location-to-phone-number This a project to search a location of a specified phone number, and locate the map to the phone number location. 项目地址: https://git…...

客流统计系统的实现,本质上是一个多模块视觉计算链路

传统方案的问题在于其输入信息单一,只能提供“触发信号”,无法支持行为级分析。因此当前主流实现逐渐转向基于 3D 双目视觉的方案。一、系统架构拆解典型架构分为四层:1. 数据采集层双目摄像头ToF深度传感器RGB Depth同步采集作用&#xff1…...

ARM1136JF-S处理器测试信号与功能变更解析

1. ARM1136JF-S处理器测试信号深度解析在嵌入式系统开发领域,处理器测试信号的理解和运用是硬件验证和调试的基础。ARM1136JF-S作为经典的ARM11系列处理器,其测试接口设计体现了ARM架构对可测试性的重视。让我们深入剖析这些关键信号及其应用场景。1.1 扫…...

ARM CP15协处理器详解:缓存、内存管理与系统控制

1. ARM系统控制协处理器(CP15)概述CP15是ARM架构中负责系统关键功能管理的协处理器,在ARM1136JF-S等处理器中扮演着核心角色。作为开发者,我们通过MRC/MCR指令与CP15交互,实现对底层硬件的精细控制。不同于通用寄存器,CP15寄存器组…...

sql数据库的导入导出【.sql文件格式】

sql数据库里的库怎么导给同事mysqldump -u root -p 库名 > 储存路径\储存文件名然后去你储存的路径里拿这个文件发出去,vchat qq都行怎么导入同事发来的.sql文件我的是Windows1.把文件储存到一个全英文目录2.进入cmd,启动mysql 在MySQL下敲命令3.创建一个新的库&…...

加速度计技术原理、类型与工业应用解析

1. 加速度计技术原理与工业应用全景在工业监测与测试领域,加速度计如同机械系统的"听诊器",通过捕捉微小的振动信号揭示设备健康状态。这类传感器基于牛顿第二定律(Fma)的核心原理工作:当传感器外壳随被测物…...

Vue3 v-model 双向绑定深度解析与实战避坑指南

v-model 在 Vue3 中依旧扮演着重要的角色,它简化了父子组件之间双向数据绑定的流程,极大地提升了开发效率。尤其是在处理表单元素,例如 input、textarea、select 等,以及自定义组件的数据同步时,v-model 的优势更为明显…...

Product Hunt 2025-10-03 每日热榜背后:技术架构深度剖析

Product Hunt 的每日热榜,对于很多开发者来说,是产品曝光和用户增长的绝佳机会。但对于 Product Hunt 本身,每日热榜也意味着巨大的流量冲击。尤其是在 2025-10-03 这种流量高峰日,如果后端架构不能承受,轻则影响用户体…...

#计算机毕设论文写到崩溃?AI自动生成万字初稿实测:从大纲到参考文献全流程解析(附查重降重技巧)

摘要:论文写作占据计算机毕业设计总周期的60%以上,是大多数应届生的真实痛点。本文从工程化视角拆解计算机毕设论文的结构性难点,实测AI辅助生成工具在论文大纲构建、技术章节撰写、参考文献匹配等环节的提效能力,并提供一套可落地…...

AI编程副驾驶实战指南:从提示词工程到代码审查的工程化协作

1. 项目概述:当AI成为你的编程副驾 如果你是一名开发者,最近几个月一定被各种AI编程工具刷屏了。从Copilot到Claude,再到各种本地模型,它们承诺能帮你写代码、改Bug、甚至重构整个项目。但说实话,刚上手时,…...

Linux文件系统揭秘:C语言视角下打开文件的深度管理与优化实践

在Linux操作系统中,对打开文件的管理至关重要。一个进程可以同时打开多个文件,例如Nginx服务器需要处理大量并发连接,每个连接都可能对应一个或多个文件描述符。如果对打开文件的管理不当,可能会导致文件描述符耗尽(fi…...