
steedos/steedos-enterpriseSteedos Platform Docker镜像集成了运行所需的所有组件,可在单个Docker容器中运行。本目录中的文件包含构建该镜像所需的脚本和模板文件。
以下小节介绍如何搭建您自己的Steedos Platform实例。
确保已安装docker和docker-compose,以便启动容器:
可通过运行docker --version和docker-compose --version验证安装是否成功。输出应类似于:
sh$ docker --version Docker version 20.10.7, build f0df350 $ docker-compose --version docker-compose version 1.29.2, build 5becea4c
创建一个名为steedos(或其他您喜欢的名称)的文件夹作为安装目录。在该文件夹中,创建docker-compose.yml文件并复制以下内容:
yamlversion: "3" services: steedos: image: steedos/steedos-enterprise container_name: steedos-enterprise ports: - "80:80" - "443:443" - "9001:9001" volumes: - ./stacks:/steedos-stacks restart: unless-stopped # # 取消以下注释以启用自动更新 # labels: # com.centurylinklabs.watchtower.enable: "true" # auto_update: # image: containrrr/watchtower # volumes: # - /var/run/docker.sock:/var/run/docker.sock # # 更新检查间隔(秒) # command: --schedule "0 0 * ? * *" --label-enable --cleanup # restart: unless-stopped
注意:如需启用Steedos Platform自动更新,请取消docker-compose文件中所有注释行。
保存文件后,进入该目录并运行以下命令启动Steedos Platform:
shdocker-compose up -d
该命令可能需要几分钟时间下载镜像并初始化应用。Steedos Platform很快将可通过http://localhost访问。
可通过docker ps或docker-compose ps(需在docker-compose.yml所在目录运行)检查应用是否正常运行:
sh$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3b8f2c9638d0 steedos/steedos-enterprise "/opt/steedos/entrypoint.sh" 17 minutes ago Up 17 minutes 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp Steedos
您还可以使用Supervisord UI监控和管理容器内的不同进程,详见下文。
要通过自定义域名访问Steedos Platform,请更新域名的DNS记录,指向运行Steedos Platform的实例。大多数域名注册商/DNS提供商都有相关设置文档:
容器支持生成免费SSL证书。如您拥有自有证书,请按以下步骤在容器中使用:
fullchain.pem,密钥文件重命名为privkey.pem<mounting-directory>/ssl/(注意:请将<mounting-directory>替换为docker-compose.yml中的卷挂载目录,默认是./stacks)docker restart Steedos Platform重启容器容器将检查<mounting-directory>/ssl文件夹中的证书文件,如存在则使用。
注意:如证书文件名不是fullchain.pem和privkey.pem,将被视为缺少自定义证书,容器将通过Let's Encrypt自动生成证书
镜像包含steedosctl命令,用于实例的管理和维护。以下介绍可用功能:
可使用以下命令备份Steedos Platform数据库,通过导入命令(见下文)可在另一实例恢复所有数据。
运行前,请确保位于docker-compose.yml所在目录。
shdocker-compose exec steedos-enterprise steedosctl export_db
输出文件将存储在容器目录/steedos-stacks/data/backup/steedos-data.archive。由于docker-compose.yml中的卷配置,该文件在宿主机上的路径为./stacks/data/backup/steedos-data.archive。
如卷配置不同或不可用,可使用以下命令将归档文件复制到宿主机:
shdocker-compose cp steedos-enterprise:/steedos-stacks/data/backup/steedos-data.archive .
如需在其他环境重现该环境或灾难恢复,建议同时保存docker.env文件。可通过以下命令从容器复制该文件:
shdocker-compose cp steedos-enterprise:/steedos-stacks/configuration/docker.env .
请妥善保管此文件,因其包含可用于解密数据库归档中数据源信息的密钥。
以下命令可恢复通过导出命令生成的备份归档。
首先,使用以下命令将归档文件复制到容器:
shdocker-compose cp ./steedos-data.archive steedos-enterprise:/steedos-stacks/data/restore/
然后,运行以下命令从该文件导入数据:
shdocker-compose exec steedos-enterprise steedosctl import_db
恢复时,可能还需要将原实例的docker.env复制到新实例。如在安装目录且docker.env存在,可使用以下命令:
shdocker-compose cp ./docker.env steedos-enterprise:/steedos-stacks/configuration/
之后需要重启Steedos Platform服务器:
shdocker-compose exec steedos-enterprise supervisorctl restart backend
要将运行中的容器迁移到新服务器或其他机器,可使用以下migrate命令,将<user>和<new-server-ip-address>替换为目标服务器的用户和IP地址。
shdocker exec steedos-enterprise steedosctl migrate <user>@<new-server-ip-address>
该命令将把源机器上运行中容器的所有数据和配置迁移到目标机器,并在目标机器启动新容器。
容器中运行多个进程(包括Steedos Platform服务器、Nginx、MongoDB等),由supervisord启动和管理。
Supervisord提供Web界面管理进程,访问地址为http://localhost/supervisor/,也可通过命令行工具管理。
命令行工具可用于重启Steedos Platform服务器、重启Nginx等操作。例如,在安装目录运行以下命令查看所有进程状态:
shdocker-compose exec steedos-enterprise supervisorctl status
或查看某个进程的最后几行 stderr 输出:
shdocker-compose exec steedos-enterprise supervisorctl tail backend stderr
如需了解更多,可参考Supervisor文档中的命令行操作说明。
如过程中遇到任何错误,请联系*****或加入我们的*服务器,在#support频道咨询。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务