Project Icon

vasttools

面向GPU云平台的综合管理优化工具

vasttools是针对Vast.ai等GPU云平台的综合工具集,提供服务器安装指南、性能测试、温度监控和超频管理等功能。它还包含分析仪表盘、自动价格更新等高级特性,全面优化GPU服务器性能和管理效率,为云主机提供商和用户提供多方位支持。

广大工具

我很乐意协助在Vast.ai、Runpod.io、CUDO Compute和TensorDock上部署,并提供持续支持。 您可以在Discord上找到我,Etherion#0700

目标是建立一个可与Vast.ai一起使用的工具列表。 这些工具是免费使用、修改和分发的。如果您发现这很有帮助并想捐赠,可以向以下钱包发送捐款。

BTC 15qkQSYXP2BvpqJkbj2qsNFb6nd7FyVcou

XMR 897VkA8sG6gh7yvrKrtvWningikPteojfSgGff3JAUs3cu7jxPDjhiAZRdcQSYPE2VGFVHAdirHqRZEpZsWyPiNK6XPQKAg

RVN RSgWs9Co8nQeyPqQAAqHkHhc5ykXyoMDUp

USDT(ETH ERC20) 0xa5955cf9fe7af53bcaa1d2404e2b17a1f28aac4f

Paypal PayPal.Me/cryptolabsZA

目录

  1. Vast.ai 命令行界面(vastcli): 该工具用于与Vast.ai平台交互。
  2. Vast.ai 列表: 机器应该列在Vast市场上。
  3. Ubuntu OS: 脚本设计用于运行在Ubuntu 20.04或更新版本上。

设置和安装

  1. 下载和设置 vastcli:

    • 使用以下命令下载Vast.ai CLI工具:
      wget https://raw.githubusercontent.com/vast-ai/vast-python/master/vast.py -O vast
      chmod +x vast
      
    • 设置您的Vast.ai API密钥:
      ./vast set api-key 6189d1be9f15ad2dced0ac4e3dfd1f648aeb484d592e83d13aaf50aee2d24c07
      
  2. 下载 autoverify_machineid.sh:

    • 使用wget将autoverify_machineid.sh下载到您的本地机器:
      wget https://github.com/jjziets/VastVerification/releases/download/0.3-beta/autoverify_machineid.sh
      
  3. 使脚本可执行:

    • 更改主要脚本的权限以使它们可执行:
      chmod +x autoverify_machineid.sh
      
  4. 依赖

    • 运行以下命令安装所需的软件包
    apt update
    apt install bc jq
    

使用 ./autoverify_machineid.sh

  1. 检查机器要求:

    • ./autoverify_machineid.sh 脚本旨在测试单个机器是否满足验证的最低要求。这对于想要验证自己的机器的主机很有用。
    • 要通过其 machine_id 测试特定机器,请使用以下命令:
      ./autoverify_machineid.sh <machine_id>
      
      <machine_id> 替换为要测试的机器的实际ID。
  2. 忽略要求检查:

    ./autoverify_machineid.sh --ignore-requirements <machine_id>
    

    该命令无视最低要求条件运行对该机器的测试。

监控和结果

  • 进度和结果日志:

    • 该脚本记录测试的进度和结果。
    • 成功结果和通过要求的机器将记录在 Pass_testresults.log 中。
    • 未满足要求或在测试过程中遇到错误的机器将记录在 Error_testresults.log 中。
  • 理解日志:

    • Pass_testresults.log: 此文件包含成功通过所有测试的机器的条目。
    • Error_testresults.log: 此文件包含未满足最低要求或在测试过程中遇到错误的机器的条目。

使用示例

以下是您可以运行 autoverify_machineid.sh 脚本来测试机器 ID 为 10921 的机器的方法:

./autoverify_machineid.sh 10921

问题排查

  • API密钥问题: 确保您的API密钥使用 ./vast set api-key <your-api-key> 正确设置。
  • 权限被拒: 如果遇到权限问题,请确保脚本文件具有可执行权限(chmod +x <script_name>)。
  • 连接问题: 验证您的网络连接,并确保Vast.ai CLI可以与Vast.ai服务器通信。

