Docker训练营(五)-Docker容器监控与管理
在本章节中,我们将学习如何有效地监控和管理 Docker 容器,包括使用命令行工具和图形化界面(Portainer)进行容器管理。
注意: 该部分所需要的容器我们可以利用上一节 docker compose 出来的容器来演示。
1. 容器管理基础1.1 容器生命周期管理以下是一些最常用的容器管理命令:
1234567891011121314151617181920# 列出所有容器(包括停止的容器)docker ps -a# 仅列出运行中的容器docker ps# 启动容器docker start <container_id># 停止容器docker stop <container_id># 重启容器docker restart <container_id># 删除容器(需要先停止)docker rm <container_id># 强制删除运行中的容器docker rm -f <container_id>
1.2 容器资源监控Docker 提供了多种方式来监控容器的资源使用情况:
1234567891011# 实时查看容器资 ...
Docker训练营(四)-容器编排之Docker_Compose
1. 从单容器到容器编排在前面的课程中,我们学习了如何使用 Docker 容器来运行单个服务。通过 docker run 命令,我们可以快速启动一个数据库、一个 Web 服务器或者一个缓存服务。这种方式在开发简单应用时非常有效。然而,随着应用架构的演进,微服务的理念逐渐流行,一个应用可能由多个相互依赖的服务组成。如果继续使用单容器管理方式,我们需要手动管理容器间的网络连接、存储卷映射、环境变量配置等,这不仅增加了运维的复杂度,还容易因手动操作而出错。
这就是为什么我们需要一个更高层次的工具来管理多容器应用。Docker Compose 应运而生,它通过一个声明式的 YAML 配置文件,帮助我们定义和管理多容器应用。通过 Docker Compose,我们可以用一个命令就完成整个应用的部署,而不需要手动管理每个容器。
2. Docker Compose 核心概念Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。使用 Compose,你可以通过一个 YAML 文件来配置应用程序的所有服务,然后使用一个命令来创建和启动所有服务。
2.1 主要概念
服务 ...
Docker训练营(三)-Docker网络管理
Docker 网络是容器通信的基础设施,它使容器能够安全地进行互联互通。在 Docker 中,每个容器都可以被分配到一个或多个网络中,容器可以通过网络进行通信,就像物理机或虚拟机在网络中通信一样。
Docker 网络命令详解在开始学习不同类型的网络之前,我们先来了解一下 Docker 的常用网络命令:
1234567891011121314151617181920# 列出所有网络docker network ls# 检查网络详情docker network inspect <network-name># 创建自定义网络docker network create [options] <network-name># 将容器连接到网络docker network connect <network-name> <container-name># 断开容器与网络的连接docker network disconnect <network-name> <container-name># 删除网络docker network rm ...
Docker训练营(二)-Docker存储管理
Docker 容器在运行时会产生大量数据,这些数据如何持久化和管理是一个重要的话题。本节我们将通过一个 Nginx Web 服务器的案例,来深入探讨 Docker 的三种数据管理方式。
Docker 存储基础Docker 提供了三种主要的数据管理方式:
默认存储:容器内的数据随容器删除而丢失
Volumes(卷):由 Docker 管理的持久化存储空间,完全独立于容器的生命周期
Bind Mounts(绑定挂载):将主机上的目录或文件直接挂载到容器中
让我们通过一个 Nginx Web 服务器的例子来理解这三种方式的区别。我们将在每种方式下执行相同的操作:创建一个 HTML 文件,然后测试数据的持久性。
场景一:默认存储(非持久化)在这个场景中,我们直接在容器内创建文件,看看数据会发生什么:
1234567891011121314151617# 运行一个 nginx 容器docker run -d --name web-default -p 8080:80 nginx# 在容器中创建一个测试页面docker exec -it web-default sh -c 'echo ...
Docker训练营(一)-Docker基础
Docker前置核心概念【核心概念解析】
镜像(Image):
比喻:你可以把镜像想象成一个制作蛋糕的“模具”,或者一个电脑的“操作系统安装包”。它是一个只读的模板,里面包含了运行一个应用程序所需的所有东西:代码、运行时环境(比如 Python、Node.js)、库、环境变量和配置文件。
作用:镜像用于创建容器。你不会直接运行一个镜像,而是基于它“制作”出一个个运行实例。
容器(Container):
比喻:如果说镜像是一个蛋糕模具,那么容器就是用这个模具做出来的“蛋糕”本身。它是一个独立、可运行的软件包。或者说,它是你从操作系统安装包(镜像)安装出来的一个个独立的“虚拟机实例”,但比虚拟机轻量得多。
作用:容器是应用程序实际运行的地方。每个容器都是相互隔离的,拥有自己的文件系统、进程空间、网络接口等。
Docker 守护进程(Docker Daemon / Server):
比喻:它就像一个“管家”或者“总指挥”。
作用:Docker 守护进程是 Docker 平台的核心组件,它在后台运行,负责构建、运行、分发你的 Docker 镜像和容器。你通过 docker 命 ...
Vite + React 项目 CI/CD 实战:自动化部署到 GitHub Pages 全流程详解
引言本文是一份详尽的技术指南,旨在帮助开发者为基于 Vite 和 React 的项目配置一套完整的 CI/CD(持续集成/持续部署)流程,实现代码提交后自动部署到 GitHub Pages。文章将覆盖从项目配置、工作流编写到常见问题排查的全过程,力求通俗易懂,可作为未来项目的标准参考。
第一步:配置 Vite 的 base 路径▶ 为什么需要这一步?
GitHub Pages 通常会将你的项目部署到一个子目录下(例如 https://username.github.io/repo-name/)。如果不进行配置,Vite 打包出的静态资源(如 CSS 和 JS 文件)会默认从根目录 (/) 加载,这会导致所有资源加载失败,页面一片空白。
▶ 如何配置?
打开项目根目录下的 vite.config.ts 文件,添加 base 配置项。
12345678910111213import { defineConfig } from "vite";import react from "@vitejs/plugin-react& ...
毛概提纲
资料来源小红书:http://xhslink.com/a/k8BRqcHPlUyeb
导论 马克思主义中国化的历史进程与理论成果一、马克思主义中国化的提出
十月革命一声炮响,给中国送来了马克思列宁主义。
1921年中国共产党应运而生。
(一) 为什么推进马克思主义中国化时代化?
推进马克思主义中国化时代化,是马克思主义理论本身发展的内在要求。
推进马克思主义中国化时代化,是解决中国实际问题的客观需要。
(二) 提出过程
1938年,毛泽东在党的六届六中全会上作了《论新阶段》的报告,标志着“马克思主义的中国化”这一命题的正式提出。
1945年,刘少奇在党的七大关于修改党章的报告,对马克思主义中国化从理论上作了进一步的阐述,并指出毛泽东思想是“中国的马克思主义”。
2021年,党的十九届六中全会通过的《中共中央关于党的百年奋斗重大成就和历史经验的决议》总结了百年来中国共产党推进马克思主义中国化时代化的重大成就,阐述了马克思主义中国化时代化的伟大历史意义。
二、马克思主义中国化时代化的科学内涵(一) 马克思主义中国化时代化,就是立足中国国情和时代特点,坚持把马克思主义基本原理 ...
git_commit规范
主流 Git Commit 规范:约定式提交 (Conventional Commits)约定式提交的格式非常简洁,结构如下:
12345<type>(<scope>): <subject><BLANK LINE><body><BLANK LINE><footer>
对于大部分提交来说,通常只需要第一行(header)就足够了。
1. HeaderHeader 部分只有一行,包括三个字段:type(必需)、scope(可选)和 subject(必需)。
Type (类型)type 用于说明 commit 的类别,只允许使用下面几个标识:
Type
描述
feat
新功能 (feature)
fix
修复 Bug
docs
文档 (documentation)
style
格式 (不影响代码运行的变动,例如空格、格式化、缺少分号等)
refactor
重构 (既不是新增功能,也不是修改 bug 的代码变动)
perf
性能优化 (提升性能的代码更改)
test
测试 ...