Docker详解及实战

🎉 Docker 简介和安装 - Docker 快速入门

Docker 简介

Docker是一个开源的平台,用于开发、交付和运行应用程序。它能够在Windows,macOS,Linux计算机上运行,并将某一应用程序及其依赖项打包至一个容器中,这些容器可以在任何支持Docker的环境中运行。容器彼此隔离,但可以通过特定的通道相互传递信息。

Docker提供了一个轻量级的虚拟化解决方案。由于运行在同一计算机上的所有容器共享同一个操作系统内核,避免了启动与维护虚拟机的开销。因此相比于传统的虚拟机,Docker容器更加轻便、快速、容易部署。使用Docker,开发者可以避免在两台计算机上运行效果不一致的问题,容器提供了一致的行为,进而使得应用程序在不同环境的计算机上有相同的运行效果。

Docker 是一个应用打包、分发、部署的工具。

特性

普通虚拟机

Docker

跨平台

通常只能在桌面级系统运行,例如 Windows/Mac,无法在不带图形界面的服务器上运行

支持的系统非常多,各类 windows 和 Linux 都支持

性能

性能损耗大,内存占用高,因为是把整个完整系统都虚拟出来了

性能好,只虚拟软件所需运行环境,最大化减少没用的配置

自动化

需要手动安装所有东西

一个命令就可以自动部署好所需环境

稳定性

稳定性不高,不同系统差异大

稳定性好,不同系统都一样部署方式

Docker 部署的优势

  • 轻量级:基于操作系统层的虚拟化,容器共享宿主内核,启动秒级;
  • 可移植:构建一次的镜像可运行在任何支持 Docker 的平台;
  • 标准化打包:通过 Dockerfile 定义构建流程,镜像具备一致性;
  • 资源隔离:利用 Linux 的 Namespace 和 Cgroups 实现资源隔离与限制;
  • 镜像复用与层级缓存:提高构建效率与存储复用率。

Docker 通常用来做什么

  • 应用分发、部署,方便传播给他人安装。特别是开源软件和提供私有部署的应用
  • 快速安装测试/学习软件,用完就丢(类似小程序),不把时间浪费在安装软件上。例如 Redis / MongoDB / ElasticSearch / ELK
  • 多个版本软件共存,不污染系统,例如 Python2、Python3,Redis4.0,Redis5.0
  • Windows 上体验/学习各种 Linux 系统

Docker的安装(CentOS安装)

1、安装yum 包管理工具安装一些必要的工具和库

命令:

yum install -y yum-utils device-mapper-persistent-data lvm2

如果执行报错:

解决办法:

1、执行命令:

vi /etc/sysconfig/network-scripts/ifcfg-ens33

追加域名:

DNS1=114.114.114.114
DNS2=8.8.8.8

2、备份镜像源

命令:

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

3、更新国内镜像源

命令(两者使用一个):

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

4、执行以下命令

yum clean all  #清理缓存
yum makecache   #设置缓存

5、然后再执行 使用 yum 包管理工具安装一些必要的工具和库。

命令:

yum install -y yum-utils device-mapper-persistent-data lvm2

2、添加阿里云的 Docker 软件仓库(镜像源)

命令:

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo

3、yum 安装 Docker 相关的核心软件包。

命令:

yum install docker-ce docker-ce-cli containerd.io -y 

4、启动 Docker 服务。

命令:

systemctl start docker

5、设置 Docker 服务开机自动启动。

systemctl enable docker

6、查看 Docker 版本信息。

命令:

docker version

7、Docker常用命令

docker ps 查看当前运行中的容器

docker images 查看镜像列表

docker rm container-id  删除指定 id 的容器

docker stop/start container-id  停止/启动指定 id 的容器

docker rmi image-id  删除指定 id 的镜像

docker volume ls  查看 volume 列表

docker network ls  查看网络列表

docker ps -a 查看所有 Docker 容器的状态(包括停止的容器)。

CONTAINER ID:容器的唯一标识符。

IMAGE:容器所基于的镜像。

COMMAND:容器启动时执行的命令。

CREATED:容器的创建时间。

STATUS:容器的当前状态(运行中或已停止)。

PORTS:容器暴露的端口和主机的端口映射关系。

NAMES:容器的名称,用于容器的引用和管理。

8、修改Docker镜像源(国外镜像源被屏蔽)

通过 tee 命令将指定的 JSON 配置写入到 Docker 的配置文件 /etc/docker/daemon.json 中,用于配置 Docker 使用一个自定义的镜像加速器。

