群暉DS 223 Docker:開啟私有云

群暉DS 223 Docker:開啟私有云的無限可能

引言

在這里插入圖片描述

在數據存儲與管理的不斷演進中,群暉 DS 223 憑借其出色的性能和豐富的功能,成為眾多用戶搭建私有云的熱門選擇。而當它與 Docker 技術相遇,猶如為數據管理的舞臺添上了絢麗多彩的燈光,極大地拓展了應用場景。Docker 技術作為容器化領域的佼佼者,以其高效的資源利用、便捷的部署方式,為群暉 DS 223 賦予了更強大的生命力。在本文中,我將帶領大家深入探索群暉 DS 223 與 Docker 的結合,從基礎概念到實戰應用,為大家全面剖析這一組合的魅力,幫助大家解鎖更多數據管理與應用部署的新姿勢。

群暉 DS 223 硬件及系統概述

(一)硬件參數

群暉 DS 223 在硬件配置上,為 Docker 的運行提供了堅實的基礎。它搭載了 Realtek RTD1619B 處理器,這顆處理器采用 12nm 制程工藝,擁有四個 Cortex-A55 核心 ,基礎頻率為 1.1GHz,在應對多任務處理時,能憑借其多核心優勢,合理分配計算資源。當同時運行多個 Docker 容器時,不同的容器任務可以分別由不同的核心處理,避免了任務之間的相互干擾,保障了每個容器的穩定運行。而在需要更高性能時,其加速頻率可達 1.7GHz,為一些對計算性能要求較高的 Docker 應用,如小型數據庫服務、數據處理腳本的運行等,提供了充足的運算能力。

內存方面,DS 223 配備了 2GB DDR4 內存。內存作為數據存儲和交換的臨時空間,對于 Docker 容器的運行至關重要。足夠的內存可以讓容器在運行過程中快速讀取和寫入數據,減少因內存不足導致的讀寫延遲。當多個容器同時運行時,2GB 的內存能夠在一定程度上滿足它們對內存資源的需求,確保容器內的應用程序能夠高效運行。同時,DDR4 內存相較于前代,具有更高的頻率和更低的功耗,不僅提升了數據傳輸速度,也有助于降低設備整體的能耗,讓 DS 223 在長時間運行 Docker 容器時更加穩定和節能。

在存儲擴展能力上,DS 223 擁有兩個盤位,可安裝 3.5 英寸 SATA HDD 或 2.5 英寸 SATA SSD 。這一設計為用戶提供了靈活的存儲選擇。如果用戶更注重大容量存儲,可選擇高容量的機械硬盤,滿足對大量數據,如高清影視資源、海量文檔資料的存儲需求。而對于追求讀寫速度的用戶,SSD 則是更好的選擇,其快速的讀寫性能可以極大地提升 Docker 容器中應用程序的數據訪問速度。當運行一些對數據讀寫速度要求極高的數據庫容器時,使用 SSD 作為存儲介質,能讓數據庫的查詢、寫入等操作更加迅速,提高整個應用系統的響應效率。此外,雙盤位還支持多種 RAID 模式,如 RAID 1 模式下,數據會同時寫入兩個硬盤,實現數據冗余備份,保障了 Docker 容器中數據的安全性,即使一塊硬盤出現故障,數據也不會丟失。

(二)DSM 系統與 Docker 支持

從 DSM 7.2 版本開始,群暉 DS 223 正式支持 Docker,這一更新為用戶帶來了全新的使用體驗。DSM 系統作為群暉 NAS 的核心操作系統,猶如一個智能的管家,為 Docker 的運行提供了全方位的支持和管理。

DSM 系統為 Docker 提供了一個穩定且易于管理的運行環境。通過 DSM 系統的圖形化界面,用戶可以輕松地進行 Docker 容器的創建、啟動、停止、刪除等操作。就像在一個可視化的操作平臺上,用戶只需通過簡單的鼠標點擊和設置,就能完成原本復雜的容器管理任務。在創建容器時,用戶可以直觀地選擇所需的鏡像,設置容器的網絡配置、存儲映射等參數,無需繁瑣的命令行操作,大大降低了使用門檻,讓即使是對技術不太熟悉的用戶也能輕松上手。

