Docker vlmcsd 完整管理指南

Rocky Linux 9 - BaseOS 0.0 B/s | 0 B 00:02

Errors during downloading metadata for repository 'baseos':

错误:为仓库 'baseos' 下载元数据失败 : Cannot prepare internal mirrorlist: Curl error (60): SSL peer certificate or SSH remote key was not OK for https://mirrors.rockylinux.org/mirrorlist?arch=x86_64\&repo=BaseOS-9 [SSL certificate problem: unable to get local issuer certificate]

root@localhost \~\]# 问题解决:配置阿里源 ```bash sed -e 's|^mirrorlist=|#mirrorlist=|g' -e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=https://mirrors.aliyun.com/rockylinux|g' -i.bak /etc/yum.repos.d/rocky*.repo ``` ![](https://i-blog.csdnimg.cn/direct/3a1c0632307c4e2985e32f6989b7b460.png) 1.安装 Docker 清理系统并更新 ```bash # 清理现有Docker安装(如果有) sudo yum remove -y docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine # 更新系统 sudo yum update -y ``` 2. 安装依赖包 ```bash sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2 \ curl \ wget ``` 3. 添加 Docker 官方仓库 ```bash # 添加 Docker CE 稳定版仓库 sudo yum-config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo # 或者如果网络访问有问题,使用国内镜像 sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/rhel/docker-ce.repo # 启用仓库 sudo yum-config-manager --enable docker-ce-stable ``` 4. 安装 Docker CE ```bash # 查看可用版本 sudo yum list docker-ce --showduplicates | sort -r # 安装最新版本 sudo yum install -y docker-ce docker-ce-cli containerd.io # 或者安装特定版本 # sudo yum install -y docker-ce-20.10.23 docker-ce-cli-20.10.23 containerd.io ``` 5. 启动并设置 Docker ```bash # 启动Docker服务 sudo systemctl start docker # 设置开机自启 sudo systemctl enable docker # 检查状态 sudo systemctl status docker # 验证安装 sudo docker version sudo docker info ``` 6. 配置 Docker(可选但推荐) ```bash # 1. 创建docker用户组并添加当前用户(避免每次sudo) sudo groupadd docker 2>/dev/null || true sudo usermod -aG docker $USER # 2. 配置Docker镜像加速器(国内用户必须) sudo mkdir -p /etc/docker # 使用阿里云镜像加速器(推荐国内用户) sudo tee /etc/docker/daemon.json << 'EOF' { "registry-mirrors": [ "https://docker.mirrors.ustc.edu.cn", "https://hub-mirror.c.163.com", "https://mirror.baidubce.com", "https://registry.docker-cn.com" ], "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" }, "storage-driver": "overlay2", "storage-opts": ["overlay2.override_kernel_check=true"] } EOF # 3. 重载配置并重启 sudo systemctl daemon-reload sudo systemctl restart docker # 4. 测试镜像加速 sudo docker pull hello-world ``` 7. Docker 常用命令 ```bash # 基本命令 docker version # 查看版本 docker info # 查看信息 docker images # 列出镜像 docker ps # 列出运行的容器 docker ps -a # 列出所有容器 # 容器管理 docker run -it ubuntu bash # 运行容器 docker start # 启动容器 docker stop # 停止容器 docker rm # 删除容器 docker rmi # 删除镜像 # 网络和卷 docker network ls # 查看网络 docker volume ls # 查看卷 # 日志和监控 docker logs # 查看日志 docker stats # 查看资源使用 ``` 8. Docker Vlmcsd 提取此镜像 ```bash Pull this image:提取此图像: docker pull mogeko/vlmcsd:latest Run with docker cli:使用 Docker CLI 运行: docker run -d --name vlmcsd -p 1688:1688 --restart unless-stopped ghcr.io/mogeko/vlmcsd:latest ``` 9.运行 vlmcsd 容器 ```bash # 查看所有镜像 docker images # 最简单的运行方式(前台运行) docker run -it --rm mogeko/vlmcsd:latest # 或者后台运行 docker run -d --name kms-server mogeko/vmsksd:latest ``` 10.常用端口映射方式(推荐): ```bash # 将容器的1688端口映射到宿主机的1688端口 docker run -d \ --name kms-server \ -p 1688:1688 \ --restart unless-stopped \ mogeko/vlmcsd:latest # 或者映射到其他端口(如16880) docker run -d \ --name kms-server \ -p 16880:1688 \ --restart unless-stopped \ mogeko/vlmcsd:latest # 如果需要UDP支持 docker run -d \ --name kms-server \ -p 1688:1688 \ -p 1688:1688/udp \ --restart unless-stopped \ mogeko/vlmcsd:latest ``` 11.容器管理命令 ```bash # 查看正在运行的容器 docker ps # 查看所有容器(包括停止的) docker ps -a # 查看容器日志 docker logs kms-server docker logs -f kms-server # 实时查看日志 # 停止容器 docker stop kms-server # 启动已停止的容器 docker start kms-server # 重启容器 docker restart kms-server # 删除容器 docker rm kms-server # 删除镜像 docker rmi mogeko/vlmcsd:latest ``` 12 .测试KMS ```bash 外部测试 yum install telnet -y ----安装 telnet yum install net-tools -y ----安装 netstat 内部测试 # 进入容器内部 docker exec -it kms-server /bin/sh # 在容器内部测试 vlmcsd -V vlmcsd -h # 从外部测试 # 安装kms客户端工具(如果有的话) # 或者使用其他工具测试端口 nc -zv localhost 1688 telnet localhost 1688 测试 KMS 服务器是否正常工作 # 1. 检查端口监听 netstat -tlnp | grep 1688 ss -tlnp | grep 1688 # 2. 测试端口连通性 telnet 127.0.0.1 1688 # 或者 nc -zv 127.0.0.1 1688 # 3. 进入容器内部测试 docker exec -it vlmcsd /bin/sh # 在容器内查看进程 ps aux # 查看vlmcsd版本 vlmcsd -V # 退出容器 exit ``` 13. 防火墙配置 ```bash # Rocky Linux 8/9/10 使用firewalld sudo firewall-cmd --zone=public --add-port=1688/tcp --permanent sudo firewall-cmd --zone=public --add-port=1688/udp --permanent sudo firewall-cmd --reload # 或者临时关闭防火墙测试(仅测试用) sudo systemctl stop firewalld # 查看开放的端口 sudo firewall-cmd --list-ports sudo firewall-cmd --list-all ``` 14.管理容器 ```bash # 停止容器 docker stop vlmcsd # 启动容器 docker start vlmcsd # 重启容器 docker restart vlmcsd # 删除容器(先停止) docker stop vlmcsd docker rm vlmcsd # 删除镜像 docker rmi ghcr.io/mogeko/vlmcsd:latest # 更新镜像 docker pull ghcr.io/mogeko/vlmcsd:latest docker stop vlmcsd docker rm vlmcsd docker run -d --name vlmcsd -p 1688:1688 --restart unless-stopped ghcr.io/mogeko/vlmcsd:latest 查看当前状态 # 查看所有相关信息 echo "=== 当前状态 ===" echo "1. 容器状态:" docker ps --filter "name=vlmcsd" echo "" echo "2. 端口监听:" ss -tlnp | grep 1688 || netstat -tlnp | grep 1688 echo "" echo "3. 服务器IP:" ip addr show | grep -oP '(?<=inet\s)\d+(\.\d+){3}' | grep -v "127.0.0.1" echo "" echo "4. 防火墙状态:" sudo firewall-cmd --list-ports 2>/dev/null || echo "firewalld未运行" echo "" echo "KMS服务器已启动!" echo "客户端使用IP: $(hostname -I | awk '{print $1}') 端口: 1688" ``` 15.使用 telnet 测试 KMS 服务器: ```bash # 测试本地KMS服务器 telnet 127.0.0.1 1688 # 测试远程服务器 telnet 远程IP 1688 # 如果连接成功,按 Ctrl+] 然后输入 quit 退出 ``` 16.备份和恢复 ```bash # 备份容器配置 docker inspect vlmcsd > vlmcsd-backup.json # 备份镜像 docker save -o vlmcsd-backup.tar ghcr.io/mogeko/vlmcsd:latest # 恢复镜像 docker load -i vlmcsd-backup.tar # 导出容器为镜像 docker commit vlmcsd vlmcsd-backup # 使用备份镜像运行 docker run -d --name vlmcsd-backup -p 1689:1688 vlmcsd-backup ``` 17.故障排查 ```bash # 1. 容器启动失败 docker logs vlmcsd # 查看错误信息 # 2. 端口冲突 netstat -tlnp | grep 1688 # 检查端口是否被占用 # 3. 检查容器内部 docker exec vlmcsd ps aux | grep vlmcsd docker exec vlmcsd netstat -tulpn # 4. 重启Docker服务 sudo systemctl restart docker # 5. 清理无用资源 docker system prune -a # 清理所有无用镜像、容器、网络 # 6. 检查防火墙 sudo firewall-cmd --list-ports sudo firewall-cmd --zone=public --add-port=1688/tcp --permanent sudo firewall-cmd --reload ``` 这样就完成了 docker-vlmcsd 的完整管理指南!

相关推荐
七夜zippoe10 小时前
CANN Runtime任务描述序列化与持久化源码深度解码
大数据·运维·服务器·cann
金刚猿10 小时前
01_虚拟机中间件部署_root 用户安装 docker 容器,配置非root用户权限
docker·中间件·容器
JH_Kong11 小时前
解决 WSL 中 Docker 权限问题:从踩坑到完整修复
docker·容器
忆~遂愿11 小时前
GE 引擎与算子版本控制:确保前向兼容性与图重写策略的稳定性
大数据·开发语言·docker
Fcy64811 小时前
Linux下 进程(一)(冯诺依曼体系、操作系统、进程基本概念与基本操作)
linux·运维·服务器·进程
袁袁袁袁满11 小时前
Linux怎么查看最新下载的文件
linux·运维·服务器
代码游侠12 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
Harvey90312 小时前
通过 Helm 部署 Nginx 应用的完整标准化步骤
linux·运维·nginx·k8s
陈桴浮海12 小时前
Kustomize实战:从0到1实现K8s多环境配置管理与资源部署
云原生·容器·kubernetes
珠海西格电力科技13 小时前
微电网能量平衡理论的实现条件在不同场景下有哪些差异?
运维·服务器·网络·人工智能·云计算·智慧城市