镜像源名称

镜像源地址

特点

适用场景

阿里云

https://registry.cn-hangzhou.aliyuncs.com

稳定性好,速度快

企业/个人通用

腾讯云

https://ccr.ccs.tencentyun.com

企业级,可靠性高

腾讯云用户/企业环境

中科大

https://docker.mirrors.ustc.edu.cn

教育网友好,免费

教育网/学术机构

网易

https://hub-mirror.c.163.com

老牌镜像源

个人开发/测试环境

百度云

https://mirror.baidubce.com

国内访问快

百度云用户/国内项目

华为云

https://swr.cn-north-1.myhuaweicloud.com

企业级服务

华为云用户/生产环境

DaoCloud

https://daocloud.io

专业容器服务

容器化专业需求

时速云

https://hub.tenxcloud.com

容器云服务优化

企业级容器平台

七牛云

https://reg-mirror.qiniu.com

CDN加速

需要高速下载的场景

毫秒镜像 - 告别蜗牛速度!国内极速拉取 | 国内专业的镜像仓库解决方案商 | 1ms.run

1、在根目录下执行下面命令:

tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://ccr.ccs.tencentyun.com",
"https://docker.1ms.run",
"https://daocloud.io"]
}
EOF

2、重新加载 systemd 的配置文件。

命令:

systemctl daemon-reload

3、重新启动 Docker 服务。

systemctl restart docker