DSM 系統還具備強大的資源管理功能,能夠合理分配系統資源給 Docker 容器。它可以根據用戶的設置和容器的實際需求,動態調整 CPU、內存、存儲等資源的分配。當某個 Docker 容器運行的應用程序突然出現高負載情況時,DSM 系統能夠及時感知,并為其分配更多的 CPU 和內存資源,確保應用程序的正常運行,同時又不會影響其他容器的性能。這種智能的資源管理機制,保障了多個 Docker 容器在 DS 223 上能夠和諧共處,穩定運行。

此外,DSM 系統與 Docker 的深度集成,還體現在數據安全和備份方面。DSM 系統利用其高效的 Btrfs 文件系統,為 Docker 容器中的數據提供了可靠的數據保護,防止數據損壞。通過快照技術,用戶可以對容器數據進行時間點備份,當出現意外情況,如數據誤刪除、病毒攻擊等,能夠快速將數據恢復到之前的正常狀態。這一功能對于運行關鍵業務應用的 Docker 容器來說,尤為重要,極大地提高了數據的安全性和可靠性。

Docker 基礎科普

(一)Docker 是什么

Docker,簡單來說,是一個開源的應用容器引擎,它基于 Go 語言開發,遵循 Apache 2.0 開源協議 。如果把計算機比作一個大型倉庫,那么 Docker 就像是一個個標準化的集裝箱,每個集裝箱里都裝著運行應用程序所需要的一切,包括代碼、運行時、庫、環境變量和配置文件等。與傳統虛擬機不同,Docker 容器并不模擬完整的操作系統,而是巧妙地利用宿主機的操作系統內核,僅包含應用程序及其依賴項,就像集裝箱只裝貨物,不自帶倉庫一樣,這使得 Docker 容器極為輕量級,啟動速度也快如閃電。

為了更直觀地理解,我們可以將傳統虛擬機與 Docker 容器做個形象的對比。傳統虛擬機就像是在倉庫里建造多個獨立的小倉庫,每個小倉庫都有自己完整的一套設施,包括操作系統、應用程序等,彼此完全隔離。但這種方式不僅占用大量空間(資源),啟動起來也耗時費力,就像搭建一個小倉庫需要花費很多時間和材料。而 Docker 容器則像是一個個靈活的貨架,它們共享倉庫的公共設施(宿主機內核),每個貨架只擺放自己獨特的貨物(應用程序和依賴),占用空間小,搭建和移動都非常方便,啟動速度也快得多。

從技術原理上講,Docker 通過 Linux 內核的 cgroup 和 namespace 機制實現了資源的隔離和限制 。cgroup 負責對容器的 CPU、內存、磁盤 IO 等資源進行限制和分配,確保各個容器不會因為資源競爭而影響彼此的正常運行。namespace 則為容器提供了獨立的運行空間,包括進程空間、網絡空間、文件系統等,使得每個容器看起來都像是在獨立的環境中運行,互不干擾。

(二)Docker 能做什么

Docker 的應用場景極為廣泛,幾乎涵蓋了軟件開發和運維的各個環節。在搭建個人網站方面,Docker 可以幫助我們輕松實現。以搭建一個基于 Nginx 的個人博客為例,我們只需從 Docker Hub 上拉取 Nginx 鏡像,然后簡單配置一下容器的參數,如端口映射、網站文件掛載等,就能快速讓博客網站上線。與傳統的手動安裝 Nginx、配置環境相比,使用 Docker 大大節省了時間和精力,而且部署過程更加簡單、可靠,即使是技術小白也能輕松上手。

在部署數據庫時,Docker 同樣發揮著重要作用。對于一些對數據完整性和一致性要求較高的應用,如企業級的業務系統,我們可以使用 Docker 部署 MySQL 數據庫。通過 Docker,我們可以方便地創建多個 MySQL 容器,每個容器都可以獨立配置,用于不同的測試環境或開發項目。而且,當需要對數據庫進行升級或遷移時,只需簡單地更新 Docker 鏡像,重新啟動容器,就能快速完成操作,避免了傳統方式中繁瑣的卸載、安裝和數據遷移過程,大大降低了數據庫管理的難度和風險。

