Docker 速通(总结)

news2025/3/21 3:41:00

Docker 命令

镜像
  • docker build: 从 Dockerfile 构建镜像。
  • docker pull: 从 Docker Hub 或其他注册表拉取镜像。
  • docker push: 将镜像推送到 Docker Hub 或其他注册表。
  • docker images: 列出本地镜像。
  • docker rmi: 删除本地镜像。
容器
  • docker run: 创建并启动一个新的容器。
  • docker start: 启动一个已停止的容器。
  • docker stop: 停止一个正在运行的容器。
  • docker ps: 列出正在运行的容器(-a 参数列出所有容器)。
  • docker exec: 在运行的容器中执行命令。
  • docker rm: 删除一个或多个容器。
  • docker logs: 查看容器的日志输出。
参数
  • -d: 后台运行容器。
  • -p: 端口映射(例如:-p 8080:80)。
  • -v: 挂载卷或目录(例如:-v /host/path:/container/path)。
  • -e: 设置环境变量(例如:-e MY_VAR=value)。
  • --name: 为容器指定名称。
  • --network: 连接到自定义网络。

存储

目录挂载
  • -v /host/path:/container/path: 将主机上的目录挂载到容器中的指定路径。
  • -v /host/file:/container/file: 将主机上的文件挂载到容器中的指定路径。
卷映射
  • -v my_volume:/container/path: 使用命名卷将数据持久化。
  • docker volume create my_volume: 创建一个新的卷。
  • docker volume ls: 列出所有卷。
  • docker volume rm my_volume: 删除卷。

网络

自定义网络
  • docker network create my_network: 创建一个新的自定义网络。
  • docker network ls: 列出所有网络。
  • docker network inspect my_network: 查看网络的详细信息。
  • docker network connect my_network my_container: 将容器连接到自定义网络。
  • docker network disconnect my_network my_container: 将容器从自定义网络断开。

Compose

语法
  • version: 指定 Compose 文件格式的版本(例如:version: '3.8')。
  • services: 定义服务(例如:db, web)。
  • image: 指定基础镜像。
  • build: 指定构建上下文和 Dockerfile。
  • ports: 端口映射(例如:- "8080:80")。
  • volumes: 挂载卷或目录(例如:- "/host/path:/container/path")。
  • environment: 设置环境变量(例如:- "MY_VAR=value")。
  • depends_on: 依赖关系(例如:- db)。
  • networks: 连接到自定义网络。
  • restart: 重启策略(例如:unless-stopped)。
命令
  • docker-compose up -d: 后台启动服务。
  • docker-compose down: 停止并删除服务。
  • docker-compose ps: 列出服务状态。
  • docker-compose restart <service_name>: 重启服务。
  • docker-compose build: 重新构建服务。
  • docker-compose config: 检查配置文件的有效性。
  • docker-compose logs <service_name>: 查看服务日志。

Dockerfile

