使用 Docker(Podman) 部署 MongoDB 數據庫及使用詳解

在現代開發環境中,容器化技術(如 Docker 和 Podman)已成為部署和管理應用程序的標準方式。本文將詳細介紹如何使用 Podman/Docker 部署 MongoDB 數據庫,并確保其他應用程序容器能夠通過 Docker 網絡成功連接到 MongoDB。我們將逐步解決常見的問題,如權限配置和認證設置,應用容器如何連接和使用容器中的MongoDB 數據庫等。

選擇 Podman 而不是 Docker

為什么選擇 Podman?

  • 無守護進程:Podman 不需要守護進程(daemon)即可運行容器,這使得它更安全和易于管理。
  • 根權限不是必須:Podman 允許非特權用戶運行容器,而 Docker 需要 root 權限或通過 docker 組來管理容器。
  • 兼容性:Podman 可以與 Docker 鏡像和容器無縫兼容,這意味著你可以使用現有的 Dockerfile 和配置文件。
  • 資源效率:Podman 更加輕量級,對資源的需求較低,適合在資源受限的環境中運行。

1. 安裝 Podman

首先,確保你已經安裝了 Podman。如果尚未安裝,可以按照以下步驟進行安裝:

在 Ubuntu 上安裝 Podman

  1. 更新包列表

    sudo apt-get update
    
  2. 安裝 Podman

    sudo apt-get install -y podman
    
  3. 驗證安裝

    podman run hello-world
    

    這將檢驗 Podman 是否安裝成功。

2. 創建并運行 MongoDB 容器

2.1 創建目錄并調整權限

確保數據目錄和日志目錄存在并且權限正確。MongoDB 容器內的 mongodb 用戶(UID 999 和 GID 999)需要對這些目錄有讀寫權限。

mkdir -p ~/mongodb/data
mkdir -p ~/mongodb/logs
sudo chown -R 999:999 ~/mongodb/data
sudo chown -R 999:999 ~/mongodb/logs

2.2 創建配置文件 mongod.conf

創建一個 MongoDB 配置文件 mongod.conf,內容如下:

systemLog:destination: filepath: "/var/log/mongodb/mongod.log"logAppend: true
storage:dbPath: "/data/db"
net:bindIp: "0.0.0.0"port: 27017
security:authorization: "disabled"

2.3 創建自定義 Docker 網絡

創建一個自定義的 Docker 網絡,以便其他容器可以連接到 MongoDB 容器。

podman network create dco-net

2.4 運行 MongoDB 容器

使用以下命令運行 MongoDB 容器,并確保配置文件正確掛載:

podman run -d \--name mongodb \-v ~/mongodb/data:/data/db \-v ~/mongodb/logs:/var/log/mongodb \-v ~/mongodb/mongod.conf:/etc/mongod.conf \--network dco-net \docker.io/library/mongo:latest \-f /etc/mongod.conf
  • -d:后臺運行容器。
  • -v ~/mongodb/data:/data/db:將主機上的數據目錄掛載到容器內的 /data/db 目錄,實現數據持久化。
  • -v ~/mongodb/logs:/var/log/mongodb:將主機上的日志目錄掛載到容器內的 /var/log/mongodb 目錄,實現日志持久化。
  • -v ~/mongodb/mongod.conf:/etc/mongod.conf:將主機上的配置文件掛載到容器內的 /etc/mongod.conf 目錄,確保 MongoDB 使用指定的配置文件。
  • --network dco-net:將容器連接到自定義的 dco-net 網絡。
  • --name mongodb:為容器指定名稱。
  • docker.io/library/mongo:latest:使用的 Docker 鏡像名稱,從官方 Docker Hub 拉取。
  • -f /etc/mongod.conf:指定使用 /etc/mongod.conf 配置文件。

3. 創建 MongoDB 用戶和權限

3.1 進入 MongoDB 容器并啟動 MongoDB Shell

podman exec -it mongodb /bin/bash
mongo

3.2 創建 admin 用戶和權限

在 MongoDB Shell 中,創建 admin 數據庫的用戶并分配權限。例如:

use admin
db.createUser({user: "admin",pwd: "admin123",roles: [{ role: "root", db: "admin" }]
})
exit
exit

3.3 創建 atomdco 用戶和權限

在 MongoDB Shell 中,創建 atomdco 數據庫的用戶并分配權限。例如:

podman exec -it mongodb /bin/bash
mongo -u admin -p admin123 --authenticationDatabase admin
use atomdco
db.createUser({user: "test1",pwd: "111111",roles: [{ role: "readWrite", db: "atomdco" }]
})
exit
exit

