NetBox Docker 全功能部署方案(Ubuntu 22.04 + Docker)

環境準備

  1. 檢查操作系統版本
    • 本方案使用 Ubuntu 22.04,并在 VMware 虛擬機中運行。通過以下命令檢查系統版本:
      lsb_release -a
    • 如果未安裝 Ubuntu 22.04,請下載并安裝一個全新的系統。
  2. 更新系統軟件源
    • 更新軟件包列表并安裝最新軟件:
      sudo apt-get update
      sudo apt-get upgrade -y
安裝 Docker 和 Docker Compose
  1. 安裝必備工具
    sudo apt-get install -y ca-certificates curl gnupg lsb-release
  2. 添加 Docker 官方 GPG 密鑰和倉庫
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    sudo apt-get update
  3. 安裝 Docker Engine
    sudo apt-get install -y docker-ce docker-ce-cli containerd.io
    • 驗證 Docker 安裝:
      docker --version
  4. 配置 Docker 守護進程
    • 創建或編輯 Docker 守護進程配置文件 /etc/docker/daemon.json:
      sudo mkdir -p /etc/docker
      sudo tee /etc/docker/daemon.json <<EOF
      {"dns": ["114.114.114.114", "8.8.8.8"],"registry-mirrors": ["https://mirror.gcr.io"],"max-concurrent-downloads": 10,"max-download-attempts": 3
      }
      EOF
    • 重新加載 Docker 服務以應用配置:
      sudo systemctl daemon-reload
      sudo systemctl restart docker
    • 驗證 Docker 服務狀態:
      systemctl status docker
  5. 安裝 Docker Compose(官方插件版)
    sudo apt-get install -y docker-compose-plugin
    • 驗證 Docker Compose 安裝:
      docker compose version
克隆 NetBox Docker 倉庫并配置
  1. 創建項目目錄并克隆源碼
    mkdir -p ~/projects && cd ~/projects
    git clone -b release https://github.com/netbox-community/netbox-docker.git
    cd netbox-docker
  2. 配置 Docker Compose 覆蓋文件
    • NetBox 默認使用 8080 端口,我們將其映射到宿主機的 8000 端口。在項目根目錄創建 docker-compose.override.yml 文件:
      tee docker-compose.override.yml <<EOF
      services:netbox:ports:- "8000:8080"
      EOF
    • 這會將容器的 8080 端口映射到宿主機的 8000 端口。如果端口被占用,可更改為其他端口。
  3. 指定穩定版本鏡像(可選)
    • 默認配置拉取最新版本鏡像。如需使用穩定版本(例如 NetBox v4.2 對應 Docker 版本 3.2.1),創建 .env 文件:
      echo "VERSION=v4.2-3.2.1" > .env
拉取鏡像并啟動容器
  1. 拉取 Docker 鏡像
    • 在 netbox-docker 目錄下運行:
      docker compose pull
  2. 啟動 NetBox 服務
    • 啟動容器:
      docker compose up -d
    • 檢查容器狀態:
      docker compose ps
    • 等待幾分鐘,直到所有容器狀態變為 healthy。可通過以下命令查看容器日志:
      docker compose logs netbox
創建管理員用戶并訪問 Web UI
  1. 創建超級管理員賬戶
    • NetBox 啟動后,首次登錄需創建管理員賬戶:
      docker compose exec netbox /opt/netbox/netbox/manage.py createsuperuser
    • 根據提示輸入用戶名、電子郵件和密碼,完成后顯示 Superuser created successfully。
  2. 訪問 NetBox Web 界面
    • 獲取虛擬機 IP 地址:
      hostname -I
    • 假設虛擬機 IP 為 192.168.1.100,通過瀏覽器訪問:
      http://192.168.1.100:8000/
    • 使用剛創建的管理員賬戶登錄,進入 NetBox 儀表盤。
  3. 功能驗證
    • 登錄后,驗證核心功能(IPAM、DCIM、設備管理等)是否正常。嘗試添加測試數據(如新設備或網絡段),確認 API 和權限系統正常工作。

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

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

相關文章

DeepSeek Copilot idea插件推薦