在運行測試環境方面,Docker 更是展現出了獨特的優勢。對于軟件開發團隊來說,確保開發、測試和生產環境的一致性至關重要。使用 Docker,我們可以將開發環境中的所有依賴和配置打包成一個鏡像,然后在測試環境中快速啟動相同的容器,保證測試環境與開發環境完全一致,避免了因環境差異導致的測試結果不準確問題。在進行自動化測試時,我們可以利用 Docker 快速創建和銷毀測試容器,提高測試效率,加快軟件開發的迭代速度。

群暉 DS 223 上 Docker 的安裝與設置

(一)安裝 Container Manager(原 Docker)套件

在群暉 DS 223 上使用 Docker,首先需要安裝 Container Manager 套件,這是群暉為用戶提供的管理 Docker 容器的便捷工具。打開群暉的 DSM 系統,進入套件中心。在套件中心的搜索框中,輸入 “Container Manager”,如圖 1 所示,即可快速定位到該套件。

圖1:在套件中心搜索Container Manager

點擊 “安裝” 按鈕,系統將開始自動下載并安裝 Container Manager 套件。在安裝過程中,需要注意選擇合適的存儲位置,確保有足夠的空間來存放該套件及其相關文件。安裝完成后,即可在 DSM 系統的主界面或應用程序列表中找到 Container Manager 的圖標,點擊即可打開該工具,開啟 Docker 容器管理之旅。

(二)基本設置

安裝完成 Container Manager 后,還需要對 Docker 進行一些基本設置,以確保其能夠穩定高效地運行。在存儲空間分配方面,點擊 Container Manager 界面中的 “存儲” 選項卡,進入存儲設置頁面。在這里,可以選擇已有的共享文件夾作為 Docker 容器的存儲空間,也可以根據實際需求創建新的共享文件夾。如果已經在群暉中創建了一個名為 “docker_data” 的共享文件夾用于存放 Docker 相關數據,只需在存儲設置中選擇該文件夾即可,如圖 2 所示。合理分配存儲空間對于 Docker 容器的正常運行至關重要,確保有足夠的空間來存儲容器的鏡像、數據和日志文件等。

圖2:選擇共享文件夾作為Docker存儲空間

在網絡設置方面,Container Manager 提供了多種網絡模式供選擇,如橋接模式、主機模式和容器模式等。橋接模式是最常用的模式之一,它允許容器通過宿主機的網絡連接到外部網絡,就像容器是局域網中的一臺獨立設備一樣。在創建容器時,可以在網絡設置中選擇橋接模式,并指定容器使用的網絡接口,如圖 3 所示。這樣,容器就能夠與局域網中的其他設備進行通信,方便獲取外部資源和提供服務。根據具體的應用場景和需求,還可以對容器的端口映射進行設置,將容器內部的端口映射到宿主機的指定端口,實現通過宿主機訪問容器內應用程序的功能。

圖3:設置容器的網絡模式為橋接模式

Docker 鏡像與容器操作實戰

(一)鏡像操作

在群暉 DS 223 的 Container Manager 中,鏡像操作變得簡單直觀。首先是搜索鏡像,點擊 Container Manager 界面左側的 “注冊表” 選項卡,在搜索框中輸入關鍵詞,如 “nginx”,即可搜索到相關的鏡像。這里以搜索 “nginx” 鏡像為例,如圖 4 所示,在搜索結果中,會展示出不同版本、不同來源的 nginx 鏡像,包括官方鏡像和其他開發者上傳的鏡像,用戶可以根據自己的需求進行選擇。

圖4:在Container Manager中搜索nginx鏡像

找到目標鏡像后,點擊鏡像右側的 “下載” 按鈕,即可開始拉取鏡像。在下載過程中,可以在 “任務” 選項卡中查看下載進度,如圖 5 所示。下載完成后,點擊 “鏡像” 選項卡,就能看到已下載到本地的鏡像,包括鏡像名稱、標簽、大小等信息。如果需要更新鏡像,只需再次點擊 “下載” 按鈕,系統會自動檢測是否有新版本,并進行更新。

