首页
关于
壁纸
直播
留言
友链
统计
Search
1
《三国志英杰传》攻略
6,034 阅读
2
Emby客户端IOS破解
5,767 阅读
3
白嫖Emby
5,764 阅读
4
《吞食天地1》金手指代码
4,691 阅读
5
破解emby-server
4,039 阅读
moonjerx
game
age-of-empires
zx3
san-guo-zhi
尼尔:机械纪元
net
emby
learn-video
docker
torrent
photoshop
route
minio
git
ffmpeg
im
vue
gitlab
typecho
svn
alipay
nasm
srs
mail-server
tailscale
kkfileview
aria2
webdav
synology
redis
oray
chemical
mxsite
math
π
x-ui
digital-currency
server
nginx
baota
k8s
http
cloud
linux
shell
database
vpn
esxi
rancher
domain
k3s
ewomail
os
android
windows
ios
app-store
macos
develop
java
javascript
uniapp
nodejs
hbuildx
maven
android-studio
jetbrain
jenkins
css
mybatis
php
python
hardware
hard-disk
pc
RAM
software
pt
calibre
notion
office
language
literature
philosophy
travel
登录
Search
标签搜索
ubuntu
mysql
openwrt
zerotier
springboot
centos
openvpn
jdk
吞食天地2
synology
spring
idea
windows11
吞食天地1
transmission
google-play
Japanese
xcode
群晖
kiftd
MoonjerX
累计撰写
370
篇文章
累计收到
459
条评论
首页
栏目
moonjerx
game
age-of-empires
zx3
san-guo-zhi
尼尔:机械纪元
net
emby
learn-video
docker
torrent
photoshop
route
minio
git
ffmpeg
im
vue
gitlab
typecho
svn
alipay
nasm
srs
mail-server
tailscale
kkfileview
aria2
webdav
synology
redis
oray
chemical
mxsite
math
π
x-ui
digital-currency
server
nginx
baota
k8s
http
cloud
linux
shell
database
vpn
esxi
rancher
domain
k3s
ewomail
os
android
windows
ios
app-store
macos
develop
java
javascript
uniapp
nodejs
hbuildx
maven
android-studio
jetbrain
jenkins
css
mybatis
php
python
hardware
hard-disk
pc
RAM
software
pt
calibre
notion
office
language
literature
philosophy
travel
页面
关于
壁纸
直播
留言
友链
统计
搜索到
45
篇与
docker
的结果
2024-09-11
Ollama本地私有化部署
Ollama 是一个用于在本地或私有环境中部署大型语言模型(LLMs)的工具。本文将详细介绍如何通过一个一键安装脚本在本地环境中部署 Ollama,并集成联网搜索功能。1. 前提条件1.1 系统要求操作系统:Linux(推荐Ubuntu)Docker:必须安装 Docker 和 Docker ComposeGit:用于克隆 Ollama 仓库1.2 硬件要求CPU:至少4核RAM:根据模型大小至少需要8GB RAM,更大的模型可能需要更多硬盘:至少需要50GB的存储空间来保存模型和数据2. 一键安装脚本我们将使用一个一键安装脚本 ollama_install.sh 来自动化整个安装流程。该脚本将自动下载 Ollama 仓库、安装所需依赖、下载模型,并集成联网搜索功能。2.1 一键安装脚本 ollama_install.sh#!/bin/bash # 设置变量 OLLAMA_DIR="$HOME/programs/ollama" SEARCH_PROXY_PATH="$HOME/programs/search_proxy" MODEL_NAME="ollama-base" PORT="8080" # 更新系统包索引 sudo apt-get update # 检查是否已安装Docker if ! command -v docker &> /dev/null; then # 如果未安装,则安装Docker echo "Docker not found, installing..." sudo apt-get install docker.io -y sudo systemctl start docker sudo usermod -aG docker $USER newgrp docker else echo "Docker already installed." fi # 检查是否已安装Docker Compose if ! command -v docker-compose &> /dev/null; then # 如果未安装,则安装Docker Compose echo "Docker Compose not found, installing..." sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose else echo "Docker Compose already installed." fi # 检查是否已安装Python 3 if ! command -v python3 &> /dev/null; then # 如果未安装,则安装Python 3 echo "Python 3 not found, installing..." sudo apt-get install python3 -y else echo "Python 3 already installed." fi # 创建Ollama目录 mkdir -p $OLLAMA_DIR # 克隆Ollama仓库 git clone https://github.com/ollama/ollama.git $OLLAMA_DIR # 切换到Ollama目录 cd $OLLAMA_DIR # 下载默认模型 echo "Downloading default model..." ollama pull $MODEL_NAME # 创建.env文件 echo "MODEL=$MODEL_NAME" > .env echo "PORT=$PORT" >> .env # 创建搜索代理脚本 mkdir -p $SEARCH_PROXY_PATH cat <<EOF > $SEARCH_PROXY_PATH/search_proxy.py import requests import sys def search_web(query): url = f'https://html.duckduckgo.com/html/?q={query}' response = requests.get(url) if response.status_code == 200: return response.text else: return None if __name__ == "__main__": if len(sys.argv) > 1: query = ' '.join(sys.argv[1:]) result = search_web(query) print(result) EOF chmod +x $SEARCH_PROXY_PATH/search_proxy.py # 创建搜索代理的服务文件 cat <<EOF > /etc/systemd/system/search_proxy.service [Unit] Description=Search Proxy Service [Service] User=$USER WorkingDirectory=$SEARCH_PROXY_PATH ExecStart=/usr/bin/env python3 \$PWD/search_proxy.py \${QUERY} Restart=always [Install] WantedBy=multi-user.target EOF # 启动搜索代理服务 sudo systemctl daemon-reload sudo systemctl enable search_proxy.service sudo systemctl start search_proxy.service # 构建并运行Ollama容器 docker-compose up --build & echo "Ollama installation and setup complete. The search proxy is running in the background."2.2 使用方法保存脚本:将上述脚本保存为 ollama_install.sh 文件。赋予执行权限:在终端中运行 chmod +x ollama_install.sh。执行脚本:在终端中运行 sudo ./ollama_install.sh。3. 安装后使用说明3.1 访问 Ollama Web UI脚本执行完成后,Ollama 将会在后台运行。你可以通过 Web 浏览器访问 Ollama 的 Web UI。打开浏览器:使用你喜欢的浏览器。访问地址:输入 http://localhost:8080 或者根据你的实际 IP 地址和端口号输入 http://your_server_ip:8080。3.2 使用联网搜索功能Ollama 现在已经集成了联网搜索功能。当你在 Ollama 的 Web UI 中输入查询时,它将利用 DuckDuckGo API 进行搜索,并显示搜索结果。3.3 日常维护停止服务:如果需要停止 Ollama 服务,可以在终端中运行 docker-compose down。重启服务:如果需要重启 Ollama 服务,可以在终端中运行 docker-compose up --build。查看日志:可以查看 Ollama 的日志文件来诊断问题。日志通常位于 $OLLAMA_DIR/logs 目录下。4. 总结通过上述步骤,你已经成功地在本地环境中部署了 Ollama,并且集成联网搜索功能。Ollama 不仅简化了大型语言模型的部署流程,还提供了高度的灵活性和可扩展性。随着技术的进步,私有化部署将成为越来越多企业和个人的选择。
2024年09月11日
39 阅读
0 评论
0 点赞
2024-09-10
如何在Docker容器中管理服务端口及SSH服务
在使用Docker容器时,了解容器内运行的服务及其占用的端口是非常重要的。本文将指导您如何列出容器内所有服务名称和占用的端口,并检查容器是否运行着OpenSSH服务。1. 列出容器内所有服务名称和占用的端口要找出当前容器内运行的服务及其绑定的端口,可以使用netstat或ss命令。使用netstat命令如果您容器中有安装netstat,可以使用以下命令来查找所有监听的TCP和UDP端口:netstat -tuln命令输出可能类似于:Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:63322 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:888 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:8888 0.0.0.0:* LISTEN tcp6 0 0 :::63322 :::* LISTEN 使用ss命令如果您的容器使用的是ss命令,可以这样操作:ss -tuln输出看起来与netstat类似。2. 检查容器是否运行着OpenSSH服务要检查容器内是否正在运行OpenSSH服务,可以使用pgrep或者ps命令加上grep来查找。使用pgrep命令如果您有pgrep命令,可以直接这样查询:pgrep sshd如果有ssh服务正在运行,它将返回一个或多个进程ID。如果没有返回任何东西,则意味着没有ssh服务正在运行。使用ps命令结合grep如果没有pgrep,可以使用ps命令结合grep来查找:ps aux | grep sshd这将显示所有包含sshd关键词的进程列表。如果没有任何输出(除了grep自身的进程),则表示没有运行OpenSSH服务。3. 查看具体服务占用端口的情况假设您已经知道某个端口被某个服务占用,但不确定是哪个具体服务,可以使用lsof命令来查找打开文件和IPC节点(例如网络套接字)。lsof -i :端口号例如,要找到占用端口63322的服务,可以这样做:lsof -i :63322这将会显示类似于以下的输出:COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME sshd 20 root 3u IPv4 29903991 0t0 TCP *:63322 (LISTEN) sshd 20 root 4u IPv6 29903993 0t0 TCP *:63322 (LISTEN) BT-Panel 849 root 16u IPv4 41302087 0t0 TCP localhost:53958->localhost:63322 (ESTABLISHED) sshd 47399 root 3u IPv4 41299442 0t0 TCP localhost:63322->localhost:53958 (ESTABLISHED)这里可以看到sshd进程使用PID 20占用着端口63322,并且有两个监听端口的文件描述符,一个是IPv4,另一个是IPv6。4. 永久禁用IPv6连接如果您希望永久禁用IPv6连接,可以通过修改OpenSSH的配置文件来实现这一点。打开sshd_config文件编辑器:sudo nano /etc/ssh/sshd_config在文件中添加或修改以下行:# ListenAddress :: (这行可以注释掉) ListenAddress 0.0.0.0保存并关闭文件。重启OpenSSH服务使更改生效:sudo systemctl restart ssh结论通过上述步骤,您可以轻松地管理和监控Docker容器内的服务端口及SSH服务的状态。这对于保证系统的安全性和稳定性至关重要。希望本文能够帮助您更好地理解和控制您的容器环境。
2024年09月10日
38 阅读
0 评论
0 点赞
2024-09-05
Docker一键部署宝塔面板教程
一、镜像特点全程自动安装依赖自动安装宝塔面板、环境、插件自动修改默认面板端口、用户名、密码、安全入口自动配置镜像SSH自动同意首次登陆的用户协议自动取消强制登录自动降级为7.7.0版本修复面板XSS高危漏洞兼容新版本面板运行环境去除专业/企业应用安装权限去除宝塔面板强制绑定账号去除各种删除操作时的计算题与延时等待去除创建网站自动创建的垃圾文件(index.html、404.html、.htaccess)关闭未绑定域名提示页面,防止有人访问未绑定域名直接看出来是用的宝塔面板关闭活动推荐与在线客服,去除首页企业版广告去除自动校验文件与上报信息定时任务去除面板日志与网站绑定域名上报二、版本来源优化版:latest --> https://github.com/gettionhub/baota专业版:pro --> https://bt.sy/bbs/thread-2-1-1.html企业版:ltd --> https://bt.sy/bbs/thread-3-1-1.html建议使用 latest 版本镜像,手动分离数据库外置,比如搭配adminer+mariadb+postgres的docker镜像,将宝塔面板容器和数据库容器连接使用,以防止意外发生导致数据库丢失或泄露。三、如何部署面板默认信息登录地址:http://{{面板ip地址}}:8888/baota用户名:baotao密码:baota端口:8888安全入口:/baotaSSH端口:22SSH root用户密码:baota注意:部署后务必先修改如上信息,以防被利用!部署方式1. 通过 docker run 运行docker run -itd \ --name baota \ --network=host \ --privileged=true \ --restart=unless-stopped \ -v ~/www/wwwroot:/www/wwwroot \ -v ~/www/vhost:/www/server/panel/vhost \ gettionhub/baota:latest2. 通过 docker-compose 运行git clone https://github.com/gettionhub/baota.git cd baota docker pull gettionhub/baota:latest COMPOSE_HTTP_TIMEOUT=1200 docker-compose --verbose up -d3. 通过 docker-compose 配置version: '3.3' services: baota: image: gettionhub/baota:latest #优化版 #image: gettionhub/baota:pro #专业版 #image: gettionhub/baota:ltd #企业版 container_name: baota #容器名 network_mode: bridge #网络模式 privileged: true #root权限 restart: unless-stopped ports: - 8880:80 - 8443:443 - 8888:8888 - 888:888 volumes: - ./web:/www/wwwroot #网站数据目录 - ./data:/www/server/data #MySQL数据目录 - ./vhost:/www/server/panel/vhost #vhost文件路径四、常用命令获取宝塔面板默认信息docker exec -it baota /etc/init.d/bt default重启nginxdocker exec -it baota /etc/init.d/nginx restart重启PHPdocker exec -it baota /etc/init.d/php-fpm-80 restart重启mysqldocker exec -it baota /etc/init.d/mysqld restart进入宝塔容器docker exec -it baota /bin/sh五、破解教程(仅供学习交流)请注意,任何破解行为都可能违反软件许可协议,并且存在法律风险,因此下面提供的教程仅供技术学习和交流,不建议在实际环境中使用。1. 解除面板时间限制使用文件管理器进入 /www/server/panel/data/ 目录,找到 plugin.json 文件。编辑 plugin.json 文件。使用编辑器查找 "endtime": -1 并将其替换为 "endtime": 999999999999。保存更改。2. 解除面板版本授权继续在 plugin.json 文件中操作。查找 is_user_status,并找到 "ltd": -1 和 "pro": -1,将 -1 替换为 0。保存更改。3. 授权文件进行保护使用以下命令保护 plugin.json 文件:chattr +i /www/server/panel/data/plugin.json若要解除保护,使用以下命令:chattr -i /www/server/panel/data/plugin.json
2024年09月05日
30 阅读
0 评论
0 点赞
2024-08-11
如何在 Docker 版本的 Nexus 用作 Docker 私有仓库并配置 SSL 证书
如何在 Docker 版本的 Nexus 用作 Docker 私有仓库并配置 SSL 证书本文将指导您如何在 Docker 版本的 Nexus 用作 Docker 私有仓库并配置 SSL 证书。通过使用 SSL 证书,您可以提高仓库的安全性,并确保与仓库的通信是加密的。前提条件已经安装了 Docker。已经准备好了 SSL 证书,包括证书文件 (server.crt)、私钥文件 (server.key) 和根证书文件(如果有的话)。步骤 1: 准备 SSL 证书确保你已经获得了 SSL 证书,并且有以下文件:server.crt - 证书文件。server.key - 私钥文件。ca.crt - 根证书(如果有的话)。步骤 2: 创建 Nexus 配置文件Nexus 需要一个配置文件来指示它如何使用 SSL 证书。你可以创建一个名为 sonatype-work.conf 的文件来配置 Nexus 使用 SSL 证书。创建配置文件使用文本编辑器创建配置文件:vi /etc/nexus/sonatype-work.conf在文件中添加以下内容:# SSL Configuration sonatype.ssl.keyStorePath=/path/to/keystore.jks sonatype.ssl.keyStorePassword=<your_keystore_password> sonatype.ssl.keyPassword=<your_key_password> # 如果你有根证书,可以使用以下配置 # sonatype.ssl.trustStorePath=/path/to/truststore.jks # sonatype.ssl.trustStorePassword=<your_truststore_password>替换 <your_keystore_password> 和 <your_key_password> 为你的 keystore 和 key 的密码。如果你有根证书 (ca.crt),你需要将其转换为 Java Keystore (truststore.jks) 格式,并提供路径和密码。保存并关闭文件。步骤 3: 将证书转换为 Java Keystore 格式如果你有根证书 (ca.crt),你需要将其转换为 Java Keystore (truststore.jks) 格式。创建信任存储使用 keytool 创建信任存储:keytool -import -trustcacerts -alias nexus-ca -file /path/to/ca.crt -keystore /path/to/truststore.jks -storepass <your_truststore_password>替换 <your_truststore_password> 为你的 truststore 密码。更新 sonatype-work.conf 文件以包含 truststore.jks 的路径和密码。步骤 4: 创建 Docker 配置文件创建一个 Docker 配置文件来配置 Nexus 使用 SSL 证书。创建配置文件使用文本编辑器创建配置文件:vi /etc/docker/nexus-docker-config.json在文件中添加以下内容:{ "http": { "port": 8081 }, "https": { "port": 8443, "keystore": { "path": "/path/to/keystore.jks", "password": "<your_keystore_password>" } } }替换 <your_keystore_password> 为你的 keystore 密码,并确保路径正确。保存并关闭文件。步骤 5: 运行 Nexus Docker 容器拉取 Nexus Docker 镜像拉取 Nexus Docker 镜像:docker pull sonatype/nexus3运行 Nexus Docker 容器运行 Nexus Docker 容器:docker run -d \ --name nexus \ -p 8081:8081 \ -p 8443:8443 \ -v /path/to/sonatype-work.conf:/sonatype-work/conf/sonatype-work.conf \ -v /path/to/keystore.jks:/path/to/keystore.jks \ -v /path/to/truststore.jks:/path/to/truststore.jks \ -v /path/to/nexus-data:/sonatype-work/nexus \ -v /path/to/nexus-docker-config.json:/sonatype-work/nexus/etc/nexus-docker-config.json \ sonatype/nexus3替换 /path/to/... 为实际的路径。注意事项确保你的证书文件路径正确无误。如果你使用了自签名证书,客户端可能会警告证书不受信任。在这种情况下,你需要将证书导入客户端的信任存储中。如果你有多个证书,可能需要使用不同的别名导入到 truststore。结论通过上述步骤,你应该能够成功配置 Nexus 作为 Docker 私有仓库,并使用 SSL 证书进行加密。如果你有任何疑问或遇到问题,请随时提问。
2024年08月11日
38 阅读
0 评论
0 点赞
2024-08-11
如何在群晖 NAS 上使用 Docker 运行 ZeroTier
本文将指导您如何在群晖 NAS 上使用 Docker 运行 ZeroTier 容器,从而实现虚拟私有网络 (VPN) 的功能。ZeroTier 是一款开源的虚拟网络管理工具,可以将不同的设备连接到同一个虚拟网络中。前提条件确保您的群晖 NAS 允许 SSH 连接。确保 Docker 应用已在群晖 NAS 上安装并且运行正常。您需要一个有效的 ZeroTier 身份验证令牌。使用 ip tuntap 创建 TUN 设备由于群晖 NAS 并不直接支持 /dev/net/tun,您需要使用 ip tuntap 命令来创建 TUN 设备。请注意,群晖 NAS 的 ip tuntap 命令可能不可用,因此您需要采用其他方法来模拟 TUN 设备的功能。创建 TUN 设备加载 TUN 模块:sudo modprobe tun手动创建 TUN 设备:sudo ip tuntap add dev tun0 mode tun sudo ip link set tun0 up检查 TUN 设备状态检查 TUN 设备的状态:ip link show tun0创建 ZeroTier 容器为了在群晖 NAS 上运行 ZeroTier 容器,您需要使用以下命令。此命令已经过实践验证,并且在群晖 NAS 上可行。示例命令docker run -d \ --name ztclient \ --restart=always \ --device=/dev/net/tun \ --net=host \ --cap-add=NET_ADMIN \ --cap-add=SYS_ADMIN \ -v /volume1/docker/dockerfile/zerotier/ztclient/data:/var/lib/zerotier-one \ zerotier/zerotier-synology:1.8.10 \ -e ZT1_AUTH_TOKEN=<your_auth_token>命令解析-d: 以守护进程模式运行容器。--name ztclient: 为容器命名。--restart=always: 容器会在系统启动时自动重启。--device=/dev/net/tun: 挂载 /dev/net/tun 设备,以便容器能够使用 TUN 功能。--net=host: 使用宿主机网络栈,而不是 Docker 的默认网络栈。--cap-add=NET_ADMIN: 增加容器的权限,使其能够管理网络接口。--cap-add=SYS_ADMIN: 增加容器的权限,使其能够执行系统级操作。-v /volume1/docker/dockerfile/zerotier/ztclient/data:/var/lib/zerotier-one: 将宿主机上的目录挂载到容器内,用于持久化存储 ZeroTier 数据。zerotier/zerotier-synology:1.8.10: 指定要运行的 Docker 镜像及其版本。-e ZT1_AUTH_TOKEN=<your_auth_token>: 设置环境变量,其中 <your_auth_token> 是您的 ZeroTier 身份验证令牌。注意事项确保您已经创建了 /volume1/docker/dockerfile/zerotier/ztclient/data 目录。如果您遇到权限问题,可能需要使用 sudo 来运行 Docker 命令。如果您之前从未在群晖上使用过 Docker,您可能需要先使用 sudo 来执行 Docker 命令。如果您经常使用 Docker,可以考虑将您的用户添加到 docker 组,这样就不需要每次都使用 sudo。结论通过上述步骤,您应该能够在群晖 NAS 上成功运行 ZeroTier 容器。如果您需要进一步的帮助,请随时提问。
2024年08月11日
151 阅读
0 评论
0 点赞
1
2
...
9
您的IP: