up.py 1.0 KB

123456789101112131415161718192021222324252627282930
  1. import sys
  2. import subprocess
  3. def main():
  4. # 检查是否提供了参数
  5. if len(sys.argv) != 2:
  6. print("Usage: python up.py <number_of_containers>")
  7. sys.exit(1)
  8. # 读取用户输入的容器数量
  9. try:
  10. num_containers = int(sys.argv[1])
  11. except ValueError:
  12. print("Please provide an integer for the number of containers.")
  13. sys.exit(1)
  14. # 以下是启动容器的代码
  15. for i in range(1, num_containers + 1):
  16. container_name = f"clash-{i:04d}" # 生成格式化的容器名
  17. print(f'{container_name}')
  18. config_file = f"config_{i:04d}.yaml" # 生成格式化的配置文件名
  19. cmd = f"docker run -d --restart=always --log-opt max-size=1m -v $PWD/split_config/{config_file}:/root/.config/clash/config.yaml -p {17888 + i - 1}:8080 -p {27890 + i - 1}:7890 --name {container_name} laoyutang/clash-and-dashboard:latest"
  20. subprocess.run(cmd, shell=True)
  21. print(f"Started {num_containers} containers.")
  22. if __name__ == "__main__":
  23. main()