总结

通过遵循此指南,您将能够使用 ./autoverify_machineid.sh 脚本测试Vast.ai市场上的单个机器。此过程有助于确保机器满足GPU和系统性能的要求,使其成为进一步验证和在市场上使用的候选机器。

Speedtest-cli修复广阔

如果您的机器无法正确显示其上传和下载速度。 组合

bash -c "sudo apt-get install curl -y && sudo curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bash && sudo apt-get install speedtest -y && sudo apt install python3 -y && cd /var/lib/vastai_kaalia/latest && sudo mv speedtest-cli speedtest-cli.old && sudo wget -O speedtest-cli https://raw.githubusercontent.com/jjziets/vasttools/main/speedtest-cli.py && sudo chmod +x speedtest-cli"

或者逐步

sudo apt-get install curl
sudo curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bash
sudo apt-get install speedtest -y
sudo apt install python3 -y
cd /var/lib/vastai_kaalia/latest
sudo mv speedtest-cli speedtest-cli.old
sudo wget -O speedtest-cli https://raw.githubusercontent.com/jjziets/vasttools/main/speedtest-cli.py
sudo chmod +x speedtest-cli

这更新了您的速度测试到新版本并翻译了输出,以便Vast Demon可以使用它。 如果现在速度较慢,请按照此操作

## 如果从先前的bintray安装说明迁移,请先...
# sudo rm /etc/apt/sources.list.d/speedtest.list
# sudo apt-get update
# sudo apt-get remove speedtest -y
## 其他非官方二进制文件将与Speedtest CLI冲突
# 示例如何使用apt-get删除
# sudo apt-get remove speedtest-cli
sudo apt-get install curl
curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bash
sudo apt-get install speedtest

分析仪表板

image

Prometheus Grafana监控系统,发送警报并跟踪与您的设备和收益及租赁相关的所有指标。 https://github.com/jjziets/DCMontoring

解决在使用Ubuntu 22和24时的nvml错误

如果您在22,24和nvml错误上使用Vast安装程序时遇到问题,请运行下面的脚本 这个脚本基于Bo26fhmC5M,所以感谢他

sudo wget https://raw.githubusercontent.com/jjziets/vasttools/main/nvml_fix.py
sudo python nvml_fix.py
 

删除持久性红色错误消息

如果您的机器上有一个红色的错误消息,您已经确认它已被解决。删除/var/lib/vastai_kaalia/kaalia.log并重新启动可能会有帮助

sudo rm /var/lib/vastai_kaalia/kaalia.log
sudo systemctl restart vastai

监控您的Nvidia 3000/4000 Core、GPU Hotspot和Vram温度

如果您不想设置分析仪表板,只想看到GPU上的所有温度,那么您可以使用下面的工具 image

sudo wget https://github.com/jjziets/gddr6_temps/raw/master/nvml_direct_access
sudo chmod +x nvml_direct_access
sudo ./nvml_direct_access

内存OC

设置RTX 3090的OC 需要以下内容

在主机上运行以下命令:

sudo apt-get install libgtk-3-0 && sudo apt-get install xinit && sudo apt-get install xserver-xorg-core && sudo update-grub && sudo nvidia-xconfig -a --cool-bits=28 --allow-empty-initial-configuration --enable-all-gpus
wget https://raw.githubusercontent.com/jjziets/vasttools/main/set_mem.sh
sudo chmod +x set_mem.sh
sudo ./set_mem.sh 2000 # 这将在所有GPU上将内存OC设置为+1000mhs。您可以在某些GPU上使用3000,这将给出1500mhs OC。

OC监控

设置监控程序,该程序会根据正在运行的程序改变内存OC。它设计用于RTX3090,目前针对ethminer。 它需要在根目录下运行set_mem.sh和ocmonitor.sh。