圖5:查看鏡像下載進度

在管理鏡像時,也有一些實用的操作。對于不再需要的鏡像,可以點擊鏡像右側的三個點圖標,選擇 “刪除” 選項,即可將鏡像從本地刪除,釋放存儲空間。如果想要查看鏡像的詳細信息,如鏡像的創建者、依賴關系等,點擊鏡像名稱進入詳情頁面,就能獲取到這些信息。通過這些操作,我們可以方便地管理本地的 Docker 鏡像,確保鏡像資源的合理利用。

(二)容器創建與配置

基于下載好的鏡像,我們可以輕松創建容器。在 Container Manager 的 “鏡像” 選項卡中,找到要創建容器的鏡像,點擊右側的 “啟動” 按鈕,即可進入容器創建向導。以基于 nginx 鏡像創建容器為例,在向導的 “常規” 設置頁面,需要為容器命名,如 “my_nginx”,確保名稱的唯一性,避免與其他容器沖突。同時,可以根據實際需求勾選 “使用高權限執行容器” 選項,但要注意,賦予過高權限可能會帶來一定的安全風險,需謹慎使用。

在 “高級設置” 頁面,有多個重要的配置選項。在 “端口設置” 中,我們可以進行端口映射。假設我們要將容器內部的 80 端口映射到宿主機的 8080 端口,只需點擊 “添加” 按鈕,在彈出的窗口中,將 “容器端口” 設置為 80,“本地端口” 設置為 8080,如圖 6 所示。這樣,通過訪問宿主機的 8080 端口,就能訪問到容器內 nginx 服務的 80 端口。

圖6:設置容器的端口映射

在 “存儲空間” 設置中,可以將宿主機的共享文件夾映射到容器內部,實現數據的共享和持久化存儲。如果我們希望將群暉中名為 “web_data” 的共享文件夾映射到容器內的 “/usr/share/nginx/html” 目錄,點擊 “添加文件夾” 按鈕,選擇 “web_data” 共享文件夾,在 “容器路徑” 中輸入 “/usr/share/nginx/html”,并取消勾選 “只讀” 選項,這樣容器就可以對該目錄進行讀寫操作,方便我們將網站的靜態文件存儲在宿主機的共享文件夾中,實現數據的靈活管理。

在 “環境” 設置中,可以添加環境變量,為容器內的應用程序提供特定的運行參數。如果 nginx 容器需要設置一個名為 “APP_ENV” 的環境變量,值為 “production”,點擊 “添加” 按鈕,在 “變量” 欄輸入 “APP_ENV”,在 “值” 欄輸入 “production”,即可完成環境變量的設置。通過這些參數配置,我們可以根據實際需求定制容器的運行環境,滿足不同應用場景的要求。

(三)容器管理與維護

容器創建完成后,對其進行有效的管理和維護至關重要。在 Container Manager 的 “容器” 選項卡中,可以方便地對容器進行各種操作。啟動和停止容器非常簡單,對于處于停止狀態的容器,點擊容器右側的 “啟動” 按鈕,即可啟動容器;對于正在運行的容器,點擊 “停止” 按鈕,就能停止容器。如果需要重啟容器,點擊 “重啟” 按鈕即可。

當某個容器不再使用時,可以選擇將其刪除。點擊容器右側的三個點圖標,選擇 “刪除” 選項,在彈出的確認窗口中點擊 “確定”,即可刪除容器。需要注意的是,刪除容器時,默認情況下,容器所占用的存儲空間不會自動釋放,如果希望同時刪除容器所關聯的存儲數據,需要在刪除操作時勾選 “同時刪除卷” 選項。

查看容器日志是了解容器運行狀態和排查問題的重要手段。點擊容器右側的 “日志” 按鈕,即可查看容器的運行日志。日志中會記錄容器啟動過程、應用程序的運行信息以及可能出現的錯誤信息等。通過仔細分析日志,我們可以及時發現并解決容器運行過程中出現的問題。在排查 nginx 容器無法正常訪問的問題時,查看日志可能會發現端口被占用、配置文件錯誤等相關信息,從而幫助我們快速定位問題根源。