4. 啟用 MongoDB 認證

4.1 停止并刪除 MongoDB 容器

首先,停止并刪除現有的 MongoDB 容器,以確保新的容器能夠正確加載配置文件。

podman stop mongodb
podman rm mongodb

4.2 修改配置文件 mongod.conf 以啟用認證

編輯 mongod.conf 文件,啟用 authorization

systemLog:destination: filepath: "/var/log/mongodb/mongod.log"logAppend: true
storage:dbPath: "/data/db"
net:bindIp: "0.0.0.0"port: 27017
security:authorization: "enabled"

4.3 重新運行 MongoDB 容器

使用修改后的配置文件重新運行 MongoDB 容器:

podman run -d \--name mongodb \-v ~/mongodb/data:/data/db \-v ~/mongodb/logs:/var/log/mongodb \-v ~/mongodb/mongod.conf:/etc/mongod.conf \--network dco-net \docker.io/library/mongo:latest \-f /etc/mongod.conf

5. 驗證 MongoDB 容器是否正確運行

5.1 查看容器狀態

podman ps -a

你應該能看到類似以下的輸出:

CONTAINER ID  IMAGE                           COMMAND     CREATED        STATUS        PORTS       NAMES
cd25ac473660  docker.io/library/mongo:latest  mongod      6 minutes ago  Up 6 minutes              mongodb

5.2 查看日志文件

確保 MongoDB 容器正確加載了配置文件并啟動了日志記錄。

podman logs mongodb

或者實時查看日志文件:

podman logs -f mongodb

你應該能看到類似以下的日志信息,確認 MongoDB 正確加載了配置文件并監聽了所有網絡接口:

{"t":{"$date":"2025-02-01T08:59:09.471Z"},"s":"I",  "c":"CONTROL",  "id":20568,   "ctx":"main","msg":"Waiting for connections","attr":{"port":27017,"ssl":"disabled"}}

5.3 驗證端口監聽

進入 MongoDB 容器并查看端口是否正確監聽。

podman exec -it mongodb /bin/bash
ss -tuln

你應該能看到類似以下的輸出:

Netid  State   Recv-Q  Send-Q  Local Address:Port               Peer Address:Port
tcp    LISTEN  0       0       0.0.0.0:27017                 0.0.0.0:*

6. 應用所在的容器如何連接到mongodb容器

假設有一godco的應用,有配置文件etc/godco-api.yaml,演示下該應用,如何使用上述創建好的mongodb數據庫。

修改 etc/godco-api.yaml 中的 MongoDB 連接字符串。

由于 godco 容器和 mongodb 容器在同一個自定義網絡中,可以使用 mongodb 作為主機名。修改 etc/godco-api.yaml 文件中的 MongoDB 連接字符串如下:

MonDB:Url: "mongodb://test1:111111@mongodb:27017/?tls=false&authSource=atomdco"DbName: "atomdco"

在這個配置中:

  • mongodb 是 MongoDB 容器的名稱。
  • test1 是 MongoDB 用戶名。
  • 111111 是 MongoDB 密碼。
  • authSource=atomdco 指定認證數據庫為 atomdco

7. 運行 godco 容器并連接到自定義網絡

使用以下命令運行 godco 容器,并將其連接到自定義網絡:

podman run -d \-p 8080:8080 \-v /path/to/your/etc:/app/etc \-v /path/to/your/static:/app/static \--network dco-net \--name dco-verification-app \godco:latest
  • -d:后臺運行容器。
  • -p 8080:8080:將容器的 8080 端口映射到主機的 8080 端口。
  • -v /path/to/your/etc:/app/etc:將主機上的配置文件目錄掛載到容器內的 /app/etc 目錄。
  • -v /path/to/your/static:/app/static:將主機上的靜態文件目錄掛載到容器內的 /app/static 目錄。
  • --network dco-net:將容器連接到自定義的 dco-net 網絡。
  • --name dco-verification-app:為容器指定名稱。
  • godco:latest:使用的 Docker 鏡像名稱。

8. 驗證 godco 容器是否成功連接到 MongoDB

查看 godco 容器的日志文件,以確認它是否成功連接到 MongoDB 容器。

podman logs dco-verification-app

或者實時查看日志文件:

podman logs -f dco-verification-app

你應該能看到類似以下的日志信息,確認 godco 成功連接到 MongoDB:

[info] Connected to MongoDB server at mongodb:27017
[info] MongoDB database atomdco is ready

9. 使用 mongosh 連接到 MongoDB 并提供認證信息

9.1 獲取 MongoDB 容器的 IP 地址

如果你的 MongoDB 容器已經映射了宿主機的端口(例如,使用 -p 27017:27017 參數),您可以直接使用宿主機的 IP 地址和映射的端口來連接。

mongosh "mongodb://username:password@localhost:27017/?authSource=atomdco"

由于上述我的測試沒有啟用該端口映射,所以需要以下方式連接:

使用 podman inspect 命令獲取 MongoDB 容器的 IP 地址:

podman inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mongodb

假設輸出的 IP 地址為 10.89.0.5

9.2 連接到 MongoDB 并提供認證信息

使用 mongosh 連接到 MongoDB 并提供認證信息。例如:

mongosh "mongodb://test1:111111@10.89.0.5:27017/?authSource=atomdco"

9.3 驗證數據庫

mongosh 中,你可以使用 show databases 命令來查看數據庫。

show databases

你應該能看到類似以下的輸出:

admin   0.000GB
config  0.000GB
local   0.000GB
atomdco 0.000GB

10. 常見問題及解決方法

10.1 配置文件路徑錯誤

確保配置文件路徑正確,并且文件存在。

10.2 配置文件語法錯誤

檢查 mongod.conf 文件是否有語法錯誤。可以使用 mongod --config /etc/mongod.conf 在主機上測試配置文件。

10.3 權限問題

確保數據目錄和日志目錄對 MongoDB 容器有正確的讀寫權限。使用 chown 命令調整權限。

10.4 鏡像版本問題

確保你使用的 MongoDB 鏡像版本正確,并且配置文件與該版本兼容。

11. 總結

通過上述步驟,你可以成功地使用 Podman 部署 MongoDB 數據庫,并確保其他應用程序容器能夠通過 Docker 網絡成功連接到 MongoDB。以下是完整的步驟總結:

11.1 創建目錄并調整權限

mkdir -p ~/mongodb/data
mkdir -p ~/mongodb/logs
sudo chown -R 999:999 ~/mongodb/data
sudo chown -R 999:999 ~/mongodb/logs

11.2 創建配置文件 mongod.conf(禁用認證)

systemLog:destination: filepath: "/var/log/mongodb/mongod.log"logAppend: true
storage:dbPath: "/data/db"
net:bindIp: "0.0.0.0"port: 27017
security:authorization: "disabled"

11.3 創建自定義 Docker 網絡

podman network create dco-net

11.4 運行 MongoDB 容器(禁用認證)

podman run -d \--name mongodb \-v ~/mongodb/data:/data/db \-v ~/mongodb/logs:/var/log/mongodb \-v ~/mongodb/mongod.conf:/etc/mongod.conf \--network dco-net \docker.io/library/mongo:latest \-f /etc/mongod.conf

11.5 創建 admin 用戶和權限

podman exec -it mongodb /bin/bash
mongo
use admin
db.createUser({user: "admin",pwd: "admin123",roles: [{ role: "root", db: "admin" }]
})
exit
exit

11.6 創建 atomdco 用戶和權限

podman exec -it mongodb /bin/bash
mongo -u admin -p admin123 --authenticationDatabase admin
use atomdco
db.createUser({user: "test1",pwd: "111111",roles: [{ role: "readWrite", db: "atomdco" }]
})
exit
exit

11.7 停止并刪除 MongoDB 容器

podman stop mongodb
podman rm mongodb

11.8 修改配置文件 mongod.conf 以啟用認證

編輯 mongod.conf 文件,啟用 authorization

systemLog:destination: filepath: "/var/log/mongodb/mongod.log"logAppend: true
storage:dbPath: "/data/db"
net:bindIp: "0.0.0.0"port: 27017
security:authorization: "enabled"

11.9 重新運行 MongoDB 容器(啟用認證)

podman run -d \--name mongodb \-v ~/mongodb/data:/data/db \-v ~/mongodb/logs:/var/log/mongodb \-v ~/mongodb/mongod.conf:/etc/mongod.conf \--network dco-net \docker.io/library/mongo:latest \-f /etc/mongod.conf

11.10 驗證 MongoDB 容器是否正確運行

podman ps -a

11.11 驗證日志文件

ls -l ~/mongodb/logs

11.12 驗證端口監聽

podman exec -it mongodb /bin/bash
ss -tuln