wget https://raw.githubusercontent.com/jjziets/vasttools/main/ocminitor.sh
sudo chmod +x ocminitor.sh
sudo ./ocminitor.sh # 我建议在tmux或screen中运行此程序,以便在关闭ssh连接时它会查找ethminer,如果找到它,它会根据您的选择设置OC。您还可以使用nvidia-smi -pl 350设置功率限制

为了在重启时加载,请使用以下crontab

sudo (crontab -l; echo "@reboot screen -dmS ocmonitor /home/jzietsman/ocminitor.sh") | crontab -  #将用户替换为您的用户

使用这个基于Python的RTX3090基准测试在广泛进行应力测试

挖掘不会像Python工作负载那样压力你的系统,所以这也是一个很好的测试。 https://github.com/jjziets/pytorch-benchmark-volta 以下是英文源文本的中文翻译:

可以在Docker镜像jjziets/vastai-benchmarks:latest中找到一套完整的压力测试 位于文件夹/app/下:

stress-ng - CPU 压力测试
stress-ng - 硬盘压力测试
stress-ng - 内存压力测试
sysbench - 内存延迟和速度基准测试
dd - 硬盘速度基准测试
Hashcat - 基准测试
bandwithTest - GPU 带宽基准测试
pytorch - Pytorch DL 基准测试

#测试或Bash界面

sudo docker run --shm-size 1G --rm -it --gpus all jjziets/vastai-benchmarks /bin/bash
apt update && apt upgrade -y
./benchmark.sh

#使用默认设置运行 结果将保存到./output。

sudo docker run -v ${PWD}/output:/app/output --shm-size 1G --rm -it --gpus all jjziets/vastai-benchmarks
使用参数SLEEP_TIME/BENCH_TIME运行
sudo docker run -v ${PWD}/output:/app/output --shm-size 1G --rm -it -e SLEEP_TIME=2 -e BENCH_TIME=2 --gpus all jjziets/vastai-benchmarks

*基于leona / vast.ai-tools

Telegram-Vast-Uptime-Bot

这是一组用于监控机器崩溃的脚本。在您的Vast机器上运行客户端,在远程机器上运行服务器。如果在超时(默认12秒)内未收到心跳,您将收到Telegram通知。 https://github.com/jjziets/Telegram-Vast-Uptime-Bot

根据挖矿收益自动更新主机列表价格。

基于RTX 3090 120Mhs for eth。它设置了我的2个主机的价格。 它与一个定制的Vast-cli一起工作,可以在这里找到https://github.com/jjziets/vast-python/blob/master/vast.py 经理在这里https://github.com/jjziets/vasttools/blob/main/setprice.sh

这应该在VPS上运行,而不是在主机上。不要通过在主机上使用它来暴露您的Vast API密钥。

wget https://github.com/jjziets/vast-python/blob/master/vast.py 
sudo chmod +x vast.py
./vast.py set api-key UseYourVasset
wget https://github.com/jjziets/vasttools/blob/main/setprice.sh
sudo chmod +x setprice.sh

用于Vast的后台作业或空闲作业。

管理空闲作业的最佳方式是通过vast cli。据我所知,GUI设置作业已经坏掉了。所以要设置一个空闲作业,请遵循以下步骤。您将需要下载vast cli并运行以下命令。 这个想法是将自己作为一个可中断的工作来出租。vast cli允许您为所有GPU设置一个空闲作业,或者为每个实例设置一个GPU。您还可以设置SSH连接方法或任何其他方法。 转到 https://cloud.vast.ai/cli/ 并安装您喜欢的cli版本。

设置您的帐户密钥,以便您可以使用vast cli。您可以从您的帐户页面获取此密钥。

./vast set api-key API_KEY 

您可以使用我的SetIdleJob.py脚本,根据您机器上设置的最低价格来设置您的空闲作业。

wget https://raw.githubusercontent.com/jjziets/vasttools/main/SetIdleJob.py

这是我如何采矿到nicehash的示例

python3 SetIdleJob.py --args 'env | grep _ >> /etc/environment; echo "starting up"; apt -y update; apt -y install wget; apt -y install libjansson4; apt -y install xz-utils; wget https://github.com/develsoftware/GMinerRelease/releases/download/3.44/gminer_3_44_linux64.tar.xz; tar -xvf gminer_3_44_linux64.tar.xz; while true; do ./miner --algo kawpow --server stratum+tcp://kawpow.auto.nicehash.com:9200 --user 3LNHVWvUEufL1AYcKaohxZK2P58iBHdbVH.${VAST_CONTAINERLABEL:2}; done'

或完整命令,如果你不想使用默认值

python3 SetIdleJob.py --image nvidia/cuda:12.4.1-runtime-ubuntu22.04 --disk 16 --args 'env | grep _ >> /etc/environment; echo "starting up"; apt -y update; apt -y install wget; apt -y install libjansson4; apt -y install xz-utils; wget https://github.com/develsoftware/GMinerRelease/releases/download/3.44/gminer_3_44_linux64.tar.xz; tar -xvf gminer_3_44_linux64.tar.xz; while true; do ./miner --algo kawpow --server stratum+tcp://kawpow.auto.nicehash.com:9200 --user 3LNHVWvUEufL1AYcKaohxZK2P58iBHdbVH.${VAST_CONTAINERLABEL:2}; done' --api-key b149b011a1481cd852b7a1cf1ccc9248a5182431b23f9410c1537fca063a68b1

通过使用实例页面上的日志来排除您的bash -c命令的故障

image

或者,您可以使用以下命令对自己进行出租,然后登录并加载您想要运行的内容。确保将您的进程添加到onstart.sh 首先找到您的机器ID

./vast search offers "machine_id=14109 verified=any gpu_frac=1 " # gpu_frac=1 将给您所有GPU的实例。 

或者

./vast search offers -i "machine_id=14109 verified=any  min_bid>0.1 num_gpus=1" # 它将为您提供一个GPU的实例

一旦你有了offe_id。并且在这种情况下,使用-i开关的搜索将为你提供一个可中断的instance_id

假设您想要使用lolminer进行挖矿

./vast create instance 9554646 --price 0.2 --image nvidia/cuda:12.0.1-devel-ubuntu20.04   --env '-p 22:22' --onstart-cmd 'bash -c "apt  -y update; apt  -y install wget; apt  -y install libjansson4; apt -y install xz-utils; wget https://github.com/Lolliedieb/lolMiner-releases/releases/download/1.77b/lolMiner_v1.77b_Lin64.tar.gz; tar -xf lolMiner_v1.77b_Lin64.tar.gz -C ./; cd 1.77b; ./lolMiner --algo ETCHASH --pool etc.2miners.com:1010 --user 0xYour_Wallet_Goes_Here.VASTtest"'  --ssh  --direct --disk 100 

它将以0.2的价格启动该实例。

./vast show instances # 将给出实例列表
./vast change bid 9554646  --price 0.3 # 这将把该实例的价格改为0.3

如果您有无头系统,设置风扇速度。

这里有一个仓库,里面有两个程序和一些脚本,您可以用它们来管理您的风扇 https://github.com/jjziets/GPU_FAN_OC_Manager/tree/main

bash -c "wget https://github.com/jjziets/GPU_FAN_OC_Manager/raw/main/set_fan_curve; chmod +x set_fan_curve; CURRENT_PATH=\$(pwd); nohup bash -c \"while true; do \$CURRENT_PATH/set_fan_curve 65; sleep 1; done\" > output.txt & (crontab -l; echo \"@reboot screen -dmS gpuManger bash -c 'while true; do \$CURRENT_PATH/set_fan_curve 65; sleep 1; done'\") | crontab -"

移除unattended-upgrades软件包

如果您的系统在Vast运行时或更糟的是在客户租用时进行更新,您可能会被取消验证或禁止。建议您只在系统未被租用和下架时进行更新和升级。最好是设置您的列表结束日期,并在那个阶段进行更新。 要停止unattended-upgrades,请运行以下命令。

sudo apt purge --auto-remove unattended-upgrades -y
sudo systemctl disable apt-daily-upgrade.timer
sudo systemctl mask apt-daily-upgrade.service 
sudo systemctl disable apt-daily.timer
sudo systemctl mask apt-daily.service