&#x1f30c; DeepSeek Copilot for IntelliJ IDEA 讓 AI 成為你的編程副駕駛&#xff0c;極速生成單元測試 & 代碼注釋驅動開發&#xff01; &#x1f680; 簡介 DeepSeek Copilot 是一款為 IntelliJ IDEA 打造的 AI 編程助手插件&#xff0c;它能夠智能分析你的代碼邏輯…

QT中的JSON

1.JSON的兩種數據格式 JSON有兩種數據格式:JSON對象和JSON數組 JSON數組&#xff1a; JSON數組格式&#xff1a;[元素1&#xff0c;元素2&#xff0c;元素3&#xff0c;......元素n] JSON數組中的元素可以是同一類型&#xff0c;也可以使不同類型&#xff0c;可以嵌套JSON數組…

詳細剖析傳輸層協議(TCP和UDP)

詳細講解傳輸層的網絡協議&#xff0c;為什么TCP是可靠連接協議&#xff0c;憑什么能做到不丟包&#xff0c;有哪些機制保證可靠呢&#xff1f; TCP/UDP UDPTCP**三次握手和四次揮手****滑動窗口****擁塞控制**&#xff08;socket套接字&#xff09;**listen的第二個參數** UD…

數據可視化:藝術與科學的交匯點,如何讓數據“開口說話”?

數據可視化&#xff1a;藝術與科學的交匯點&#xff0c;如何讓數據“開口說話”&#xff1f; 數據可視化&#xff0c;是科技與藝術的結合&#xff0c;是讓冰冷的數字變得生動有趣的橋梁。它既是科學——講究準確性、邏輯性、數據處理的嚴謹性&#xff1b;又是藝術——強調美感…

解決使用lettuce連接Redis超時的問題(tcpUserTimeout 參數失效問題)

問題背景 lettuce 連接Redis的主從實例&#xff0c;當主節的主機異常下電重啟后&#xff0c;由于沒有發送RST 包&#xff0c;導致 lettuce 一直在復用之前的TCP鏈接&#xff0c;然后會出現連接超時的情況。一直出現io.lettuce.core.RedisCommandTimeoutException: Command tim…

如何使用python保存字典

在Python中&#xff0c;可以通過多種方式將字典&#xff08;dict&#xff09;保存到文件中&#xff0c;并能夠隨時讀取恢復。以下是幾種常見的方法&#xff1a; 1. 使用 json 模塊&#xff08;推薦&#xff09; 適用場景&#xff1a;需要人類可讀的文件格式&#xff0c;且數據不…

SQL 與 Python:日期維度表創建的不同選擇

文章目錄 一、日期維度表概述日期維度表結構 二、使用 SQL 創建日期維度表2.1 表結構設計2.2 數據插入2.3 SQL 創建方式的優勢與局限 三、使用 Python 創建日期維度表3.1 依賴庫引入3.2 代碼實現3.3 Python 創建方式的優勢與局限 四、應用場景與選擇建議4.1 應用場景4.2 選擇建…

如何用postman進行批量操作

業務場景&#xff1a; 有些時候&#xff0c;我們會需要批量的將SAP B1系統中的幾千條的數據刪除或者取消單據&#xff0c;這個時候&#xff0c;一條條去操作&#xff0c;指定是到猴年馬月了。SAP Business One本身提供了DTW這個工具&#xff0c;但是這個更新&#xff0c;可以操…

Mysql如何完成數據的增刪改查(詳解從0到1)

前言&#xff1a; Mysql可能是每個程序員的必修課&#xff0c;可以說是使用起來是沒有什么問題的&#xff0c;但是作為一名合格的程序猿&#xff0c;深入學習Mysql的內部工作原理是非常有必要的&#xff0c;主要是理解和學習Mysql的底層思想&#xff0c;希望在日后如遇到一些&…

單片機嵌入式按鍵庫

kw_btn庫說明 本庫主要滿足嵌入式按鍵需求&#xff0c;集成了常用的按鍵響應事件&#xff1a;高電平、低電平、上升沿、下降沿、單擊、雙擊、長按鍵事件。可以裸機運行&#xff0c;也可以配合實時操作系統運行。 本庫開源連接地址&#xff1a;連接 實現思路 本庫采用C語言進行…