11.13 修改 etc/godco-api.yaml 中的 MongoDB 連接字符串

MonDB:Url: "mongodb://test1:111111@mongodb:27017/?tls=false&authSource=atomdco"DbName: "atomdco"

11.14 運行 godco 容器

podman run -d \-p 8080:8080 \-v /path/to/your/etc:/app/etc \-v /path/to/your/static:/app/static \--network dco-net \--name dco-verification-app \godco:latest

11.15 驗證 godco 容器的日志

podman logs dco-verification-app

或者實時查看日志文件:

podman logs -f dco-verification-app

11.16 使用 mongosh 連接到 MongoDB 并提供認證信息

  1. 獲取 MongoDB 容器的 IP 地址

    podman inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mongodb
    

    假設輸出的 IP 地址為 10.89.0.5

  2. 連接到 MongoDB 并提供認證信息

    mongosh "mongodb://test1:111111@10.89.0.5:27017/?authSource=atomdco"
    
  3. 驗證數據庫

    show databases
    

    你應該能看到類似以下的輸出:

    admin   0.000GB
    config  0.000GB
    local   0.000GB
    atomdco 0.000GB
    

通過這些步驟,確保 MongoDB 容器正確運行并加載配置文件,同時 godco 容器能夠通過 Docker 網絡成功連接到 MongoDB 容器。

12. 參考資料

  • Podman 官方文檔
  • MongoDB 官方文檔
  • MongoDB Shell 官方文檔

13. 作者信息

Author: csdn貓哥,轉載請注明出處
Date: 2025-02-01


通過本文,你將掌握如何使用 Podman 部署 MongoDB 數據庫,并配置其他容器通過 Docker 網絡連接到 MongoDB。確保在每一階段都仔細檢查配置文件和權限設置,以避免常見的啟動問題。


詳細步驟和命令總結

以下是完整的步驟和命令總結,確保 MongoDB 容器正確部署并啟用認證:

1. 創建目錄并調整權限
mkdir -p ~/mongodb/data
mkdir -p ~/mongodb/logs
sudo chown -R 999:999 ~/mongodb/data
sudo chown -R 999:999 ~/mongodb/logs
2. 創建配置文件 mongod.conf(禁用認證)

在主機上創建 mongod.conf 文件,內容如下:

systemLog:destination: filepath: "/var/log/mongodb/mongod.log"logAppend: true
storage:dbPath: "/data/db"
net:bindIp: "0.0.0.0"port: 27017
security:authorization: "disabled"
3. 創建自定義 Docker 網絡
podman network create dco-net
4. 運行 MongoDB 容器(禁用認證)
podman run -d \--name mongodb \-v ~/mongodb/data:/data/db \-v ~/mongodb/logs:/var/log/mongodb \-v ~/mongodb/mongod.conf:/etc/mongod.conf \--network dco-net \docker.io/library/mongo:latest \-f /etc/mongod.conf
5. 創建 admin 用戶和權限
podman exec -it mongodb /bin/bash
mongo
use admin
db.createUser({user: "admin",pwd: "admin123",roles: [{ role: "root", db: "admin" }]
})
exit
exit
6. 創建 atomdco 用戶和權限
podman exec -it mongodb /bin/bash
mongo -u admin -p admin123 --authenticationDatabase admin
use atomdco
db.createUser({user: "test1",pwd: "111111",roles: [{ role: "readWrite", db: "atomdco" }]
})
exit
exit
7. 停止并刪除 MongoDB 容器
podman stop mongodb
podman rm mongodb
8. 修改配置文件 mongod.conf 以啟用認證

編輯 mongod.conf 文件,啟用 authorization

systemLog:destination: filepath: "/var/log/mongodb/mongod.log"logAppend: true
storage:dbPath: "/data/db"
net:bindIp: "0.0.0.0"port: 27017
security:authorization: "enabled"
9. 重新運行 MongoDB 容器(啟用認證)
podman run -d \--name mongodb \-v ~/mongodb/data:/data/db \-v ~/mongodb/logs:/var/log/mongodb \-v ~/mongodb/mongod.conf:/etc/mongod.conf \--network dco-net \docker.io/library/mongo:latest \-f /etc/mongod.conf
10. 驗證 MongoDB 容器是否正確運行
podman ps -a
11. 驗證日志文件
ls -l ~/mongodb/logs
12. 驗證端口監聽
podman exec -it mongodb /bin/bash
ss -tuln
13. 修改 etc/godco-api.yaml 中的 MongoDB 連接字符串
MonDB:Url: "mongodb://test1:111111@mongodb:27017/?tls=false&authSource=atomdco"DbName: "atomdco"
14. 運行 godco 容器
podman run -d \-p 8080:8080 \-v /path/to/your/etc:/app/etc \-v /path/to/your/static:/app/static \--network dco-net \--name dco-verification-app \godco:latest
15. 驗證 godco 容器的日志
podman logs dco-verification-app

