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

Docker Cheat Sheet:开发环境Docker配置最佳实践

Docker Cheat Sheet开发环境Docker配置最佳实践【免费下载链接】docker-cheat-sheetDocker Cheat Sheet项目地址: https://gitcode.com/gh_mirrors/do/docker-cheat-sheetDocker Cheat Sheet 是一份全面的 Docker 开发环境配置指南帮助开发者快速掌握容器化技术的核心操作与最佳实践。通过这份指南你将学习如何高效使用 Docker 构建、部署和管理应用提升开发效率并确保环境一致性。为什么选择 Docker使用 Docker开发者可以使用任何工具链以任何语言构建任何应用。Docker 化的应用完全可移植可在任何地方运行——同事的 OS X 和 Windows 笔记本电脑、云中运行 Ubuntu 的 QA 服务器以及运行 Red Hat 的生产数据中心 VM。开发者可以从 Docker Hub 上提供的 13,000 多个应用程序中选择一个开始快速上手。Docker 管理和跟踪更改及依赖关系使系统管理员更容易理解开发人员构建的应用程序的工作方式。通过 Docker Hub开发人员可以自动化其构建管道并通过公共或私有存储库与协作者共享工件。系统要求与安装指南系统要求Linux3.10.x 内核是 Docker 的最低要求macOS10.8 Mountain Lion 或更高版本Windows 10必须在 BIOS 中启用 Hyper-VIntel 处理器还需启用 VT-DWindows ServerWindows Server 2016 是最低版本要求推荐使用 Windows Server 2019 及更高版本安装步骤Linux 安装运行 Docker 提供的快速安装脚本curl -sSL https://get.docker.com/ | shmacOS 安装如果你使用 Homebrew-Cask只需输入brew install --cask docker。或者下载并安装 Docker Community Edition。安装完成后点击启动台中的 docker 图标然后启动容器docker run hello-worldWindows 安装Windows 10 用户可参考 Docker Desktop for Windows 安装指南。安装完成后以管理员身份打开 powershell 并运行# 显示已安装的 docker 版本 docker version # 拉取、创建并运行 hello-world docker run hello-world检查 Docker 版本了解当前运行的 Docker 版本非常重要这有助于了解哪些功能与你运行的版本兼容$ docker version --format {{.Server.Version}} 1.8.0容器基本操作容器是 Docker 的基本隔离单元可以将其视为轻量级的虚拟机。以下是容器的核心操作容器生命周期docker create创建容器但不启动它docker run创建并启动容器docker start/docker stop启动/停止容器docker rm删除容器通常如果运行容器时没有选项它会立即启动并停止。如果希望保持容器运行可以使用命令docker run -td container_id其中-t选项会分配一个伪 TTY 会话-d选项会自动分离容器在后台运行容器并打印容器 ID。如果你需要一个临时容器可以使用docker run --rm它会在容器停止后自动删除容器。容器资源限制你可以限制容器的 CPU 和内存使用以确保系统资源的合理分配CPU 限制# 限制 CPU 使用率为 50% docker run -it -c 512 agileek/cpuset-test # 仅使用特定 CPU 核心 docker run -it --cpuset-cpus0,4,6 agileek/cpuset-test内存限制# 限制内存使用为 300M docker run -it -m 300M ubuntu:14.04 /bin/bash容器信息查看docker ps显示运行中的容器docker logs获取容器日志docker inspect查看容器详细信息包括 IP 地址docker port显示容器的公共端口docker top显示容器中运行的进程docker stats显示容器的资源使用统计信息使用docker ps -a可以显示所有运行中和已停止的容器。要查看所有容器的资源使用情况可以使用docker stats --all。容器网络配置Docker 提供了强大的网络功能允许容器之间以及容器与外部世界之间进行通信。Docker 安装后会自动创建三个网络接口bridge、host 和 none。默认情况下新容器会启动到 bridge 网络中。网络操作docker network create创建新网络docker network rm删除网络docker network ls列出网络docker network inspect查看网络详细信息docker network connect将容器连接到网络docker network disconnect将容器与网络断开连接你可以为容器指定特定的 IP 地址# 创建一个具有子网和网关的新桥接网络 docker network create --subnet 203.0.113.0/24 --gateway 203.0.113.254 iptastic # 使用该网络中特定的 IP 运行 nginx 容器 docker run --rm -it --net iptastic --ip 203.0.113.2 nginx数据持久化与卷管理Docker 卷是独立的文件系统可以在容器之间共享和重用。它们不需要连接到特定的容器非常适合存储需要持久化的数据。卷操作docker volume create创建卷docker volume rm删除卷docker volume ls列出卷docker volume inspect查看卷详细信息你可以将主机目录挂载为 Docker 卷docker run -v /Users/wsargent/myapp/src:/src卷还可以用于在多个容器之间共享数据。例如你可以使用docker run --volumes-from命令将一个容器的卷挂载到另一个容器中。图Docker 提交更改界面展示了如何在 Markdown 中编辑文档并创建拉取请求镜像管理镜像是 Docker 容器的模板。了解如何管理镜像是使用 Docker 的基础。镜像生命周期docker images显示所有镜像docker build从 Dockerfile 创建镜像docker pull从仓库拉取镜像docker push将镜像推送到仓库docker rmi删除镜像镜像导入/导出# 从文件加载镜像 docker load my_image.tar.gz # 保存现有镜像 docker save my_image:my_tag | gzip my_image.tar.gz镜像清理随着时间的推移系统中可能会积累大量未使用的镜像。你可以使用以下命令清理它们# 删除悬空镜像 docker rmi $(docker images -q -f danglingtrue) # 删除所有镜像 docker rmi $(docker images -q)Dockerfile 最佳实践Dockerfile 是用于构建 Docker 镜像的配置文件。编写高效的 Dockerfile 可以显著提高镜像质量和构建速度。常用指令FROM设置基础镜像RUN执行命令并提交结果CMD为执行容器提供默认值EXPOSE声明容器在运行时监听的端口ENV设置环境变量COPY复制文件或目录到容器WORKDIR设置工作目录USER设置运行后续命令的用户优化技巧合并 RUN 指令将多个 RUN 指令合并为一个以减少镜像层数RUN {apt commands} \ apt-get clean \ rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*使用 .dockerignore 文件排除不需要的文件减小镜像大小选择合适的基础镜像使用 Alpine 等轻量级基础镜像可以显著减小镜像大小设置适当的用户避免使用 root 用户运行容器提高安全性RUN groupadd -r user useradd -r -g user user USER userDocker Compose 应用编排Docker Compose 是用于定义和运行多容器 Docker 应用程序的工具。使用 YAML 文件配置应用程序的服务然后使用单个命令创建和启动所有服务。基本使用# 启动应用 docker-compose -f docker-compose-file up # 后台运行 docker-compose -f docker-compose-file up -d # 停止服务 docker-compose stop # 停止并删除容器、网络 docker-compose down图Docker 创建拉取请求界面展示了如何提交更改并创建拉取请求安全最佳实践Docker 安全是生产环境中必须考虑的重要因素。以下是一些基本的安全最佳实践使用非 root 用户在 Dockerfile 中创建并使用普通用户限制容器权限使用--read-only选项使容器文件系统只读docker run --read-only设置资源限制限制容器的 CPU、内存和 PID 数量docker run --pids-limit64 --memory512m使用安全选项防止进程获取新权限docker run --security-optno-new-privileges验证镜像使用哈希值验证镜像完整性docker pull debiansha256:a25306f3850e1bd44541976aa7b5fd0a29be实用技巧与故障排除容器资源监控# 检查单个容器的资源使用情况 docker stats container # 检查所有容器的资源使用情况 docker stats $(docker ps -q)清理命令# 删除所有运行中的容器 docker kill $(docker ps -q) # 删除所有容器强制删除运行中或已停止的容器 docker rm -f $(docker ps -qa) # 删除停止的容器 docker rm -v $(docker ps -a -q -f statusexited) # 删除悬空卷 docker volume rm $(docker volume ls -q -f danglingtrue)获取容器 IP 地址docker inspect -f {{ .NetworkSettings.IPAddress }} container_name查看端口映射docker inspect -f {{range $p, $conf : .NetworkSettings.Ports}} {{$p}} - {{(index $conf 0).HostPort}} {{end}} containername通过掌握这些 Docker 核心概念和操作技巧你将能够构建高效、安全的容器化应用。无论是开发环境配置还是生产部署Docker Cheat Sheet 都能为你提供实用的指导和最佳实践。开始你的 Docker 之旅吧【免费下载链接】docker-cheat-sheetDocker Cheat Sheet项目地址: https://gitcode.com/gh_mirrors/do/docker-cheat-sheet创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关文章:

Docker Cheat Sheet:开发环境Docker配置最佳实践

Docker Cheat Sheet:开发环境Docker配置最佳实践 【免费下载链接】docker-cheat-sheet Docker Cheat Sheet 项目地址: https://gitcode.com/gh_mirrors/do/docker-cheat-sheet Docker Cheat Sheet 是一份全面的 Docker 开发环境配置指南,帮助开发…...

2026年苹果系统将推“Extensions”功能,AI服务选择不再局限于ChatGPT!

苹果2026年系统更新:引入“Extensions”功能据MacRumors报道,苹果计划在2026年秋季发布的iOS 27、iPadOS 27及macOS 27系统中,引入名为“Extensions”的新功能。该功能允许用户为Apple Intelligence的各项功能自主选择第三方AI服务&#xff0…...

如何用lunar-javascript轻松搞定农历计算?完整指南

如何用lunar-javascript轻松搞定农历计算?完整指南 【免费下载链接】lunar-javascript 日历、公历(阳历)、农历(阴历、老黄历)、佛历、道历,支持节假日、星座、儒略日、干支、生肖、节气、节日、彭祖百忌、每日宜忌、吉神宜趋凶煞宜忌、吉神(喜神/福神/财…...

AI辅助量子编程:让快马平台的Kimi帮你自动生成与优化qclaw搜索算法代码

量子计算作为前沿技术,其编程门槛一直让很多开发者望而却步。最近我在尝试用qclaw实现Grover搜索算法时,发现InsCode(快马)平台的AI辅助功能特别实用,今天就分享下如何用平台的Kimi模型快速完成量子算法开发的全流程。 自然语言转量子代码 刚…...

手把手教你用Vivado 2019.1在Kintex-7上搭建10G UDP数据回环测试平台(含SFP光口配置)

Kintex-7 FPGA实战:10G以太网UDP数据回环测试平台全流程解析 当我们需要在FPGA上实现高速网络通信时,10G以太网无疑是一个极具吸引力的选择。本文将带您从零开始,在Kintex-7 FPGA平台上搭建完整的10G UDP数据回环测试环境,涵盖从硬…...

DesignPatternsPHP:PHP开发者必备的设计模式百科全书

DesignPatternsPHP:PHP开发者必备的设计模式百科全书 【免费下载链接】DesignPatternsPHP Sample code for several design patterns in PHP 8.x 项目地址: https://gitcode.com/gh_mirrors/de/DesignPatternsPHP DesignPatternsPHP 是一个专注于PHP 8.x设计…...

新手福音:在快马平台用自然语言生成mpu6050驱动详解与实战代码

作为一个刚接触嵌入式开发的新手,第一次用MPU6050传感器时确实踩了不少坑。这个六轴运动处理单元能同时测量加速度和角速度,但寄存器配置和数据解析对初学者来说就像天书。最近在InsCode(快马)平台尝试用自然语言生成驱动代码,发现整个过程变…...

智能体技能库设计:模块化、安全与高性能实践

1. 项目概述:从“技能”视角重新审视智能体开发最近在GitHub上看到一个名为“agent-skills”的项目,作者是jdrhyne。这个项目名本身就很有意思,它没有直接叫“agent-framework”或者“agent-tools”,而是聚焦于“skills”——技能…...

报关单填错被退单,真不是关务员不用心

一份报关单 50 多个字段,HS 编码、品名规格、成交方式、箱型港口,随便填错一个,海关系统直接退单。退单之后重新整理资料、修改字段、再次提交,快的两三天,赶上船期紧张就是一周起步。 这不是个别企业的倒霉事&#x…...

Docker跨架构调试秘钥(strace + binfmt_misc + buildx bake三件套组合技),解决“exec format error”于5分钟内

更多请点击: https://intelliparadigm.com 第一章:Docker跨架构调试秘钥总览 Docker 跨架构调试的核心在于镜像兼容性、运行时模拟与构建上下文的精准控制。当在 x86_64 主机上调试 ARM64 容器(如树莓派或 Apple Silicon 应用)&…...

AI回答太冗长?我设计了三段式流式显示让信息层次分明

我是张大鹏,做了十多年人工智能,带过不少项目。说实话,最难的不是让AI生成正确的答案,是让答案以正确的方式呈现给用户。最近Claude 3.7推出了extended thinking模式,OpenAI的o系列也在做类似的事情——让AI的推理过程…...

DesignPatternsPHP:工厂方法模式实战应用场景终极指南

DesignPatternsPHP:工厂方法模式实战应用场景终极指南 【免费下载链接】DesignPatternsPHP Sample code for several design patterns in PHP 8.x 项目地址: https://gitcode.com/gh_mirrors/de/DesignPatternsPHP 工厂方法模式是PHP开发中最实用的设计模式之…...

5分钟掌握批量照片水印添加:摄影师的智能EXIF信息处理利器

5分钟掌握批量照片水印添加:摄影师的智能EXIF信息处理利器 【免费下载链接】semi-utils 一个批量添加相机机型和拍摄参数的工具,后续「可能」添加其他功能。 项目地址: https://gitcode.com/gh_mirrors/se/semi-utils 摄影爱好者和专业摄影师经常…...

大模型幻觉深度解析:成因、落地危害与工程级解决方案

一、前言当下生成式AI大模型已经全面落地到企业知识库、智能问答、代码生成、文案创作、数据分析等各类开发场景。但绝大多数开发者在项目落地中都会遇到一个共性难题:大模型看似输出流畅、逻辑通顺,但频繁出现事实错误、编造数据、杜撰案例和专业结论。…...

AI开发新范式:在快马平台用Kimi模型辅助设计多智能体协作系统架构

最近在尝试用AI辅助开发一个多智能体协作系统,发现整个过程比想象中顺利很多。特别是在InsCode(快马)平台上,借助集成的Kimi模型,可以很高效地完成从架构设计到代码实现的全流程。这里分享一下我的实践过程,希望对想尝试AI辅助开发…...

基于MCP协议构建安全可控的AI浏览器自动化工具

1. 项目概述:一个让AI安全“上网”的桥梁最近在折腾AI应用开发,特别是想让大语言模型(LLM)能像人一样操作浏览器,去获取实时信息、执行网页任务。这听起来很酷,但实际操作起来,安全性和可控性是…...

ExcelJS终极指南:JavaScript电子表格处理的完整解决方案

ExcelJS终极指南:JavaScript电子表格处理的完整解决方案 【免费下载链接】exceljs Excel Workbook Manager 项目地址: https://gitcode.com/gh_mirrors/ex/exceljs ExcelJS是一款功能强大的JavaScript电子表格处理库,它允许开发者在浏览器和Node.…...

3分钟上手:用easy-topo绘制专业网络拓扑图

3分钟上手:用easy-topo绘制专业网络拓扑图 【免费下载链接】easy-topo vuesvgelement-ui 快捷画出网络拓扑图 项目地址: https://gitcode.com/gh_mirrors/ea/easy-topo 还在为绘制复杂的网络架构图而烦恼吗?easy-topo来帮你!这是一个基…...

3个步骤将Obsidian升级为智能知识助手:obsidian-copilot终极指南

3个步骤将Obsidian升级为智能知识助手:obsidian-copilot终极指南 【免费下载链接】obsidian-copilot THE Copilot in Obsidian 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-copilot 在信息过载的时代,我们每天处理海量笔记却难以高效提…...

Docker Cheat Sheet:数据一致性保障策略终极指南

Docker Cheat Sheet:数据一致性保障策略终极指南 【免费下载链接】docker-cheat-sheet Docker Cheat Sheet 项目地址: https://gitcode.com/gh_mirrors/do/docker-cheat-sheet Docker Cheat Sheet是一份全面的Docker使用指南,涵盖从基础安装到高级…...

OpenCV C++ KNN模型训练避坑指南:从制作自己的手写数字数据集到保存model.xml

OpenCV C KNN模型训练实战:从手写数字识别到工业级部署的完整指南 在计算机视觉领域,手写字符识别一直是验证机器学习算法有效性的经典案例。不同于直接调用现成的MNIST数据集,从零开始构建自己的手写数字识别系统能够让我们深入理解机器学习…...

英派药业开启招股:拟募资9亿港元 5月13日上市 腾讯与药明康德加持

雷递网 雷建平 5月5日南京英派药业股份有限公司(简称:“英派药业”,股票代码:“07630”)日前开启招股,准备2026年5月13日在港交所上市。英派药业发行区间为每股19.75港元至21.75港元,发行4197.7…...

图神经网络:复杂关系数据分析的终极指南

图神经网络:复杂关系数据分析的终极指南 【免费下载链接】fastbook The fastai book, published as Jupyter Notebooks 项目地址: https://gitcode.com/gh_mirrors/fa/fastbook 图神经网络(GNN)是一种专门处理图结构数据的深度学习模型…...

【MCP 2026边缘部署性能优化黄金五步法】:20年一线架构师亲授,避开92%团队踩过的实时推理延迟陷阱

更多请点击: https://intelliparadigm.com 第一章:MCP 2026边缘部署性能优化的底层逻辑与范式跃迁 MCP 2026(Model Control Plane 2026)并非简单延续传统云原生调度范式,而是以“确定性时延契约”为第一性原理重构边缘…...

终极指南:一键合并B站缓存视频,完整保留弹幕体验

终极指南:一键合并B站缓存视频,完整保留弹幕体验 【免费下载链接】BilibiliCacheVideoMerge 🔥🔥Android上将bilibili缓存视频合并导出为mp4,支持安卓5.0 ~ 13,视频挂载弹幕播放(Android consolidates and …...

【油浸式变压器】在不同气候条件下的油浸式变压器的能量极限研究附Matlab代码

​✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、程序设计科研仿真。 🍎完整代码获取 定制创新 论文复现点击:Matlab科研工作室 👇 关注我领取海量matlab电子书和数学建模资料 &am…...

别再手动贴标签了!用BarTender 2021直连MySQL数据库,批量打印带二维码的标签(保姆级图文教程)

从数据到标签:BarTender 2021与MySQL深度整合实战指南 在仓库管理、电商运营和生产线等场景中,标签打印是日常工作中不可或缺的一环。传统的手动输入方式不仅效率低下,还容易出错——一个数字的错位可能导致整个批次标签作废。想象一下&#…...

HuggingChat macOS:终极AI聊天助手,一键开启桌面智能对话革命

HuggingChat macOS:终极AI聊天助手,一键开启桌面智能对话革命 【免费下载链接】chat-macOS Making the communitys best AI chat models available to everyone. 项目地址: https://gitcode.com/gh_mirrors/ch/chat-macOS HuggingChat macOS是一款…...

别再只调参了!用EfficientNetV2-S在PyTorch上实现渐进式学习,让你的图像分类模型训练快3倍

高效图像分类实战:用EfficientNetV2-S实现三倍速训练的渐进式学习策略 当你在深夜盯着缓慢下降的损失曲线,看着GPU利用率波动却无法提升batch size时,是否想过——那些被我们忽视的训练策略可能比模型架构更能决定最终效率?Effici…...

网盘直链下载终极指南:告别限速,拥抱全平台高速下载新时代

网盘直链下载终极指南:告别限速,拥抱全平台高速下载新时代 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国…...