onesystems/semaphore本镜像基于 semaphoreui/semaphore 仓库派生,在保留原Semaphore核心功能的基础上,预装了WinRM(Windows Remote Management)工具,支持通过Ansible UI对Windows主机进行远程管理、任务调度及自动化操作。适用于需要通过图形化界面管理跨平台(Linux/Windows)Ansible任务的场景。
winrm 连接插件,支持Windows远程命令执行、文件传输等操作bashdocker run -d \ --name semaphore-winrm \ -p 3000:3000 \ # Web UI端口 -e SEMAPHORE_DB_DIALECT=sqlite \ # 数据库类型(支持sqlite/mysql/postgres) -e SEMAPHORE_ADMIN_PASSWORD=your_admin_pass \ # 管理员密码 -e SEMAPHORE_ADMIN_NAME="Admin User" \ # 管理员名称 -e SEMAPHORE_ADMIN_EMAIL=*** \ # 管理员*** -v /path/to/semaphore/data:/var/lib/semaphore \ # 持久化数据卷(存储配置、任务记录等) [镜像名称]:[标签]
| 环境变量 | 说明 | 默认值 |
|---|---|---|
SEMAPHORE_DB_DIALECT | 数据库类型(sqlite/mysql/postgres) | sqlite |
SEMAPHORE_DB_HOST | 数据库主机(非sqlite时必填) | - |
SEMAPHORE_DB_PORT | 数据库端口 | 3306(mysql)/5432(postgres) |
SEMAPHORE_DB_USER | 数据库用户名 | - |
SEMAPHORE_DB_PASS | 数据库密码 | - |
SEMAPHORE_DB_NAME | 数据库名称 | semaphore |
SEMAPHORE_PORT | Web UI监听端口 | 3000 |
SEMAPHORE_ADMIN_* | 管理员账号配置(密码/名称/***) | 需手动设置 |
镜像预装WinRM客户端后,需在Ansible Inventory中配置Windows主机的WinRM连接参数,示例:
ini[windows_hosts] win-node1 ansible_host=192.168.1.100 ansible_user=admin ansible_password=Passw0rd! [windows_hosts:vars] ansible_connection=winrm ansible_winrm_transport=ntlm # 或 'kerberos'/'basic'(根据环境配置) ansible_winrm_server_cert_validation=ignore # 开发环境可忽略证书验证
通过 -v 参数挂载数据卷,确保任务记录、配置文件等持久化存储:
bash-v /host/path/to/data:/var/lib/semaphore # 核心数据目录 -v /host/path/to/ansible:/etc/ansible # 挂载本地Ansible配置(可选)
http://localhost:3000)完成初始化配置(如创建项目、导入Inventory)ansible_winrm_ca_trust_path)及强认证(如Kerberos)semaphoreui/semaphore 构建,版本兼容性请参考原仓库文档
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务