監控容器狀態也是容器管理的重要環節。在 “容器” 選項卡中,可以直觀地看到每個容器的運行狀態,包括運行中、停止、暫停等。還可以查看容器的 CPU 使用率、內存使用率等資源使用情況,實時了解容器的運行狀況。當發現某個容器的 CPU 或內存使用率過高時,可以進一步分析原因,是否是應用程序出現異常,還是資源配置不合理,從而采取相應的優化措施,確保容器的穩定運行。

應用案例分享

(一)搭建個人云盤

在搭建個人云盤方面,使用 Docker 部署 Nextcloud 是一個非常不錯的選擇。首先,我們需要在群暉 DS 223 的 Container Manager 中搜索并下載 Nextcloud 鏡像。在注冊表中輸入 “nextcloud”,即可找到官方鏡像,點擊下載按鈕,等待鏡像下載完成。

下載完成后,點擊 “啟動” 按鈕來創建容器。在容器創建向導中,進行一些必要的設置。在 “常規” 設置頁面,為容器命名,如 “my_nextcloud”。在 “高級設置” 的 “端口設置” 中,將容器內部的 80 端口映射到宿主機的 8081 端口(避免與其他服務沖突)。在 “存儲空間” 設置中,將群暉的共享文件夾 “nextcloud_data” 映射到容器內的 “/var/www/html” 目錄,用于存儲云盤的數據,確保數據的持久化。

設置完成后,點擊 “應用”,等待容器創建并啟動。啟動成功后,在瀏覽器中輸入 “http:// 群暉 IP:8081”,即可進入 Nextcloud 的初始化頁面。按照提示設置管理員賬號和密碼,完成初始化后,就可以使用自己的個人云盤了。

使用 Nextcloud 作為個人云盤,我可以輕松地在不同設備之間同步文件。在手機端安裝 Nextcloud 的 APP,登錄賬號后,手機中的照片、文檔等文件可以自動同步到群暉 DS 223 中,不用擔心手機存儲空間不足的問題。在電腦端,也可以通過安裝客戶端,將重要的工作文件、學習資料等存儲在云盤中,隨時隨地通過網絡訪問,非常方便。而且,Nextcloud 還支持多人協作,我可以創建共享文件夾,邀請朋友或同事一起編輯文檔、共享資料,大大提高了工作和學習的效率。

(二)部署智能家居平臺

對于智能家居愛好者來說,部署 Home Assistant 是實現設備互聯互通的關鍵一步。同樣在群暉 DS 223 的 Container Manager 中,搜索 “homeassistant/home-assistant” 鏡像并下載。

下載完成后創建容器,在 “常規” 設置中為容器命名。在 “高級設置” 的 “存儲空間” 設置里,將群暉中新建的 “homeassistant_config” 共享文件夾映射到容器內的 “/config” 目錄,用于存放 Home Assistant 的配置文件。在 “網絡” 設置中,選擇 “host” 模式,這樣容器可以直接使用宿主機的網絡,方便與局域網內的智能家居設備進行通信。

在 “環境” 設置中,添加環境變量 “TZ: Asia/Shanghai”,設置時區為上海。完成這些設置后,點擊 “應用” 創建容器。

容器啟動后,在瀏覽器中輸入 “http:// 群暉 IP:8123”,即可進入 Home Assistant 的設置頁面。在這里,可以添加各種智能家居設備,如小米智能音箱、華為智能燈泡、智能插座等。通過 Home Assistant,我可以實現對這些設備的集中控制,在一個 APP 中就能管理所有的智能家居設備。還能設置自動化場景,在晚上回家時,自動打開燈光、調節空調溫度;在出門時,自動關閉所有電器設備,讓生活更加便捷和智能化。

常見問題與解決方案

在使用群暉 DS 223 的 Docker 過程中,難免會遇到一些問題,下面為大家總結一些常見問題及對應的解決方案。

鏡像下載慢

鏡像下載速度慢是比較常見的問題,這可能是由于網絡連接不穩定或者鏡像源距離較遠導致的。解決這個問題,可以使用國內的鏡像加速器,如阿里云鏡像加速器。具體操作方法是,在群暉 DS 223 的 SSH 終端中,切換到 root 用戶,然后編輯 “/var/packages/Docker/etc/dockerd.json” 文件,在文件中添加鏡像加速器地址,如下所示:

{    "data - root": "/var/packages/Docker/target/docker",    "log - driver": "db",    "ipv6": true,    "registry - mirrors": \["https://pee6w651.mirror.aliyuncs.com"]}

修改完成后,保存文件并重啟 Docker 套件或重啟群暉,這樣在下載鏡像時就會從指定的鏡像加速器獲取,大大提高下載速度。

容器啟動失敗

容器啟動失敗的原因有多種。其中,容器端口沖突是一個常見因素,當容器試圖監聽一個已經被占用的端口時,就會導致啟動失敗。解決辦法是修改容器的端口映射配置,將容器的端口映射到一個沒有被占用的宿主機端口。在 Container Manager 中,找到要修改的容器,點擊 “編輯”,在 “端口設置” 中重新設置端口映射,比如將容器內部的 80 端口映射到宿主機的 8081 端口(假設 8081 端口未被占用)。

掛載目錄權限問題也可能導致容器啟動失敗。在使用 Docker 時,經常需要將宿主機的目錄掛載到容器中,實現數據共享或持久化存儲。如果宿主機目錄的權限設置不正確,就會引發問題。解決方法是確保宿主機目錄具有正確的讀寫權限,可以使用 chmod 命令修改目錄權限,例如:chmod 777 /path/to/directory ,同時要確保宿主機上沒有其他進程占用了要掛載的目錄。

此外,容器鏡像下載失敗也會致使容器無法啟動。當 Docker 啟動容器時,如果指定的鏡像不存在本地,Docker 會嘗試從 Docker Hub 或者其他鏡像倉庫下載該鏡像。若下載過程中出現網絡問題或者鏡像倉庫不存在該鏡像,就會導致啟動失敗。此時,需要檢查網絡連接是否正常,確保能夠訪問 Docker Hub 或者其他鏡像倉庫,可嘗試使用 ping 命令測試網絡連通性,也可以使用國內的鏡像倉庫加速鏡像下載,如前文提到的阿里云鏡像加速器 。

無法訪問容器內應用

有時候,雖然容器已經成功啟動,但卻無法訪問容器內的應用程序。這可能是由于端口映射錯誤或者防火墻阻擋了訪問。首先,檢查容器的端口映射設置是否正確,在 Container Manager 中查看容器的端口映射配置,確保容器內部端口與宿主機端口的映射關系正確。如果端口映射無誤,再檢查群暉的防火墻設置,打開群暉的控制面板,找到 “安全性” 設置,選擇 “防火墻” 選項卡,查看是否有規則阻止了對容器端口的訪問。若有相關規則,可添加允許訪問的規則,在 “來源” 字段中選擇 “任何人”,在 “目標” 字段中選擇 “Docker 宿主機”,在 “協議和端口” 字段中選擇相應的協議(如 TCP 或 UDP)以及容器使用的端口范圍,保存規則并重啟群暉,即可解決訪問問題。

總結與展望

群暉 DS 223 與 Docker 的結合,無疑為用戶打開了一扇通往高效數據管理與豐富應用部署的大門。通過本文的介紹,我們深入了解了群暉 DS 223 在硬件和系統層面為 Docker 提供的有力支持,掌握了 Docker 在 DS 223 上的安裝、設置以及鏡像和容器的操作實戰技巧,還通過搭建個人云盤和智能家居平臺等應用案例,切實感受到了這一組合的強大魅力。

在使用群暉 DS 223 的 Docker 過程中,雖然可能會遇到一些問題,但通過合理的解決方案,都能一一克服,讓我們的使用體驗更加順暢。未來,隨著技術的不斷發展,群暉 DS 223 的性能有望進一步提升,Docker 技術也會更加成熟和完善,為我們帶來更多的驚喜。我期待著在未來,能夠探索更多基于群暉 DS 223 和 Docker 的應用場景,如搭建更強大的私有云辦公系統,實現企業級的應用容器化部署等。也希望更多的用戶能夠加入到探索的行列中來,分享自己的經驗和心得,共同推動這一領域的發展。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/71961.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/71961.shtml
英文地址,請注明出處:http://en.pswp.cn/web/71961.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

