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 的完整管理指南!

相关推荐
EverydayJoy^v^2 小时前
RH124简单知识点——第9章——管理网络
linux·运维·网络
信创天地2 小时前
信创日志全流程管控:ELK国产化版本与华为日志服务实战应用
运维·安全·elk·华为·rabbitmq·dubbo
Shingmc32 小时前
【Linux】基础IO
linux·运维·服务器
卡卡大怪兽2 小时前
服务器远程连接,后台运行程序
运维·服务器
AOwhisky2 小时前
iSCSI 网络存储服务从入门到精通
linux·运维·网络
Channing Lewis3 小时前
linux进入重启了如何阻止
linux·运维·服务器
橘颂TA3 小时前
【Linux 网络】拒绝传输卡顿!滑动窗口如何让数据 “跑赢” 等待?
运维·服务器·网络
负二代0.03 小时前
Linux下文件管理
linux·运维·服务器
宇钶宇夕3 小时前
CoDeSys入门实战一起学习(十一):CoDeSys变量与访问路径——理清数据流转的核心逻辑
运维·自动化·软件工程