從零開始:NetBox 4.1 Docker 部署和升級Pd

ocenwimtaegrad發表於2024-11-24

前言

由於Netbox 官方的中文語言日漸完善,所以新出一個使用官方Docker源部署和升級的教程。

Netbox 系列文章:https://songxwn.com/categories/NetBox/

環境介紹

Rocky Linux 9.5 (理論上也適用於RHEL系列的7-9版本)

南京大學映象源ISO映象下載:https://mirror.nju.edu.cn/rocky/9/isos/x86_64/Rocky-9-latest-x86_64-minimal.iso

環境配置

systemctl disable --now firewalld
sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config && setenforce 0

# 關閉防火牆和SELinux。


dnf install tree vim bash-completion tar git -y
# 安裝一些工具,用於之後的部署

Docker-CE 環境安裝

yum install -y yum-utils

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

sed -i 's+https://download.docker.com+https://mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo



yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin


參考清華大學源:https://mirrors.tuna.tsinghua.edu.cn/help/docker-ce/

Docker國內映象加速器配置

sudo mkdir -p /etc/docker

# 建立資料夾


sudo tee /etc/docker/daemon.json <<-'EOF'
{
     "registry-mirrors": [
    "https://proxy.1panel.live",
    "https://dockerpull.org",
    "https://hub1.nat.tf",
    "docker.m.daocloud.io"

     ]
}
EOF

# 指定映象源


sudo systemctl daemon-reload
sudo systemctl restart docker

# 過載重啟後生效

docker info | grep https

# 驗證

docker pull hello-world

# 拉取映象驗證

PS: 或者參考 https://songxwn.com/cf-works-DockerHub-Proxy/:milou加速器 自行搭建

Netbox部署



cd /opt

git clone -b release https://github.com/netbox-community/netbox-docker.git

# git獲取官方庫,國內可使用git clone -b release https://gitee.com/songxwn/netbox-docker.git


cd /opt/netbox-docker

tee docker-compose.override.yml <
# 建立埠對映規則檔案,使用8000埠對外訪問


docker compose pull

# 拉取映象


docker compose up -d

# 啟動映象,第一次會比較久


docker compose logs netbox 

# 檢視日誌,確認狀態


建立使用者(需要輸入賬號、郵箱和兩次密碼)

docker compose exec netbox /opt/netbox/netbox/manage.py createsuperuser

## 等容器啟動完成後,建立後可訪問 8000埠進行登入。


配置Nginx 作為反向代理


dnf install nginx -y
# 安裝Nginx

vim /etc/nginx/conf.d/netbox.conf
# 建立配置檔案,注意修改netbox.songxwn.com 為自己的域名。反向代理到8000埠,埠也需要自己修改。

server {
    listen 80;
    # CHANGE THIS TO YOUR SERVER'S NAME
    server_name netbox.songxwn.com;
    client_max_body_size 25m;
    fastcgi_connect_timeout 1200s;
    fastcgi_send_timeout 1200s;
    fastcgi_read_timeout 1200s;
    fastcgi_buffer_size 64k;
    fastcgi_buffers 4 64k;
    fastcgi_busy_buffers_size 128k;
    fastcgi_temp_file_write_size 256k;
    location /static/ {
        alias /opt/netbox/netbox/static/;
    }
    location / {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header X-Forwarded-Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
    proxy_connect_timeout       600;
        proxy_send_timeout          600;
        proxy_read_timeout          600;
        send_timeout                600;
    }
}
systemctl enable --now nginx
# 配置啟動並開機啟動
systemctl status nginx
# 檢視狀態



Netbox 升級


cd /opt/netbox-docker

docker compose pull

# 拉最新映象

docker compose down

docker compose up -d

# 以最新映象重新啟動


技術交流群

傳送郵件到 ➡️ me@songxwn.com

或者關注WX公眾號:網工格物

微信掃碼

部落格(最先更新)

https://songxwn.com/

相關文章