如何更新主机。

当系统空闲并下架时,运行以下命令。vast demon和docker服务已停止。升级Nvidia驱动程序也是一个好主意。如果您不这样做,并且升级会破坏某个软件包,您可能会被取消验证甚至被Vast禁止。

bash -c ' sudo systemctl stop vastai; sudo systemctl stop docker.socket; sudo systemctl stop docker; sudo apt update; sudo apt upgrade -y; sudo systemctl start docker.socket ; sudo systemctl start docker; sudo systemctl start vastai'

把庞大的 Docker 驱动器移动到另一个驱动器

如何将庞大的 Docker 驱动器移动到另一个驱动器

这个指南说明了如何备份现有驱动器上的 vastai Docker 数据,并将其转移到新驱动器上。在本例中,目标驱动器是 RAID 驱动器 /dev/md0。

前提条件:

  • 没有客户端在运行,你已经从 vast 市场上退出。
  • Docker 数据存在于当前驱动器上。

步骤:

  1. 安装所需工具:
    sudo apt 安装 pv pixz
    
  2. 停止并禁用相关服务:
    sudo systemctl 停止 vastai docker.socket docker
    sudo systemctl 禁用 vastai docker.socket docker
    
  3. 备份 Docker 目录: 创建 /var/lib/docker 目录的压缩备份。确保操作系统驱动器上有足够的空间存放该备份。或者将数据转移到备份服务器。参见 https://github.com/jjziets/vasttools/blob/main/README.md#backup-varlibdocker-to-another-machine-on-your-network
    sudo tar -c -I 'pixz -k -1' -f ./docker.tar.pixz /var/lib/docker | pv  #你可以将 ./ 更改为目标目录
    
    注意: pixz 利用多核进行更快的压缩。
  4. 卸载 Docker 目录: 如果你计划关闭并安装新驱动器:
    sudo umount /var/lib/docker
    
  5. 更新 /etc/fstab: 禁止在启动时自动挂载当前 Docker 目录,以防止启动问题:
    sudo nano /etc/fstab
    
    通过在行首添加 # 来注释掉与 /var/lib/docker 相关的行。
  6. 分区新驱动器: (根据您的系统调整设备名称。本指南以 /dev/md0 作为 RAID 驱动器,以 /dev/nvme0n1 作为 NVMe 驱动器为例。)
    sudo cfdisk /dev/md0
    
  7. 使用 XFS 格式化新分区:
    sudo mkfs.xfs -f /dev/md0p1
    
  8. 检索 UUID: 你需要 UUID 来更新 /etc/fstab
    sudo xfs_admin -lu /dev/md0p1
    
  9. 使用新驱动器更新 /etc/fstab:
    sudo nano /etc/fstab
    
    添加以下行(用你检索到的 UUID 替换):
    UUID="YOUR_UUID_HERE" /var/lib/docker xfs rw,auto,pquota,discard,nofail 0 0
    
  10. 挂载新分区:
    sudo mount -a
    
    确认挂载:
    df -h
    
    确保 /dev/md0p1(或相应的设备名称)已挂载到 /var/lib/docker
  11. 恢复 Docker 数据: 导航到根目录:
    cd /
    
    解压缩并恢复:确保将用户更改为相关名称
    sudo cat /home/user/docker.tar.pixz | pv | sudo tar -x -I 'pixz -d -k'
    
  12. 启用服务:
    sudo systemctl enable vastai docker.socket docker
    
  13. 重启:
    sudo reboot
    

重启后:

检查所需驱动器是否已挂载到 /var/lib/docker,并确保 vastai 正在运行。

/var/lib/docker 备份到您的网络上的另一台机器

如果你想将 Docker 设置迁移到另一台机器,无论是更换驱动器还是设置 RAID,请遵循此指南。在这个例子中,我们假设备份服务器的 IP 地址是 192.168.1.100