git切換版本

git brach 查看本地 剛從git上下載下來 的話 可以通過 git checkout xxxx進行切換 可能一段時間沒有用 而服務器上新建了某些版本 那么需要用 git fetch origin 同步本地與git服務器的分支 然后 創建本地分支xxx 并從服務器拉取xxx git checkout -b xxx origin/xxx…

Three.js 進階(燈光陰影關系和設置、平行光、陰影相機)

本篇主要學習內容 : 燈光與陰影聚光燈點光源平行光陰影相機和陰影計算投射陰影接受陰影 點贊 關注 收藏 學會了 1.燈光與陰影 1、材質要滿足能夠對光有反應 2、設置渲染器開啟陰影計算 renderer.shadowMap.enabledtrue 3、設置光照投射陰影 directionalLight.castShadow …

【 <一> 煉丹初探:JavaWeb 的起源與基礎】之 Tomcat 的工作原理:從啟動到請求處理的流程

<前文回顧> 點擊此處查看 合集 https://blog.csdn.net/foyodesigner/category_12907601.html?fromshareblogcolumn&sharetypeblogcolumn&sharerId12907601&sharereferPC&sharesourceFoyoDesigner&sharefromfrom_link <今日更新> 一、Tomcat…

【GPT入門】第11課 FunctionCall調用本地代碼入門

【GPT入門】第11課 FunctionCall調用代碼入門 1. 手撕FunctionCall2.代碼3.functionCall的結果 1. 手撕FunctionCall 為了了解&#xff0c;funcationCall底層&#xff0c;手寫一個functionCall多方法&#xff0c;并調用&#xff0c;體驗 思路&#xff1a; 任務&#xff1a;讓…

MySQL主從架構配合ShardingJdbc實現讀寫分離

文章目錄 目錄架構搭建讀寫分離pom.xmlfdy-live-user-provider 模塊application.ymlfdy-db-sharding.yamlShardingJdbcDatasourceAutoInitConnectionConfig.java 目錄 架構搭建 基于Docker去創建MySQL的主從架構 讀寫分離 pom.xml <dependency><groupId>mysql…

計網面試準備

正確理解網絡數據傳輸過程 同一路由器的不同接口屬于不同局域網&#xff0c;廣播只能在同一個局域網

NLP常見任務專題介紹(1)-關系抽取(Relation Extraction, RE)任務訓練模板

?? 關系抽取(Relation Extraction, RE)任務訓練示例 本示例展示如何訓練一個關系抽取模型,以識別兩個實體之間的關系。 1?? 任務描述 目標:從文本中提取兩個實體之間的語義關系,例如 “人物 - 組織”、“藥物 - 疾病”、“公司 - 創始人” 等。輸入:句子 + 標注的實…

【技術白皮書】內功心法 | 第二部分 | Telnet遠程登錄的工作原理

遠程登錄的工作原理 背景介紹遠程登錄遠程登錄的服務模式遠程登錄服務的實現基礎遠程登錄服務的運行模式Telnet服務為什么不被操作系統管理 Telnet協議的原理網絡虛終端&#xff08;NVT&#xff09;結束標示NVT的原理NVT屏蔽差異 背景介紹 絕大多數計算機都是運行多用戶操作系…

在 Spring Boot 中實現基于 TraceId 的日志鏈路追蹤

1 前言 1.1 什么是 TraceId? TraceId 是一個唯一的標識符,用于跟蹤分布式系統中的請求。每個請求從客戶端發起到服務端處理,再到可能的多個微服務調用,都會攜帶這個 TraceId,以便在整個請求鏈路中進行追蹤和調試。 1.2 日志鏈路追蹤的意義 日志鏈路追蹤可以幫助開發者…

游戲引擎學習第150天

回顧與當天計劃 我們在這里完全不使用任何庫&#xff0c;所以我們完全是引擎和庫免疫的, 正如大家所知道的&#xff0c;我們正在編寫自己的資源處理系統&#xff0c;準確來說&#xff0c;是一個資源加載系統。過去一周我們已經完成了很多工作&#xff0c;現在只剩下最后幾步&a…

