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
英文地址,請注明出處:http://en.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;