在备份服务器上设置:

  1. 临时启用 Root SSH 登录: 在备份过程中,特别是在传输像压缩的 Docker 数据这样的大文件时,确保 SSH 通信不间断非常重要。 a. 打开 SSH 配置:
    sudo nano /etc/ssh/sshd_config
    
    b. 找到并将行:
    PermitRootLogin no
    
    更改为:
    PermitRootLogin yes
    
    c. 重新加载 SSH 配置:
    sudo systemctl restart sshd
    

在源机器上设置:

  1. 生成 SSH 密钥并将其传输到备份服务器: a. 创建 SSH 密钥:
    sudo ssh-keygen
    
    b. 将 SSH 密钥复制到备份服务器:
    sudo ssh-copy-id -i ~/.ssh/id_rsa root@192.168.1.100
    
  2. 禁用 Root 密码验证: 确保只能使用 SSH 密钥进行 root 登录,提高安全性。 a. 修改 SSH 配置:
    sudo nano /etc/ssh/sshd_config
    
    b. 将行更改为:
    PermitRootLogin prohibit-password
    
    c. 重新加载 SSH 配置:
    sudo systemctl restart sshd
    
  3. 备份准备: 在备份之前,请确保相关服务已停止:
    sudo systemctl stop docker.socket
    sudo systemctl stop docker
    sudo systemctl stop vastai
    sudo systemctl disable vastai 
    sudo systemctl disable docker.socket 
    sudo systemctl disable docker
    
  4. 备份过程: 这个过程压缩 /var/lib/docker 目录并将其传输到备份服务器。 a. 切换到 root 用户并安装必要的工具:
    sudo su
    apt 安装 pixz
    apt 安装 pv
    
    最好在 tmux 或 screen 中运行备份命令,这样如果您失去 ssh 连接,该过程仍将完成。 b. 执行备份:
    tar -c -I 'pixz -k -0' -f - /var/lib/docker | pv | ssh root@192.168.1.100 "cat > /mnt/backup/machine/docker.tar.pixz"
    

还原:

  1. 还原备份: 确保你的新驱动器已挂载到 /var/lib/docker。 a. 切换到 root 用户:
    sudo su
    
    b. 从备份还原:
    cd /
    ssh root@192.168.1.100 "cat /mnt/backup/machine/docker.tar.pixz" | pv | sudo tar -x -I 'pixz -d -k'
    
  2. 重新激活服务:
    sudo systemctl enable vastai 
    sudo systemctl enable docker.socket 
    sudo systemctl enable docker
    sudo reboot
    

重启后:确保您的目标驱动器已挂载到 /var/lib/docker,并且 vastai 正在运行。

使用 VNC 连接到正在运行的实例以查看应用程序的 GUI

使用具有开放端口的实例 如果显示色深是 16 而不是 16 位,请尝试其他 VNC 查看器。 TightVNC 在 Windows 上可以正常工作

首先告诉 vast 允许分配一个端口。使用 -p 8081:8081 并勾选直接命令。

image

找到一个有开放端口的主机,然后对其进行租赁。最好是按需使用。转到客户端实例页面,等待连接按钮

image

使用 ssh 连接到实例。 image

运行以下命令。第二部分可以放在 onstart.sh 中,在重启时运行

bash -c 'apt-get update; apt-get -y upgrade;  apt-get install -y x11vnc; apt-get install -y xvfb; apt-get install -y firefox;apt-get install -y xfce4;apt-get install -y  xfce4-goodies'


export DISPLAY=:20
Xvfb :20 -screen 0 1920x1080x16 &
x11vnc -passwd TestVNC -display :20 -N -forever -rfbport 8081 &
startxfce4

要连接,请使用主机的 IP 和提供的端口。在本例中,它是 400010 image

image

然后享受桌面。不幸的是,这不是硬件加速的。所以没有游戏可以运行

在 vastai 的网络浏览器中设置 3D 加速桌面

我们将使用 ghcr.io/ehfd/nvidia-glx-desktop:latest image 使用这些环境参数

