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

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
  1. 安装依赖包
bash 复制代码
sudo yum install -y yum-utils \
    device-mapper-persistent-data \
    lvm2 \
    curl \
    wget
  1. 添加 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
  1. 安装 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
  1. 启动并设置 Docker
bash 复制代码
# 启动Docker服务
sudo systemctl start docker
# 设置开机自启
sudo systemctl enable docker
# 检查状态
sudo systemctl status docker
# 验证安装
sudo docker version
sudo docker info
  1. 配置 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
  1. Docker 常用命令
bash 复制代码
# 基本命令
docker version            # 查看版本
docker info               # 查看信息
docker images             # 列出镜像
docker ps                 # 列出运行的容器
docker ps -a              # 列出所有容器

# 容器管理
docker run -it ubuntu bash      # 运行容器
docker start <container>        # 启动容器
docker stop <container>         # 停止容器
docker rm <container>           # 删除容器
docker rmi <image>              # 删除镜像

# 网络和卷
docker network ls               # 查看网络
docker volume ls                # 查看卷

# 日志和监控
docker logs <container>         # 查看日志
docker stats                    # 查看资源使用
  1. 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
  1. 防火墙配置
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 的完整管理指南!

相关推荐
木卫二号Coding4 分钟前
第八十五篇-CentOS-7 + Tesla V100 环境下 Docker 容器内编译部署 Qwen3.6-27B-MTP 大模型实战指南
linux·docker·centos
Irene19915 分钟前
Win11 安装 Docker Desktop 并配置 WSL 使用 Hbase
docker·hbase
dongdonglele5219 分钟前
ubuntu 系统x86 架构安装docker,可以使用本地显卡
ubuntu·docker·架构
日取其半万世不竭9 分钟前
密码管理工具私有化部署,Vaultwarden 备份恢复怎么做?
数据库·docker·容器
无限进步_11 分钟前
【Linux】GDB 调试:定位问题的利器
linux·运维·服务器
流觞 无依18 分钟前
CentOS 7 系统中 systemd 组件的 CVE-2022-2526 漏洞修复
linux·运维·centos
赵民勇20 分钟前
Rootless容器详解
linux·容器
我命由我1234523 分钟前
BOM 极简理解
运维·经验分享·笔记·物联网·学习·运维开发·学习方法
IT策士24 分钟前
第32篇 k8s 之 配置管理:ConfigMap 详解
云原生·容器·kubernetes
worxfr27 分钟前
Linux 磁盘空间排查与清理指南
linux·运维·chrome