Flutter中stream學習

Flutter中stream學習 概述Stream的基礎概念stream的常用方法Stream.fromFuture(Future<T> future)Stream.fromFutures(Iterable<Future<T>> futures)Stream.fromIterable(Iterable<T> elements)Stream.periodic(Duration period, [T computation(int c…

基于javaweb的SSM房屋租賃管理系統設計和實現(源碼+文檔+部署講解)

技術范圍&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬蟲、數據可視化、小程序、安卓app、大數據、物聯網、機器學習等設計與開發。 主要內容&#xff1a;免費功能設計、開題報告、任務書、中期檢查PPT、系統功能實現、代碼編寫、論文編寫和輔導、論…

物聯網商業模式

物聯網商業模式是一種戰略規劃&#xff0c;它融合了物聯網技術來創造價值并獲取收入。它與傳統商業模式的不同之處在于&#xff0c;它利用互聯設備來改善運營、提升客戶體驗以及優化服務項目。在當今由科技驅動的世界中&#xff0c;這種商業模式通過利用實時數據來提供創新服務…

從0開始的操作系統手搓教程45——實現exec

目錄 建立抽象 實現加載 實現sys_execv &#xff01;&#xff01;&#xff01;提示&#xff1a;因為實現問題沒有測試。所以更像是筆記&#xff01; exec 函數的作用是用新的可執行文件替換當前進程的程序體。具體來說&#xff0c;exec 會將當前正在運行的用戶進程的進程體&…

【python爬蟲】酷狗音樂爬取練習

注意&#xff1a;本次爬取的音樂僅有1分鐘試聽&#xff0c;僅作學習爬蟲的原理&#xff0c;完整音樂需要自行下載客戶端。 一、 初步分析 登陸酷狗音樂后隨機選取一首歌&#xff0c;在請求里發現一段mp3文件&#xff0c;復制網址&#xff0c;確實是我們需要的url。 復制音頻的…

Linux開發工具----vim

目錄 Linux編輯器-vim使用 1. vim的基本概念 正常/普通/命令模式(Normal mode) 插入模式(Insert mode) 底行模式(last line mode) 2. vim的基本操作 3. vim正常模式命令集 4. vim底行模式命令集 5. vim操作總結 (本篇文章相當于vim常用命令字典) Linux編輯器-vim使用 我們先來看…

基于云函數的自習室預約微信小程序+LW示例參考

全階段全種類學習資源&#xff0c;內涵少兒、小學、初中、高中、大學、專升本、考研、四六級、建造師、法考、網賺技巧、畢業設計等&#xff0c;持續更新~ 文章目錄 [TOC](文章目錄) 1.項目介紹2.項目部署3.項目部分截圖4.獲取方式 1.項目介紹 技術棧工具&#xff1a;云數據庫…

卷積神經網絡與計算機視覺:從數學基礎到實戰應用

卷積神經網絡與計算機視覺&#xff1a;從數學基礎到實戰應用 摘要 本文深入解析卷積神經網絡&#xff08;CNN&#xff09;的核心原理及其在計算機視覺中的應用。首先介紹卷積與互相關的數學定義及在神經網絡中的實際應用差異&#xff0c;接著從系統設計視角分析卷積的線性代數…

從Manus到OpenManus:多智能體協作框架如何重構AI生產力?

文章目錄 Manus&#xff1a;封閉生態下的通用AI智能體OpenManus&#xff1a;開源社區的閃速復刻挑戰與未來&#xff1a;框架落地的現實邊界當前局限性未來演進方向 OpenManus使用指南1. 環境配置2. 參數配置3. 替換搜索引擎4. 運行效果 協作框架開啟AI生產力革命 Manus&#xf…

js 使用 Web Workers 來實現一個精確的倒計時,即使ios手機鎖屏或頁面進入后臺,倒計時也不會暫停。

## 效果如上 <!-- 將 main.js 和 worker.js 放在同一個目錄下&#xff0c;然后在 HTML 文件中引入 main.js --><!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content&q…