-e TZ=UTC -e SIZEW=1920 -e SIZEH=1080 -e REFRESH=60 -e DPI=96 -e CDEPTH=24 -e VIDEO_PORT=DFP -e PASSWD=mypasswd -e WEBRTC_ENCODER=nvh264enc -e BASIC_AUTH_PASSWORD=mypasswd -p 8080:8080

查找系统有开放端口
![图像](https://yellow-cdn.veclightyear.com/ab5030c0/50ae0acb-0dbf-48d7-b475-f02d8d4ea04b.png)

加载完成后点击打开
![图像](https://yellow-cdn.veclightyear.com/ab5030c0/a788782b-d5fc-4323-ae2c-83ae3cca58a3.png)

用户名是 **user**,密码是您设置的 **mypasswd**
![图像](https://yellow-cdn.veclightyear.com/ab5030c0/b4731d5c-3c87-40fd-bd73-0057c5800f7d.png)

点击启动
![图像](https://yellow-cdn.veclightyear.com/ab5030c0/6c2fddc7-2efd-4d86-8661-21d695ba21c1.png)

Web浏览器中的3D加速桌面环境
![图像](https://yellow-cdn.veclightyear.com/ab5030c0/f7ddec1c-0e13-41cd-9a17-195c4bace734.png)

## 如何为网络上的系统设置Docker Registry
这将减少来自公共IP的拉取请求。 Docker对匿名登录限制每6小时100次拉取,这可以加快租赁的启动时间。
本指南提供了使用Docker Compose设置Docker注册表服务器以及配置Docker客户端使用此注册表的说明。
先决条件
Docker和Docker Compose已安装在您本地LAN上有大量快速存储的服务器上。
所有客户端机器上都已安装Docker。

设置Docker注册表服务器
如果尚未安装,请安装docker-compose。

sudo su curl -L "https://github.com/docker/compose/releases/download/v2.24.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose apt-get update && sudo apt-get install -y gettext-base

创建docker-compose.yml文件:
在您的服务器上创建一个名为docker-compose.yml的文件,内容如下:

version: '3' services: registry: restart: unless-stopped image: registry:2 ports: - 5000:5000 environment: - REGISTRY_PROXY_REMOTEURL=https://registry-1.docker.io - REGISTRY_STORAGE_DELETE_ENABLED="true" volumes: - data:/var/lib/registry volumes: data:

此配置设置了一个在端口5000上运行的Docker注册表服务器,并使用名为data的卷进行存储。
启动Docker注册表:

在包含docker-compose.yml文件的目录中运行以下命令:

sudo docker-compose up -d

此命令将以分离模式启动Docker注册表。
## 配置Docker客户端
要配置Docker客户端使用注册表,请在每台客户端机器上执行以下步骤:
编辑Docker守护进程配置:
运行以下命令将您的Docker注册表添加为Docker守护进程配置中的镜像:

echo '{ "runtimes": { "nvidia": { "path": "nvidia-container-runtime", "runtimeArgs": [] } }, "registry-mirrors": ["http://192.168.100.7:5000"] }' | sudo tee /etc/docker/daemon.json

如果空间有限,您可以将此清理任务作为一个cron作业运行

wget https://github.com/jjziets/vasttools/raw/main/cleanup-registry.sh chmod +x cleanup-registry.sh

将此行添加到您的crontab -e

0 * * * * /path/to/cleanup-registry.sh

将/path/to/替换为文件保存的位置。

将192.168.100.7:5000替换为您Docker注册表服务器的IP地址和端口。
重启Docker守护进程:

sudo systemctl restart docker

验证设置
要验证Docker注册表是否已正确设置,您可以尝试从注册表中拉取镜像:

docker pull 192.168.100.7:5000/your-image

将192.168.100.7:5000/your-image替换为适当的注册表URL和镜像名称。



## 有用的命令
"如果您设置了vast CLI,可以输入此

./vast show machines | grep "current_rentals_running_on_demand"

 如果返回0,则是可中断租赁。

在提供后台运行日志的主机上运行命令

tail /var/lib/vastai_kaalia/kaalia.log -f

卸载vast

wget https://s3.amazonaws.com/vast.ai/uninstall.py sudo python uninstall.py

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号