或者實時查看日志文件:

podman logs -f dco-verification-app
16. 使用 mongosh 連接到 MongoDB 并提供認證信息
  1. 獲取 MongoDB 容器的 IP 地址

    podman inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mongodb
    

    假設輸出的 IP 地址為 10.89.0.5

  2. 連接到 MongoDB 并提供認證信息

    mongosh "mongodb://test1:111111@10.89.0.5:27017/?authSource=atomdco"
    
  3. 驗證數據庫

    show databases
    

    你應該能看到類似以下的輸出:

    admin   0.000GB
    config  0.000GB
    local   0.000GB
    atomdco 0.000GB
    

通過這些步驟,確保 MongoDB 容器正確運行并加載配置文件,同時 godco 容器能夠通過 Docker 網絡成功連接到 MongoDB 容器。


希望這篇博文能幫助你順利使用 Docker/Podman 部署 MongoDB 數據庫,并解決常見的部署和使用問題。如果你有任何疑問或遇到其他問題,請隨時留言提問。

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

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

相關文章

Games104——游戲引擎Gameplay玩法系統:基礎AI

這里寫目錄標題 尋路/導航系統NavigationWalkable AreaWaypoint NetworkGridNavigation Mesh(尋路網格)Sparse Voxel Octree Path FindingDijkstra Algorithm迪杰斯特拉算法A Star(A*算法) Path Smoothing Steering系統Crowd Simu…

Win11非虛擬機安裝ISE14.7

官網下載6.18GB 的 Full Installer for Windows 7/XP/Server解壓后運行安裝程序不勾選Enable WebTalk to send software, IP ...安裝程序卡死在ISE:Configure WebTalk,此時打開任務管理器,在詳情中找到xwebtalk,右鍵結束任務。安裝程序繼續進…

從0開始達芬奇(3.8)

剪視頻有主次之分,主就是Aroll,次就是Broll。 智能媒體夾: 媒體池的智能媒體夾部分可以很好區分主次。這個相當于智能搜索,當有大量的素材時,可以為這些素材標明信息,下次使用不需要反復看,直…

【Elasticsearch】parent aggregation

在Elasticsearch中,Parent Aggregation是一種特殊的單桶聚合,用于選擇具有指定類型的父文檔,這些類型是通過一個join字段定義的。以下是關于Parent Aggregation的詳細介紹: 1.基本概念 Parent Aggregation是一種聚合操作&#x…

自學Java-面向對象編程入門

自學Java-面向對象編程入門 一、靜態方法的注意事項二、簡易版電影信息展示系統1、測試類2、電影類3、電影操作類 一、靜態方法的注意事項 1、靜態方法中可以直接訪問靜態成員,不可以直接訪問實例成員 2、實例方法中既可以直接訪問靜態成員,也可以直接訪…

python算法和數據結構刷題[3]:哈希表、滑動窗口、雙指針、回溯算法、貪心算法

回溯算法 「所有可能的結果」,而不是「結果的個數」,一般情況下,我們就知道需要暴力搜索所有的可行解了,可以用「回溯法」。 回溯算法關鍵在于:不合適就退回上一步。在回溯算法中,遞歸用于深入到所有可能的分支&…

