从零开始:NetBox 4.1 Docker 部署和升级
前言
由于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/ 自行搭建
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 <<EOF
services:
netbox:
ports:
- 8000:8080
EOF
# 创建端口映射规则文件,使用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公众号:网工格物

博客(最先更新)
从零开始:NetBox 4.1 Docker 部署和升级的更多相关文章
- 我使用celery以及docker部署遇到的问题
首先我本机测试时没有问题的,但是在线上docker中,任务一直显示 "Sending due task".超时的任务是 django orm update 操作,本地不会出现这样的 ...
- 在生产环境使用Docker部署应用
导读 Docker现在越来越流行,但是真正在生产环境部署Docker还是个比较新的概念,还没有一个标准的流程.作者是ROR的程序员,作者结合平时的部署经验,联系Docker的特点,向大家分享了其在生产 ...
- 我使用 Docker 部署 Celery 遇到的问题
问题1 - Sending due task 本机测试时没有问题的,但是在线上 docker 中,任务一直显示 "Sending due task".超时的任务是 Django O ...
- Docker部署Zabbix+Grafana监控
Docker部署Zabbix+Grafana监控 环境 centos 7 ; Docker 17.12.0-ce ; docker-compose version 1.20.1 2018-4-1 当前 ...
- 笔记14:Docker 部署Python项目
Docker 部署Python项目 导读: 软件开发最大的麻烦事之一就是环境配置,操作系统设置,各种库和组件的安装.只有它们都正确,软件才能运行.如果从一种操作系统里面运行另一种操作系统,通常我们采取 ...
- docker部署angular和asp.net core组成的前后端分离项目
最近使用docker对项目进行了改进,把步骤记录一下,顺便说明一下项目的结构. 项目是前后端分离的项目,后端使用asp.net core 2.2,采用ddd+cqrs架构的分层思想,前端使用的是ang ...
- 基于Docker部署ETCD集群
基于Docker部署ETCD集群 关于ETCD要不要使用TLS? 首先TLS的目的是为了鉴权为了防止别人任意的连接上你的etcd集群.其实意思就是说如果你要放到公网上的ETCD集群,并开放端口,我建议 ...
- docker部署mysql Navicat远程连接
docker部署mysql Navicat远程连接 docker search mysql 查看mysql镜像(是去dockerHub网站搜素镜像,遇到问题可以去该网站查看官方文档,纯英文文档估计 ...
- Docker 部署前后端项目
Docker 部署前后端项目 平生不会相思,才会相思,便害相思. 简介:都是被逼的,从零开始一个Docker 部署九个微服务和三个前端项目.其中,这些服务需要用到Nacos.MySQL.Nginx.E ...
- Docker部署mysql 5.7
Docker部署mysql 5.7 准备工作 在CentOS或者Linux创建部署目录,用于存放容器的配置和MySQL数据:目的是当重装或者升级容器时,配置文件和数据不会丢失.执行以下命令: a.创建 ...
随机推荐
- 远距离跨网络实现windows远程桌面连接
1.保证已经打开被连接电脑---远程访问---权限. 我的电脑--右键--属性--远程设置 2.选择允许连接 (选择用户和高级没有特殊设置可以不动,被连接电脑当前登陆的账号就可以满足权限) 3.打开- ...
- RabbitMQ核心概念以及工作原理【转】
RabbitMQ核心概念以及工作原理 我们来看看流行的RabbitMQ消息系统以及它是如何让你的系统之间进行解耦的. 英文原文 RabbitMQ 在这篇短文里,我们会介绍什么是RabbitMQ,它 ...
- 快速结束 git 输出行
在使用git命令查看操作记录等时,内容很多,想要输出内容快速结束 英文 Q 备注:通过英文Q快速结束
- DOM – Web Components
前言 Web Components 已经听过很多年了, 但在开发中用纯 DOM 来实现还是比较少见的. 通常我们是配搭 Angular, React, Vue, Lit 来使用. 这篇就来讲讲纯 We ...
- SimpleAISearch:C# + DuckDuckGo 实现简单的AI搜索
最近AI搜索很火爆,有Perplexity.秘塔AI.MindSearch.Perplexica.memfree.khoj等等. 在使用大语言模型的过程中,或许你也遇到了这种局限,就是无法获取网上最新 ...
- 没时间做获取天气的实验 三分钟! 给您看清如何通过HTTP GET请求 获取天气预报
1. 注册心知天气账号,获取私钥 下面这篇文章是图示讲解的,好东西,何不转载为快? http://www.taichi-maker.com/homepage/iot-development/iot-p ...
- @RestController和@Controller的区别
@RestController 和 @Controller 是Spring框架中用于定义控制器(Controller)的两个非常重要的注解,它们都用于处理HTTP请求,但它们之间存在一些关键的区别. ...
- トヨタ自動車プログラミングコンテスト2024#7(ABC 362)
非常好名次,使我的 \(1\) 旋转 四发罚时应该是这次比赛最唐的东西了,没有就进前一千了 A.Buy a Pen 特判秒了,懒得打三种 ans=,所以就把不能选的那个赋值成无穷大了 #include ...
- 《MongoDB游记之轻松入门到进阶》代码下载
<MongoDB游记之轻松入门到进阶>代码下载,看看有没有用 http://pan.baidu.com/s/1boKG28R https://item.jd.com/12236244.ht ...
- Flask源码分析(目录)
目录 推荐阅读 it程序猿面试必备装逼技能 Flask 源码分析 1.flask 源码解析:简介 2.flask 源码解析:应用启动流程 3.flask 源码解析:路由 4.flask 源码解析:上下 ...