Qt—鼠標移動事件的趣味小程序:會移動的按鈕

1.項目目標 本次根據Qt的鼠標移動事件實現一個趣味小程序&#xff1a;當鼠標移動到按鈕時&#xff0c;按鈕就會隨機出現在置&#xff0c;以至于根本點擊不到按鈕。????? 2.項目步驟 首先現在ui界面設計控件(也可以用代碼的方式創建&#xff0c;就不多說了) 第一個按鈕不需…

MySQL的information_schema在SQL注入中的關鍵作用與防御策略

目錄 一、information_schema的核心價值 二、攻擊利用場景與示例 1. 聯合查詢注入&#xff08;Union-Based&#xff09; 2. 報錯注入&#xff08;Error-Based&#xff09; 3. 布爾盲注&#xff08;Boolean Blind&#xff09; 4. 時間盲注&#xff08;Time-Based&#xff0…

c語言 關鍵字--目錄

下面是詳細介紹的鏈接 1.c語言 關鍵字 2.typedef 關鍵字 3.volatile 關鍵字 4.register 關鍵字 5.const關鍵字用法 6.extern關鍵字 7.sizeof關鍵字

python爬蟲爬取網站圖片出現403解決方法【僅供學習使用】

基于CSDN第一篇文章&#xff0c;Python爬蟲之入門保姆級教程&#xff0c;學不會我去你家刷廁所。 這篇文章是2021年作者發表的&#xff0c;由于此教程&#xff0c;網站添加了反爬機制&#xff0c;有作者通過添加cookie信息來達到原來的效果&#xff0c;Python爬蟲添加Cookies以…

docker創建一個centOS容器安裝軟件(以寶塔為例)的詳細步驟

備忘&#xff1a;后續偶爾忘記了docker虛擬機與宿主機的端口映射關系&#xff0c;來這里查看即可&#xff1a; docker run -d \ --name baota \ --privilegedtrue \ -p 8888:8888 \ -p 8880:80 \ -p 8443:443 \ -p 8820:20 \ -p 8821:21 \ -v /home/www:/www/wwwroot \ centos…

linux 使用nginx部署ssl證書,將http升級為https

前言 本文基于&#xff1a;操作系統 CentOS Stream 8 使用工具&#xff1a;Xshell 8、Xftp 8 服務器基礎環境&#xff1a; nginx - 請查看 linux 使用nginx部署vue、react項目 所需服務器基礎環境&#xff0c;請根據提示進行下載、安裝。 1.下載證書 以騰訊云為例&#x…

日常開發中,iOS 性能調優我們怎么做?

日常開發中&#xff0c;iOS 性能調優我們怎么做&#xff1f;聊聊我用過的幾款工具 最近在給一個 iOS 視頻類 App 做性能優化&#xff0c;過程中踩了不少坑&#xff0c;也用了一些不錯的工具&#xff0c;今天就以一個開發者視角隨便聊聊我在調試過程中的一些經驗。 一、性能問…

Redis ⑨-Jedis | Spring Redis

Jedis 通過 Jedis 可以連接 Redis 服務器。 通過 Maven 引入 Jedis 依賴。 <!-- https://mvnrepository.com/artifact/redis.clients/jedis --> <dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><versi…

【人工智能】解鎖AI潛能:LM Studio多模型并行運行DeepSeek與開源大模型的實踐指南

《Python OpenCV從菜鳥到高手》帶你進入圖像處理與計算機視覺的大門! 解鎖Python編程的無限可能:《奇妙的Python》帶你漫游代碼世界 隨著大語言模型(LLM)的快速發展,LM Studio作為一款本地化部署工具,以其簡單易用的圖形化界面和強大的模型管理能力受到廣泛關注。本文深…

Node.js面試題

一、什么是Node.js&#xff1f; Node.js 是一個開源的跨平臺 JavaScript 運行時環境&#xff0c;允許開發者在服務器端運行 JavaScript 代碼。它基于 Chrome 的 V8 JavaScript 引擎構建&#xff0c;能夠高效地處理 I/O 操作&#xff0c;適合構建高性能的網絡應用。 異步非阻塞&…