自建kms服务器并通过docker部署

通过docker创建自己的kms服务容器,并部署到Linux服务器或者树莓派上

首先进入home创建文件夹

  • mkdir ~/kms-tmp && cd ~/kms-tmp

下载kms脚本

  • git clone https://github.com/dakkidaze/one-key-kms.git

创建临时容器

  • vim Dockerfile
    1
    2
    3
    4
    5
    6
    7
    8
    FROM arm32v7/ubuntu:18.04
    COPY one-key-kms /home/root/one-key-kms
    WORKDIR /home/root/one-key-kms
    RUN apt update && apt install vim -y && apt install curl -y
    RUN chmod a+x *.sh

    RUN echo "done kms!"

创建镜像

  • docker build . -t kms-tmp:v1

运行创建的容器

  • docker run -it kms-tmp:v1
  • 执行 ./one-key-kms-debian.sh 进行安装,自动下载依赖的组件

完成后手动退出容器,将容器创建为镜像

  • docker commit $container_id kms/kms-tmp

开始创建kms镜像

  • mkdir ~/kms && cd ~/kms
  • vim start_kms.sh
  • #!/bin/bash
    /home/root/one-key-kms/kms.sh start 
    ## 阻塞主程序 防止docker容器启动后退出
    watch -n 100 -d 'df -h'
      
    1
    2
    3
    4
    5
    6
    7
    - ` vim Dockerfile ` 编写Dockerfile 需要暴露 1688 端口
    ```shell
    FROM kms/kms-tmp:latest
    WORKDIR /home/root/one-key-kms
    COPY start_kms.sh /home/root/one-key-kms
    RUN chmod a+x start_kms.sh
    EXPOSE 1688

容器创建完成之后运行即可

  • docker run -dit -p 1688:1688 \
    --name kms \
    --entrypoint "/home/root/one-key-kms/start_kms.sh" \
    --restart=always
    kms:v1
    
  • --restart=always 是指定容器自动启动

windows下激活脚本

  • 进入system32目录下 cd %SystemRoot%/system32

  • 设置服务器ip

  • slmgr /skms kms服务器ip

  • 激活产品

  • slmgr /ato

  • 查看激活信息

  • slmgr /xpr

office激活

进入安装目录

  • 设置激活服务器
  • cscript ospp.vbs /sethst:$kmsip
  • 激活产品
  • cscript ospp.vbs /act