【自學筆記】Python的基礎知識點總覽-持續更新

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 文章目錄 Python基礎知識總覽1. Python簡介2. 安裝與環境配置3. 基本語法3.1 變量與數據類型3.2 控制結構3.3 函數與模塊3.4 文件操作 4. 面向對象編程(OOP&#…

文件上傳到騰訊云存儲、簽名及設置過期時間

將文件上傳到騰訊云對象存儲(COS,Cloud Object Storage)可以通過騰訊云提供的 SDK 實現。以下是詳細的步驟和示例代碼,幫助您完成文件上傳操作。 步驟 注冊騰訊云賬號并創建存儲桶: (1)登錄騰訊…

基于Java(SpringBoot)+MySQL+Vue實現的平行志愿錄取系統

基于spring bootvue實現的平行志愿錄取系統 1.項目簡介 這兩天干上高考出成績,有不少親戚家的孩子今年高考,和我詢問關于報志愿的問題。老家河北今年是采用所謂的平行志愿。我看了很多的資料才明白什么叫所謂的“平行志愿”。 整個流程好像很是復雜。…

chrome瀏覽器chromedriver下載

chromedriver 下載地址 https://googlechromelabs.github.io/chrome-for-testing/ 上面的鏈接有和當前發布的chrome瀏覽器版本相近的chromedriver 實際使用感受 chrome瀏覽器會自動更新,可以去下載最新的chromedriver使用,自動化中使用新的chromedr…

Redis常見數據類型與編碼方式

??前言?? 本小節圍繞Redis中常見的數據類型與編碼方式展開。 🍉歡迎點贊 👍 收藏 ?留言評論 🍉博主將持續更新學習記錄收獲,友友們有任何問題可以在評論區留言 🍉博客中涉及源碼及博主日常練習代碼均已上傳GitHu…

win編譯openssl

一、perl執行腳本 1、安裝perl腳本 perl安裝 2、配置perl腳本 perl Configure VC-WIN32 no-asm no-shared --prefixE:\openssl-x.x.x\install二、編譯openssl 1、使用vs工具編譯nmake 如果使用命令行nmake編譯會提示“無法打開包括文件: “limits.h”“ 等錯誤信息 所以…

【Kubernetes Pod間通信-第2篇】使用BGP實現Pod到Pod的通信

Kubernetes中Pod間的通信 本系列文章共3篇: 【Kubernetes Pod間通信-第1篇】在單個子網中使用underlay網絡實現Pod到Pod的通信【Kubernetes Pod間通信-第2篇】使用BGP實現Pod到Pod的通信(本文介紹)【Kubernetes Pod間通信-第3篇】Kubernetes中Pod與ClusterIP服務之間的通信…

< 自用文兒 > 下載 MaxMind GeoIP Databases 對攻擊的 IP 做 地理分析

起因 兩個 VPM/VPS,安裝了 fail2ban 去攔截密碼窮舉攻擊。每天的記錄都在增長,以前復制屏幕輸出就行,一屏的內容還容易粘貼出來的。昨天已經過 500 條,好奇 fail2ban 是如何存儲這些內容的?就發現它在使用 SQLite3 數…

SpringCloudGateWay和Sentinel結合做黑白名單來源控制

假設我們的分布式項目,admin是8087,gateway是8088,consumer是8086 我們一般的思路是我們的請求必須經過我們的網關8088然后網關轉發到我們的分布式項目,那我要是沒有處理我們繞過網關直接訪問項目8087和8086不也是可以&#xff1…

C#面試常考隨筆12:游戲開發中常用的設計模式【C#面試題(中級篇)補充】

C#面試題(中級篇),詳細講解,幫助你深刻理解,拒絕背話術!-CSDN博客 簡單工廠模式 優點: 根據條件有工廠類直接創建具體的產品 客戶端無需知道具體的對象名字,可以通過配置文件創建…

數字人|通過語音和圖片來創建高質量的視頻

簡介 arXiv上的計算機視覺領域論文: AniPortrait: Audio-Driven Synthesis of Photorealistic Portrait Animation AniPortrait:照片級真實感肖像動畫的音頻驅動合成 核心內容圍繞一種新的人像動畫合成框架展開。 研究內容 提出 AniPortrait 框架&a…

數據結構實戰之線性表(三)

目錄 1.順序表釋放 2.順序表增加空間 3.合并順序表 4.線性表之鏈表實現 1.項目結構以及初始代碼 2.初始化鏈表(不帶頭結點) 3.鏈表尾部插入數據并顯示 4.鏈表頭部插入數據 5.初始化鏈表(帶頭結點) 6.帶頭結點的鏈表頭部插入數據并顯示 7.帶頭結…

Docker使用指南(一)——鏡像相關操作詳解(實戰案例教學,適合小白跟學)

目錄 1.鏡像名的組成 2.鏡像操作相關命令 鏡像常用命令總結: 1. docker images 2. docker rmi 3. docker pull 4. docker push 5. docker save 6. docker load 7. docker tag 8. docker build 9. docker history 10. docker inspect 11. docker prune…

C++基礎day1

前言:謝謝阿秀,指路阿秀的學習筆記 一、基礎語法 1.構造和析構: 類的構造函數是一種特殊的函數,在創建一個新的對象時調用。類的析構函數也是一種特殊的函數,在刪除所創建的對象時調用。 構造順序:父類->子類 析…