指令
  • FROM: 指定基础镜像(例如:FROM python:3.9-slim)。
  • WORKDIR: 设置工作目录(例如:WORKDIR /app)。
  • RUN: 执行命令并创建新的镜像层(例如:RUN pip install -r requirements.txt)。
  • COPY: 复制文件或目录(例如:COPY . /app)。
  • ADD: 类似于 COPY,但支持自动解压压缩文件(例如:ADD myapp.tar.gz /app)。
  • ENV: 设置环境变量(例如:ENV MY_ENV_VAR=my_value)。
  • EXPOSE: 声明容器运行时需要监听的端口(例如:EXPOSE 8000)。
  • CMD: 指定容器启动时要运行的默认命令(例如:CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"])。
  • ENTRYPOINT: 指定容器启动时要运行的命令(例如:ENTRYPOINT ["uwsgi", "--ini", "uwsgi.ini"])。
  • VOLUME: 创建挂载点(例如:VOLUME /data)。

Docker 的分层存储机制

  • 镜像层:Docker 镜像是由一系列只读层组成的。每一层都是前一层的增量修改。
  • 写时复制 (Copy-on-Write, CoW):当容器运行时,Docker 会创建一个可写层来保存所有的更改。只读层保持不变,只有在写操作发生时才会创建新的层。
  • 联合文件系统 (UnionFS):Docker 使用联合文件系统来管理这些层,使得多层文件系统可以合并成一个统一的视图。
  • 缓存:Docker 构建过程中,如果某一层没有变化,Docker 会使用之前的缓存层,从而加快构建速度。

总结

  • Docker 命令:用于管理镜像和容器的基本命令。
  • 存储:通过目录挂载和卷映射实现数据持久化。
  • 网络:自定义网络使容器间通信更灵活。
  • Compose:简化多容器应用的管理和部署。
  • Dockerfile:定义如何构建镜像的脚本。
  • 分层存储机制:提高构建效率和资源利用率。

希望这些总结对你有所帮助!如果你有任何问题,请随时提问。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Object 转 JSONObject 并排除null和““字符串

public static JSONObject objToJSONObject(Object obj) throws Exception{//创建一个 HashMap 对象 map&#xff0c;用于存储对象的属性名和属性值。//key 是属性名&#xff08;String 类型&#xff09;&#xff0c;value 是属性值&#xff08;Object 类型&#xff09;Map<…

mysql5.7主从部署(docker-compose版本)

mysql5.7主从部署&#xff08;docker-compose版本&#xff09; 1:docker-compose-test.yml 文件信息 version: 3services:# MySQL 数据库mysql-master:image: mysql:5.7container_name: mysql-masterenvironment:MYSQL_ROOT_PASSWORD: 123456MYSQL_DATABASE: nacosports:- 23…

Java+Html实现前后端客服聊天

文章目录 核心组件网络通信层事件调度层服务编排层 Spring实现客服聊天技术方案对比WebScoket建立连接用户上线实现指定用户私聊群聊离线 SpringBootWebSocketHtmljQuery实现客服聊天1. 目录结构2. 配置类3. 实体类、service、controller4. ChatWebSocketHandler消息处理5.前端…

解锁 DeepSeek 安全接入、稳定运行新路径

背景 目前&#xff0c;和 DeepSeek 相关的需求总结为两类&#xff1a; 因官方 APP/Web 服务经常无法返回结果&#xff0c;各类云厂商、硬件或软件企业提供满血版或蒸馏版的 API 算力服务&#xff0c;还有不少基于开源家用计算和存储设备的本地部署方案&#xff0c;以分担 De…

【LangChain入门 1】安装

文章目录 一、安装LangChain二、安装Ollama三、Ollama下载DeepSeekR1-7b模型 本学习系列以Ollama推理后端作为大语言模型&#xff0c;展开对LangChain框架的入门学习。 模型采用deepseek-r1:7b。 毕竟是免费开源的&#xff0c;下载过程耐心等待即可。 如果可以连接外网&#x…

IvorySQL 增量备份与合并增量备份功能解析

1. 概述 IvorySQL v4 引入了块级增量备份和增量备份合并功能&#xff0c;旨在优化数据库备份与恢复流程。通过 pg_basebackup 工具支持增量备份&#xff0c;显著降低了存储需求和备份时间。同时&#xff0c;pg_combinebackup 工具能够将多个增量备份合并为单个完整备份&#x…

【css酷炫效果】纯CSS实现故障文字特效

【css酷炫效果】纯CSS实现故障文字特效 缘创作背景html结构css样式完整代码基础版进阶版(3D效果) 效果图 想直接拿走的老板&#xff0c;链接放在这里&#xff1a;https://download.csdn.net/download/u011561335/90492053 缘 创作随缘&#xff0c;不定时更新。 创作背景 刚…

SpringSecurity配置(自定义认证过滤器)

文末有本篇文章的项目源码文件可供下载学习 在这个案例中,我们已经实现了自定义登录URI的操作,登录成功之后,我们再次访问后端中的API的时候要在请求头中携带token,此时的token是jwt字符串,我们需要将该jwt字符串进行解析,查看解析后的User对象是否处于登录状态.登录状态下,将…

设计模式(行为型)-备忘录模式

目录 定义 类图 角色 角色详解 &#xff08;一&#xff09;发起人角色&#xff08;Originator&#xff09;​ &#xff08;二&#xff09;备忘录角色&#xff08;Memento&#xff09;​ &#xff08;三&#xff09;备忘录管理员角色&#xff08;Caretaker&#xff09;​…

Advanced Intelligent Systems 软体机器手助力截肢者玩转鼠标

随着科技的不断进步&#xff0c;假肢技术在改善截肢者生活质量方面取得了显著成就。然而&#xff0c;截肢群体在就业方面仍面临巨大困难&#xff0c;适龄截肢群体的就业率仅为健全群体的一半。现有的肌电控制假肢手在与计算机交互时存在诸多挑战&#xff0c;特别是截肢者在使用…

每日Attention学习27——Patch-based Graph Reasoning

模块出处 [NC 25] [link] Graph-based context learning network for infrared small target detection 模块名称 Patch-based Graph Reasoning (PGR) 模块结构 模块特点 使用图结构更好的捕捉特征的全局上下文将图结构与特征切片(Patching)相结合&#xff0c;从而促进全局/…

深圳南柯电子|医疗设备EMC检测测试整改:保障患者安全的第一步

在医疗设备领域&#xff0c;电磁兼容性&#xff08;EMC&#xff09;是确保设备安全、有效运行的关键指标。随着医疗技术的飞速发展&#xff0c;医疗设备日益复杂&#xff0c;其电磁环境也愈发复杂多变。EMC检测测试及整改因此成为医疗设备研发、生产、销售过程中不可或缺的一环…

【笔记】计算机网络——数据链路层

概述 链路是从一个结点到相邻结点的物理路线&#xff0c;数据链路则是在链路的基础上增加了一些必要的硬件和软件实现 数据链路层位于物理层和网络层之间&#xff0c;它的核心任务是在直接相连的节点&#xff08;如相邻的交换机&#xff0c;路由器&#xff09;之间提供可靠且…

STM32-汇编

学习arm汇编的主要目的是为了编写arm启动代码&#xff0c;启动代码启动以后&#xff0c;引导程序到c语言环境下运行。换句话说启动代码的目的是为了在处理器复位以后搭建c语言最基本的需求。因此启动代码的主要任务有&#xff1a; 初始化异常向量表&#xff1b; 初始化各工作模…

利用通义灵码AI在VS Code中快速开发扫雷游戏:Qwen2.5-Max模型的应用实例

引言 随着人工智能技术的不断进步&#xff0c;开发过程中的自动化程度也在逐步提高。阿里云推出的通义灵码AI程序员&#xff0c;作为一款创新型的智能编程助手&#xff0c;现已全面上线并兼容VS Code、JetBrains IDEs等多种开发环境。本文将介绍如何利用最新的Qwen2.5-Max模型…

202503执行jmeter压测数据库(ScyllaDB,redis,lindorm,Mysql)

一、Mysql 1 、 准备MySQL 连接内容 2 、 下载连接jar包 准备 mysql-connector-java-5.1.49.jar 放到 D:\apache-jmeter-5.6.3\lib\ext 目录下面; 3 、 启动jmeter ,配置脚本 添加线程组---》JDBC Connection Configuration---》JDBC Request---》查看结果树。 1)测…

以太网 MAC 帧格式

文章目录 以太网 MAC 帧格式以太网帧间隔参考 本文为笔者学习以太网对网上资料归纳整理所做的笔记&#xff0c;文末均附有参考链接&#xff0c;如侵权&#xff0c;请联系删除。 以太网 MAC 帧格式 以太网技术的正式标准是 IEEE 802.3&#xff0c;它规定了以太网传输数据的帧结…

【PCB工艺】基础:电子元器件

电子原理图&#xff08;Schematic Diagram&#xff09;是电路设计的基础&#xff0c;理解电子元器件和集成电路&#xff08;IC&#xff09;的作用&#xff0c;是画好原理图的关键。 本专栏将系统讲解 电子元器件分类、常见 IC、电路设计技巧&#xff0c;帮助你快速掌握电子电路…

从WebRTC到嵌入式:EasyRTC如何借助大模型提升音视频通信体验

随着人工智能技术的快速发展&#xff0c;WebRTC与大模型的结合正在为音视频通信领域带来革命性的变革。WebRTC作为一种开源实时通信技术&#xff0c;以其低延迟、跨平台兼容性和强大的音视频处理能力&#xff0c;成为智能硬件和物联网设备的重要技术支撑。 而EasyRTC作为基于W…

前端样式库推广——TailwindCss

官方网址&#xff1a; https://tailwindcss.com/docs/installation/using-vite 中文官方文档&#xff1a;https://www.tailwindcss.cn/ github地址&#xff1a;tailwindcss 正在使用tailwindcss的网站&#xff1a;https://tailwindcss.com/showcase 一看github&#xff0c;竟然…