首页
统计
留言板
友接
推荐
免费图床
服务监控
Search
1
immich开源相册部署教程
744 阅读
2
GraalVM将Java打包原生Native应用
318 阅读
3
将旧手机改造成Linux服务器
273 阅读
4
Java函数式编程
180 阅读
5
FRP内网穿透教程
161 阅读
编程语言
Java
Python
Go
单片机
Arduino
ESP8266
ESP32
STM32
51单片机
树莓派
运维
Docker容器
随身小记
登录
Search
标签搜索
Spring
SpringMVC
Java
docker
DSM
群晖
iptables
ssh
spring
mybaits
redis
SpringBoot
消息队列
科长
累计撰写
36
篇文章
累计收到
6
条评论
首页
栏目
编程语言
Java
Python
Go
单片机
Arduino
ESP8266
ESP32
STM32
51单片机
树莓派
运维
Docker容器
随身小记
页面
统计
留言板
友接
推荐
免费图床
服务监控
搜索到
6
篇与
Docker容器
的结果
2024-11-18
simple-nvr:开源的视频监控 NVR 项目
项目简介Simple NVR 是一个开源的网络视频录像机(NVR),它被设计为在低资源消耗的廉价硬件上运行,例如配备硬盘的 Raspberry Pi。这个项目能够实现24/7的视频流从网络摄像头保存下来,并且可以通过一个基础的Web界面进行文件浏览。Simple NVR 需要安装 FFmpeg,并且配置要求最低。该项目使用 Node.js 编写,并利用 FFmpeg 进行视频处理。部署教程Simple NVR 依赖于 Node 环境和 FFmpeg 来处理视频流,因此你需要确保 Node 和 FFmpeg 已经安装在你的系统上。运行通过 Git 克隆仓库到本地或者直接下载 ZIP 文件并解压:git clone https://github.com/TomHumphries/simple-nvr.git然后进入到 Simple NVR 的目录中,使用 npm 安装所需的依赖:cd simple-nvr npm install然后编辑项目目录下的cameras.json添加我们的监控设备:监控需要支持 rtsp 推流才可以![ { # 监控名称 "name": "example-camera-name", # 监控的rtsp推流地址 "url": "rtsp://192.168.255.255:554/11" } ]添加完成之后还需要配置监控录像存放的位置,修改存放的位置需要编辑项目根目录下的storage.json文件:{ # 录像存放位置 "rootpath": "/media/pi/ExternalHDD1" }然后启动服务:node nvr.js这个时候NVR就开始工作了,后台会持续录像,我们也可以启动web管理界面来查看摄像头的录像文件和实时画面,通过启动nvr-browser.js:node nvr-browser.js访问3000端口:该服务会每五分钟保存一下视频片段,当天结束后会自动生成24小时的长录像文件。使用pm2运行PM2(Process Manager 2)是一个流行的Node.js应用程序的进程管理器。它允许您在多种环境中(如生产环境)管理和保持应用程序的稳定性。可以通过下面的命令安装pm2工具:npm install pm2@latest -g然后启动NVR服务:# 启动录像服务 pm2 start nvr.js --name nvr # 启动 web 服务 pm2 start nvr-browser.js --name nvr-web然后可以通过下面的命令查看运行的服务:pm2 list
2024年11月18日
4 阅读
0 评论
0 点赞
2024-01-03
docker部署蜜罐Hfish
https://image.bystart.cn/i/2024/01/02/6593805acabda.png
2024年01月03日
150 阅读
0 评论
0 点赞
2023-12-26
Dockerfile快速入门
Dockerfile是一个包含了构建Docker镜像的指令集的文本文件。通过编写Dockerfile,可以定义一个自定义的Docker镜像,其中包含了需要的所有环境和依赖。下面是一个简单的Dockerfile教程,帮助你快速入门.创建一个新的文本文件并命名为Dockerfile。在Dockerfile中,你可以使用各种指令来定义你的镜像。下面是一些常用的指令:FROM:指定基础镜像,可以是官方仓库中的镜像,也可以是其他用户已经构建好的镜像。RUN:运行命令来安装软件包和依赖项。COPY:将本地文件复制到镜像中。WORKDIR:设置容器中的工作目录。EXPOSE:暴露容器的端口号。CMD:指定容器启动时要运行的命令。编写Dockerfile,根据你的需求,在Dockerfile中使用适当的指令。以下是一个简单的示例:# 使用官方的Python镜像作为基础镜像 FROM python:3.9 # 设置工作目录 WORKDIR /app # 复制当前目录下的所有文件到容器中的/app目录 COPY . /app # 安装依赖项 RUN pip install -r requirements.txt # 暴露容器的端口号 EXPOSE 8080 # 容器启动时运行的命令 CMD ["python", "app.py"]保存并关闭Dockerfile。在保存了Dockerfile的目录中,打开终端或命令提示符窗口。执行以下命令来构建镜像:docker build -t myimage .这将使用当前目录中的Dockerfile来构建一个名为myimage的镜像。注意,命令中的.表示当前目录。等待构建过程完成。Docker将执行Dockerfile中的每个指令,并将结果保存为一个镜像。构建完成后,你可以使用以下命令来运行容器并使用该镜像:docker run -d -p 8080:8080 myimage这将在后台运行一个名为myimage的容器,并将容器的端口8080映射到主机的8080端口。可以通过访问http://localhost:8080来访问运行在容器中的应用程序。这就是一个简单的Dockerfile教程和案例。通过编写Dockerfile,你可以定义和构建自己的Docker镜像,并根据需要运行容器。希望这对你有所帮助!
2023年12月26日
69 阅读
0 评论
0 点赞
2023-12-19
树莓派搭建软路由
本文使用的是树莓派来进行的部署,拥有docker的主机均可食用本教程开启网卡混用ip link set eth0 promisc on创建网络docker network create -d macvlan --subnet=192.168.123.0/24 --gateway=192.168.123.1 -o parent=eth0 macnet这一条命令需要根据树莓派所处的网络环境来做修改,可以使用 sudo ifconfig命令来查看树莓派 eth0 网卡获得的 IP 地址,如果树莓派获得的 IP 地址为 192.168.2.154,那么说明树莓派处在 192.168.2.x网段,相应的,命令中的192.168.123.0和192.168.123.1需要被替换成 192.168.2.0和192.168.2.1:docker network create -d macvlan --subnet=192.168.2.0/24 --gateway=192.168.2.1 -o parent=eth0 macnet拉取镜像docker pull registry.cn-shanghai.aliyuncs.com/suling/openwrt:latest or docker pull sulinggg/openwrt:latest or docker pull docker.m.daocloud.io/nonnichen/nonniwrt:latest创建并启动docker run --restart always --name openwrt -d --network macnet --privileged registry.cn-shanghai.aliyuncs.com/suling/openwrt:latest /sbin/init 其中: --restart always参数表示容器退出时始终重启,使服务尽量保持始终可用; --name openwrt参数定义了容器的名称; -d参数定义使容器运行在 Daemon 模式; --network macnet参数定义将容器加入 maxnet网络; --privileged 参数定义容器运行在特权模式下; registry.cn-shanghai.aliyuncs.com/suling/openwrt:latest为 Docker 镜像名,因容器托管在阿里云 Docker 镜像仓库内,所以在镜像名中含有阿里云仓库信息; /sbin/init定义容器启动后执行的命令。进入容器并修改相关参数docker exec -it openwrt bash 其中: openwrt为容器名称; bash为进入容器后执行的命令。执行此命令后我们便进入 OpenWrt 的命令行界面,首先,我们需要编辑 OpenWrt 的网络配置文件:vim /etc/config/network我们需要更改 Lan 口设置config interface 'lan' option type 'bridge' option ifname 'eth0' option proto 'static' option ipaddr '192.168.123.100' option netmask '255.255.255.0' option ip6assign '60' option gateway '192.168.123.1' option broadcast '192.168.123.255' option dns '192.168.123.1'其中:所有的 192.168.123.x 需要根据树莓派所处网段修改,option gateway和option dns填写路由器的 IP,若树莓派获得的 IP 为 192.168.2.154,路由器 IP 为192.168.2.1,则需要这样修改:config interface 'lan' option type 'bridge' option ifname 'eth0' option proto 'static' option ipaddr '192.168.2.100' option netmask '255.255.255.0' option ip6assign '60' option gateway '192.168.2.1' option broadcast '192.168.2.255' option dns '192.168.2.1'重启网络/etc/init.d/network restart进入控制面板在浏览器中输入第 5 步option ipaddr 项目中的 IP 进入 Luci 控制面板,若option ipaddr 的参数为 192.168.123.100,则可以在浏览器输入 http://192.168.123.100进入控制面板。 用户名:root 密码:password关闭 DHCP 服务在 “网络 - 接口 - Lan - 修改” 界面中,勾选下方的 “忽略此接口(不在此接口提供 DHCP 服务)”,并“保存&应用”。其他修复1.关闭 WLAN 硬件加速设置旁路路由后,若出现访问国内网站网速慢,不稳定的情况(多见于 Pandavan 及其改版固件,如华硕老毛子固件),请在路由器的控制面板中关闭有关 WLAN 的硬件加速,比如选择“Offload TCP/UDP for LAN”(若未出现此现象请忽略):2.宿主机网络修复OpenWrt 容器运行后,宿主机内可能无法正常连接外部网络,需要修改宿主机的/etc/network/interfaces文件以修复:(须结合实际网络情况,不能照抄配置)cp /etc/network/interfaces /etc/network/interfaces.bak # 备份文件 vim /etc/network/interfaces # 使用 vim 编辑文件以“树莓派爱好者基地”64 位 Debian 为例,向文件末尾添加:auto eth0 iface eth0 inet manual auto macvlan iface macvlan inet static address 192.168.123.200 netmask 255.255.255.0 gateway 192.168.123.1 dns-nameservers 192.168.123.1 pre-up ip link add macvlan link eth0 type macvlan mode bridge post-down ip link del macvlan link eth0 type macvlan mode bridge其中,所有的 192.168.123.x都需要按照树莓派所处网段更改,gateway和dns-nameservers填写路由器的 IP,若树莓派获得的 IP 为 192.168.2.154,路由器 IP 为192.168.2.1,则需要这样修改:auto eth0 iface eth0 inet manual auto macvlan iface macvlan inet static address 192.168.2.200 netmask 255.255.255.0 gateway 192.168.2.1 dns-nameservers 192.168.2.1 pre-up ip link add macvlan link eth0 type macvlan mode bridge post-down ip link del macvlan link eth0 type macvlan mode bridge修改后重启树莓派,之后树莓派的局域网 IP 地址将会固定为/etc/network/interfaces文件中address参数中的地址。
2023年12月19日
62 阅读
0 评论
0 点赞
2023-12-19
immich开源相册部署教程
immich 是一个开源的相册服务,支持 ios/android 客户端,支持相册自动备份,可选择备份哪些相册分类或者排除该分类进行备份开源仓库地址 immich-app/immich(github.com)使用脚本进行安装在shell中选择一个目录并执行curl -o- https://raw.githubusercontent.com/immich-app/immich/main/install.sh | bash此方法是实验性的,目前不建议用于生产该脚本将执行以下操作:从存储库的 main 分支下载 docker-compose.yml 和 .env 文件。根据当前目录路径使用必要的信息填充文件。.env启动容器。Web 应用程序将在 上提供,移动应用程序的服务器 URL 将为http://<machine-ip-address>:2283 http://<machine-ip-address>:2283/api用于存储库文件的目录是相对于当前目录的。./immich-data使用Docker Compose部署Docker Compose 是在生产环境中运行 Immich 的推荐方法。以下是使用 Docker Compose 部署 Immich 的步骤。下载所需的文件创建一个您选择的目录(例如 )来保存 和 文件。./immich-app docker-compose.yml.env创建并移动到目录mkdir ./immich-app cd ./immich-app通过运行以下命令下载 docker-compose.yml和 example.env:wget https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml wget -O .env https://github.com/immich-app/immich/releases/latest/download/example.env或者从浏览器下载并将文件移动到您创建的目录。注意:如果您从浏览器下载了文件,还要确保重命名为 .example.env`.env`修改env文件参数# You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables # The location where your uploaded files are stored UPLOAD_LOCATION=./library # The Immich version to use. You can pin this to a specific version like "v1.71.0" IMMICH_VERSION=release # Connection secret for postgres. You should change it to a random password DB_PASSWORD=postgres # The values below this line do not need to be changed ################################################################################### DB_HOSTNAME=immich_postgres DB_USERNAME=postgres DB_DATABASE_NAME=immich REDIS_HOSTNAME=immich_redis如有必要,请填充自定义数据库信息。填充用于存储备份资产的首选位置。UPLOAD_LOCATION考虑更改为随机生成的内容DB_PASSWORD启动容器docker compose up -d升级immichdocker compose pull && docker compose up -d
2023年12月19日
744 阅读
1 评论
0 点赞
2023-07-03
docker运行群晖系统
闲来无事在gayhub中刷到一个项目virtual-dsm利用docker搭建DSM7 群晖系统docker-compose.ymlversion: "3" services: dsm: container_name: dsm image: kroese/virtual-dsm:latest environment: DISK_SIZE: "16G" #磁盘大小 CPU_CORES: "4" #使用cpu核心数 RAM_SIZE: "2048M" #使用内存大小 devices: #如果设备不支持kvm虚拟化 则删除这个配置 - /dev/kvm - /dev/vhost-net cap_add: - NET_ADMIN ports: - 5000:5000 volumes: - /opt/dsm:/storage restart: on-failure stop_grace_period: 1mdocker命令docker run -it --rm -p 5000:5000 --device=/dev/kvm --cap-add NET_ADMIN --stop-timeout 60 kroese/virtual-dsm:latest部署的过程中可以看到正在下载DSM的系统等待日志输出You can now login to DSM at port 5000时到浏览器访问服务设置完用户名密码后即可登录正常访问群晖系统
2023年07月03日
107 阅读
0 评论
0 点赞