Docker 架构

Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。

  • Docker 客户端(Client) : Docker 客户端通过命令行或者其他工具使用 Docker SDK (https://docs.docker.com/develop/sdk/) 与 Docker 的守护进程通信。
  • Docker 主机(Host) :一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。

Docker 包括三个基本概念:

  • 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
  • 容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
  • 仓库(Repository):仓库可看着一个代码控制中心,用来保存镜像。

Dockerfile

Dockerfile 是一个文本文件,其中包含了若干个命令,用户可以调用这些命令来构建一个镜像。通过这个文件,开发者能够定义应用程序运行环境的所有细节,从基础操作系统的选择到需要安装的软件包,再到启动服务所需的配置。

Dockerfile 不仅是自动化构建的基础,也是实现持续集成和持续部署(CI/CD)流程的关键组成部分。它使得开发团队能够在一致的环境中开发、测试和部署应用,从而减少“在我机器上能跑”的问题。此外,Dockerfile 促进了微服务架构的发展,让每个服务都可以独立打包成容器,易于管理和扩展。

一个典型的Dockerfile包含以下部分:

  1. 基础镜像指定
  2. 维护者信息(可选)
  3. 镜像构建指令
  4. 容器启动时执行的命令

常用指令详解

1. FROM

指定基础镜像,必须为第一条指令

FROM centos:7  # 使用CentOS 7
# 或者
FROM centos:8  # 使用CentOS 8
# 或者
FROM centos:stream8  # 使用CentOS Stream 8
2. RUN

执行命令并创建新的镜像层,常用于安装软件包

# 安装必要的软件包
RUN yum -y update && \yum -y install epel-release && \yum -y install \nginx \python3 \git \&& \yum clean all && \rm -rf /var/cache/yum
3. COPY

将文件从构建上下文复制到镜像中

COPY ./app /app
COPY requirements.txt /tmp/
4. ADD

类似COPY,但功能更多(支持URL和解压)

ADD https://example.com/file.tar.gz /tmp/
ADD file.tar.gz /tmp/  # 会自动解压
5. CMD

指定容器启动时默认执行的命令

CMD ["python", "app.py"]
CMD ["/bin/bash"]
6. ENTRYPOINT

配置容器启动时运行的命令,与CMD配合使用

ENTRYPOINT ["/usr/sbin/nginx"]
CMD ["-g", "daemon off;"]
7. ENV

设置环境变量

ENV PYTHON_VERSION=3.8
ENV PATH=/usr/local/bin:$PATH
8. ARG

定义构建时的变量

ARG VERSION=latest
FROM busybox:$VERSION
9. WORKDIR

设置工作目录

WORKDIR /app
10. EXPOSE

声明容器运行时监听的端口

EXPOSE 80
EXPOSE 443
11. VOLUME

创建挂载点

VOLUME /data
12. USER

指定运行时的用户

USER nobody

Dockerfile部署SpringBoot+VUE项目

SpringBoot项目部署

Dockerfile 部署 template-admin.jar完整步骤指南

准备文件结构

Dockerfile文件和template-admin.jar放到同一目录下

# 使用 CentOS 7 作为基础镜像
FROM centos:7# 维护者信息
LABEL maintainer="yourname@example.com"# 修复镜像源步骤
RUN mkdir /etc/yum.repos.d/backup && \mv /etc/yum.repos.d/CentOS-* /etc/yum.repos.d/backup/ && \curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo && \sed -i 's/gpgcheck=1/gpgcheck=0/g' /etc/yum.repos.d/CentOS-Base.repo && \yum clean all && \yum makecache# 安装OpenJDK 8和基础工具
RUN yum update -y && \yum install -y \java-1.8.0-openjdk-devel \wget \unzip \&& \yum clean all && \rm -rf /var/cache/yum# 设置Java环境变量
ENV JAVA_HOME /usr/lib/jvm/java-1.8.0-openjdk
ENV PATH $PATH:$JAVA_HOME/bin# 创建应用目录
RUN mkdir -p /app
WORKDIR /app# 复制JAR文件
COPY template-admin.jar /app/app.jar# 创建非root用户运行
RUN groupadd -r appuser && \useradd -r -g appuser appuser && \chown -R appuser:appuser /app
USER appuser# 暴露端口
EXPOSE 8080# 健康检查
#HEALTHCHECK --interval=30s --timeout=3s \
#    CMD curl -f http://localhost:8080/actuator/health || exit 1# 启动命令
ENTRYPOINT ["java", "-server", "-Xms256m", "-Xmx512m", "-XX:+UseG1GC", "-jar", "app.jar"]
构建 Docker 镜像

在包含 Dockerfile 的目录下执行:

docker build -t template-admin:1.0 . 
  • -t template-admin:1.0:给镜像打标签(名称:版本)
  • 末尾的 . 表示使用当前目录的 Dockerfile

# 宿主机创建目录
mkdir -p /data/ruoyi/logs && chmod -R 777 /data/ruoyi/logs# 启动容器
docker run -d \-p 8080:8080 \-v /data/ruoyi/logs:/home/ruoyi/logs \--name myapp \template-admin:1.0

VUE项目部署

Dockerfile文件

dist是打包后的文件

# 直接使用 Nginx 作为基础镜像
FROM nginx:alpine# 删除默认配置(可选)
RUN rm /etc/nginx/conf.d/default.conf# 复制静态文件
COPY dist /usr/share/nginx/html# 复制自定义 Nginx 配置
COPY nginx.conf /etc/nginx/conf.d/# 暴露端口
EXPOSE 80# 启动 Nginx
CMD ["nginx", "-g", "daemon off;"]
server {listen 80;server_name localhost;location / {root   /usr/share/nginx/html;index  index.html;try_files $uri $uri/ /index.html;  # 支持 Vue 路由 history 模式}# 处理 API 代理(解决跨域)location /prod-api/ {proxy_pass http://192.168.1.167:8080/;  # 替换为你的后端地址proxy_set_header Host $host;}
}
# 构建镜像
docker build -t vue2-app .# 运行容器
docker run -d -p 80:80 --name vue2-container vue2-app

Docker-Compose

Docker-Compose 是 Docker 官方提供的用于定义和运行多容器 Docker 应用程序的工具。它允许您使用 YAML 文件来配置应用程序的服务、网络和卷等,然后通过一个简单的命令就能创建并启动所有服务。

Docker-Compose 核心概念

  1. 服务 (Service):一个容器化的应用,可以包含一个或多个相同镜像的容器实例
  2. 项目 (Project):由一组关联服务组成的完整应用,默认使用所在目录名作为项目名
  3. 卷 (Volume):用于数据持久化
  4. 网络 (Network):定义服务间的通信方式

Docker-Compose 文件结构

典型的 docker-compose.yml 文件包含以下部分:

  • version:指定 compose 文件格式版本
  • services:定义各个服务
  • networks:定义网络
  • volumes:定义卷

Docker-Compose安装

使用 pip 安装(需先安装 pip)
# 安装编译工具链
sudo yum install -y gcc python3-devel openssl-devel libffi-devel make
sudo yum install rust cargo
sudo yum install python3-devel gcc openssl-devel libffi-devel
pip3 install --upgrade pip setuptools wheel
# 安装 pip(如未安装)
sudo yum install python3-pip -y  # CentOS/RHEL
sudo apt install python3-pip -y  # Ubuntu/Debian# 使用清华源安装
sudo pip3 install docker-compose -i https://pypi.tuna.tsinghua.edu.cn/simple# 验证安装
docker-compose --version

sudo curl -L "https://github.com/docker/compose/releases/download/v2.23.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-composesudo chmod +x /usr/local/bin/docker-composesudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-composedocker-compose --version

Docker-Compose 基本命令

# 1. 启动服务(构建镜像、创建容器、启动服务)
# -d 表示在后台运行(detached mode)
docker-compose up -d# 2. 停止并移除容器、网络、卷和镜像
# --volumes 同时删除在 compose 文件中声明的命名卷
# --rmi all 删除所有服务使用的镜像
docker-compose down --volumes --rmi all# 3. 列出项目中的所有容器
# 显示状态、端口映射等信息
docker-compose ps# 4. 查看服务日志
# -f 持续跟踪日志输出(类似 tail -f)
# service_name 可指定查看特定服务的日志
docker-compose logs -f service_name# 5. 构建或重新构建服务镜像
# --no-cache 构建时不使用缓存
docker-compose build --no-cache# 6. 在运行中的容器中执行命令
# service_name 服务名称
# command 要执行的命令(如 /bin/bash)
docker-compose exec service_name command# 7. 启动已存在的服务容器
docker-compose start# 8. 停止运行中的服务容器(不删除)
docker-compose stop# 9. 重启服务容器
docker-compose restart# 10. 暂停服务容器
docker-compose pause# 11. 恢复暂停的服务容器
docker-compose unpause# 12. 拉取服务依赖的镜像
docker-compose pull# 13. 推送服务镜像到仓库
docker-compose push# 14. 运行一次性命令(会启动新容器执行命令后退出)
# 常用于数据库迁移等操作
docker-compose run service_name command# 15. 查看服务配置
# 显示最终生效的配置(合并了环境变量等)
docker-compose config# 16. 查看镜像信息
docker-compose images# 17. 删除已停止的服务容器
docker-compose rm# 18. 查看容器内运行的进程
docker-compose top# 19. 强制重新创建容器(即使配置未更改)
# --no-deps 不重新创建依赖的服务
docker-compose up --force-recreate --no-deps service_name# 20. 缩放服务实例数量
# 注意:要在 compose 文件中移除 ports 配置才能缩放
docker-compose up --scale service_name=3 -d# 21. 查看网络信息
docker-compose network ls# 22. 查看卷信息
docker-compose volume ls# 23. 检查服务运行状态
docker-compose port service_name port_number# 24. 复制文件从容器到主机
docker-compose cp container_name:/path/to/file /host/path# 25. 使用不同的 compose 文件
# -f 指定 compose 文件(默认使用 docker-compose.yml)
# -p 指定项目名称(默认使用目录名)
docker-compose -f docker-compose.prod.yml -p my_project up -d

Docker-Compose 部署 SpringBoot + Vue 完整指南

project/
├── backend/                  # SpringBoot 后端
│   ├── Dockerfile            # 后端Dockerfile
│   └── template-admin.jar    # SpringBoot jar包
├── frontend/                 # Vue 前端
│   ├── Dockerfile            # 前端Dockerfile
│   ├── dist/                 # Vue打包后的静态文件
│   └── nginx.conf            # Nginx配置文件
└── docker-compose.yml        # 主配置文件
version: '3.8'services:backend:build: ./backendcontainer_name: template-adminrestart: alwaysports:- "8080:8080"volumes:- /data/ruoyi/logs:/home/ruoyi/logsenvironment:- TZ=Asia/Shanghai#   - SPRING_PROFILES_ACTIVE=prod# healthcheck:#   test: ["CMD", "curl", "-f", "http://localhost:8080/actuator/health"]#   interval: 30s#   timeout: 10s#   retries: 3networks:  # 添加这部分- app-networkfrontend:build: ./frontendcontainer_name: template-uirestart: alwaysports:- "80:80"depends_on:- backendenvironment:- TZ=Asia/Shanghainetworks:  # 添加这部分- app-networkvolumes:ruoyi-logs:driver: localnetworks:app-network:driver: bridge
1、 准备工作

确保服务器已安装 Docker 和 Docker-Compose

docker --version
docker-compose --version

创建日志目录并设置权限

sudo mkdir -p /data/ruoyi/logs
sudo chmod -R 777 /data/ruoyi/logs
2、 构建并启动服务

进入项目目录

cd /path/to/project

构建并启动所有服务

docker-compose up -d --build

查看服务状态

docker-compose ps

查看日志

docker-compose logs -f

3、 常用管理命令

停止服务

docker-compose down

重启服务

docker-compose restart

更新前端(重新构建并部署)

docker-compose up -d --build frontend

更新后端(重新构建并部署)

docker-compose up -d --build backend

查看资源使用情况

docker-compose stats

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

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

相关文章

嵌入式学习的第三十三天-进程间通信-UDP

一、网络1.定义不同主机间进程通信主机间在硬件层面互联互通主机在软件层面互联互通2.国际网络体系结构OSI模型&#xff08;7层&#xff09;: open system interconnect -------理论模型------定义了网络通信中不同层的协议1977 国际标准化组织各种不同体系结构的计算机能在世…

4、Spring AI_DeepSeek模型_结构化输出

一、前言 Spring AI 提供跨 AI 供应商&#xff08;如 OpenAI、Hugging Face 等&#xff09;的一致性 API, 通过分装的ChatModel或ChatClient即可轻松调动LLM进行流式或非流式对话。 本专栏主要围绕着通过OpenAI兼容接口调用各种大语言模型展开学习&#xff08;因为大部分模型…

Spring Data Redis 从入门到精通:原理与实战指南

一、Redis 基础概念 Redis&#xff08;Remote Dictionary Server&#xff09;是开源的内存键值对数据库&#xff0c;以高性能著称。它支持多种数据结构&#xff08;String、Hash、List、Set、ZSet&#xff09;&#xff0c;并提供持久化机制&#xff08;RDB、AOF&#xff09;。 …

免费版酒店押金原路退回系统——仙盟创梦IDE

项目介绍​东方仙盟开源酒店押金管理系统是一款面向中小型酒店、民宿、客栈的轻量级前台管理工具&#xff0c;专注于简化房态管理、订单处理和押金跟踪流程。作为完全开源的解决方案&#xff0c;它无需依赖任何第三方服务&#xff0c;所有数据存储在本地浏览器中&#xff0c;确…

10. isaacsim4.2教程-RTX Lidar 传感器

1. 前言RTX Lidar 传感器Isaac Sim的RTX或光线追踪Lidar支持通过JSON配置文件设置固态和旋转Lidar配置。每个RTX传感器必须附加到自己的视口或渲染产品&#xff0c;以确保正确模拟。重要提示&#xff1a; 在运行RTX Lidar仿真时&#xff0c;如果你在Isaac Sim UI中停靠窗口&…

QT6 源,七章对话框与多窗体(14)栈式窗体 QStackedWidget:本类里代码很少。举例,以及源代码带注释。

&#xff08;1&#xff09;这不是本章节要用到的窗体组件&#xff0c;只是跟着标签窗体 QTabWidget 一起学了。这也是 QT 的 UI 界面里的最后几个容器了。而且本类也很简单。就了解一下它。 本类的继承关系如下 &#xff1a; UI 设计界面 &#xff1a;运行效果 &#xff1a;&…

魔百和M401H_国科GK6323V100C_安卓9_不分地区免拆卡刷固件包

魔百和M401H_国科GK6323V100C_安卓9_不分地区免拆卡刷固件包刷机说明&#xff1a;1&#xff0c;进机顶盒设置&#xff08;密码10086&#xff09;&#xff0c;在其他里&#xff0c;一直按左键约32下&#xff0c;打开调试模式2&#xff0c;进网络设置&#xff0c;查看IP地址。3&a…

MySQL基础02

一. 函数在 MySQL 中&#xff0c;函数是用于对数据进行特定处理或计算的工具&#xff0c;根据作用范围和返回结果的不同&#xff0c;主要分为单行函数和聚合函数&#xff08;又称分组函数&#xff09;。以下是详细介绍&#xff1a;1.单行函数单行函数对每一行数据单独处理&…

LabVIEW 视觉检测SIM卡槽

针对SIM 卡槽生产中人工检测效率低、漏检误检率高的问题&#xff0c;设计了基于 LabVIEW 机器视觉的缺陷检测系统。该系统通过光学采集与图像处理算法&#xff0c;实现对卡槽引脚折弯、变形、漏铜等缺陷的自动检测&#xff0c;误报率为 0&#xff0c;平均检测时间小于 750ms&am…

RocketMQ5.3.1的安装

1、下载安装 RocketMQ 的安装包分为两种&#xff0c;二进制包和源码包。1 下载 Apache RocketMQ 5.3.1的源码包后上传到linux https://dist.apache.org/repos/dist/release/rocketmq/5.3.1/rocketmq-all-5.3.1-source-release.zip2 解压编译 $ unzip rocketmq-all-5.3.1-source…

FunASR实时多人对话语音识别、分析、端点检测

核心功能&#xff1a;FunASR是一个基础语音识别工具包&#xff0c;提供多种功能&#xff0c;包括语音识别&#xff08;ASR&#xff09;、语音端点检测&#xff08;VAD&#xff09;、标点恢复、语言模型、说话人验证、说话人分离和多人对话语音识别等。FunASR提供了便捷的脚本和…

opencv--day01--opencv基础知识及基础操作

文章目录前言一、opencv基础知识1.opencv相关概念1.1背景1.2特点1.3主要功能与应用1.4.opencv-python2.计算机中的图像概念2.1图像表示2.2图像存储彩色图像二、opencv基础操作1.图像的读取2.图像的显示3.保存图像4.创建黑白图及随机像素彩图5. 图像切片&#xff08;图片剪裁&am…

如何撤销Git提交误操作

要撤销在主分支上的 git add . 和 git commit 操作&#xff0c;可以按照以下步骤安全回退&#xff1a; 完整回退步骤&#xff1a; # 1. 查看提交历史&#xff0c;确认要回退的commit git log --oneline# 示例输出&#xff1a; # d3f4g7h (HEAD -> main) 误操作提交 # a1b2c3…

React+Three.js实现3D场景压力/温度/密度分布可视化

本文介绍了一个基于React和Three.js的3D压力可视化解决方案&#xff0c;该方案能够&#xff1a; 加载并渲染3D压力模型数据 提供动态颜色映射功能&#xff0c;支持多种颜色方案&#xff1a;彩虹-rainbow,冷暖-cooltowarm,黑体-blackbody,灰度-grayscale 实现固定位置的颜色图…

Go 官方 Elasticsearch 客户端 v9 快速上手与进阶实践*

1、为什么选择 go-elasticsearch&#xff1f; 版本同步&#xff1a;与 Elasticsearch 主版本保持一一映射&#xff0c;当前稳定分支为 v9&#xff0c;对应 ES 9.x 系列。(GitHub)完全覆盖 REST API&#xff1a;所有 HTTP 端点都有等价方法&#xff0c;避免手写 JSON/HTTP。可插…

`/etc/samba/smb.conf`笔记250720

/etc/samba/smb.conf笔记250720 /etc/samba/smb.conf 是 Samba 服务的核心配置文件&#xff0c;用于实现 Linux/Unix 与 Windows 系统间的文件和打印机共享。以下详解其结构和常用参数&#xff1a; 配置文件结构 1. 全局设置段 [global] 控制 Samba 服务器的整体行为。 …

Java从入门到精通!第十六天,重点!(多线程和线程池)

一、多线程1&#xff0e;基本概念&#xff08;1&#xff09;程序&#xff08;Program&#xff09;&#xff1a;为了完成特定的任务&#xff0c;用某种计算机语言编写的一组指令的集合&#xff0c;即指一段静态的代码&#xff08;源代码经编译之后形成的二进制格式的文件&#x…

轨道交通为什么要有信号系统?

轨道交通为什么要有信号系统&#xff1f;轨道交通信号系统与公路信号系统有什么不同&#xff1f; 在轨道交通中信号系统是必不可少的&#xff0c;其根本原因在于&#xff1a;在轨道交通中已经没有办法纯靠人力去保证行车安全。 在公路交通中&#xff0c;信号其实是起辅助作用的…

docker 挂载卷

以下是针对您遇到的问题分步解答和解决方案&#xff1a;一、核心结论 ✅ 可以采用目录方式&#xff1a;您的命令中的 -v /root/nginx05-vol/:/usr/share/nginx/html/ 是正确的目录挂载语法。 ❌ 看不到新文件的可能原因主要集中在 权限问题、缓存机制 或 操作顺序错误 上。二、…

uniapp 报错 Not found ... at view.umd.min.js:1的问题

问题描述&#xff1a; uniapp的app中&#xff0c;当页面中使用多个v-if后会出现这个报错解决方案&#xff1a; 1、在v-if的地方加上key属性&#xff08;key属性要保证唯一&#xff09; 2、用v-show替换v-if&#xff08;不建议&#xff0c;可能会影响业务&#xff09;