# 在 Docker 中运行 SSCMS
使用 Docker 容器技术可以在一分钟内快速方便的部署好 SSCMS 系统,这种部署方式减少了环境部署,可靠性强,容易维护。
# 1、获取 SSCMS 官方镜像
拉取最新版本的 SSCMS 镜像 (opens new window),运行命令:
docker pull sscms/core:latest
如果需要获取指定版本的 SSCMS 镜像 (opens new window),可以运行命令:
docker pull sscms/core:<版本号>
# 2、运行 SSCMS 容器
在当前文件夹下创建 wwwroot
目录:
mkdir wwwroot
接下来,我们使用 SQLite 本地数据库运行 SSCMS:
docker run -d \
--name my-sscms \
-p 80:8080 \
--restart=always \
-v "$(pwd)"/wwwroot:/app/wwwroot \
-e SSCMS_SECURITY_KEY=e2a3d303-ac9b-41ff-9154-930710af0845 \
-e SSCMS_DATABASE_TYPE=SQLite \
sscms/core:latest
-d
参数让容器以后台任务形式运行-name
参数将容器实例命名为 my-sscms,可以更换为其他名称-p
参数映射容器的8080端口到宿主机的80端口-restart
参数使得容器能够自动重启,必须使用always
选项,否则容器将无法安装及升级插件-v
参数将当前文件夹下的wwwroot
目录作为网站跟目录,从而保存 SSCMS 站点数据,其中$(pwd)
代表当前文件夹-e
参数设置容器运行环境变量,SSCMS 系统将读取环境变量,作为容器运行的参数,在此我们设置SecurityKey
为随机的 GUID 值,数据库类型为 SQLite- 最后我们将容器镜像设置为之前下载的
sscms/core
镜像
上面命令将运行 SSCMS 镜像,,接下来,可以通过 http://localhost 获取 http://host-ip 访问 SSCMS 系统了。
除了将当前文件夹下的 wwwroot
目录作为站点根目录存储数据,我们也可以将镜像数据持久化存储在 Volume 中:
docker run -d \
--name my-sscms \
-p 80:8080 \
--restart=always \
-v volume-sscms:/app/wwwroot \
-e SSCMS_SECURITY_KEY=e2a3d303-ac9b-41ff-9154-930710af0845 \
-e SSCMS_DATABASE_TYPE=SQLite \
sscms/core:latest
此命令将自动创建名称为 volume-sscms
的 Docker Volume。
# 3、环境变量配置
可以通过环境变量配置 SSCMS 运行参数:
SSCMS_SECURITY_KEY
必填项,SSCMS 客户端与服务器端加密通讯使用的秘钥,通常为 GUID 字符串
SSCMS_DATABASE_TYPE
必填项,SSCMS 使用的数据库类型,可以为以下取值中的一种:
MySQL
: MySQL 数据库SQLServer
: Microsoft SQLServer 数据库PostgreSQL
: PostgreSQL 数据库SQLite
: SQLite 数据库KingbaseES
: 人大金仓数据库Dm
: 达梦数据库OceanBase
: OceanBase 数据库
SSCMS_DATABASE_HOST
数据库主机地址
SSCMS_DATABASE_PORT
数据库访问端口
SSCMS_DATABASE_USER
数据库用户名
SSCMS_DATABASE_PASSWORD
数据库密码
SSCMS_DATABASE_NAME
数据库库名
SSCMS_DATABASE_CONNECTION_STRING
数据库连接字符串
SSCMS_REDIS_CONNECTION_STRING
Redis 缓存连接字符串
如果 SSCMS_DATABASE_TYPE
设置为 SQLite 本地数据库,数据库将存储在 wwwroot/sitefiles/database.sqlite
文件中,如果 SSCMS_DATABASE_TYPE
设置为其他数据库类型,则还需要设置数据库环境变量。
数据库环境变量可以通过指定 SSCMS_DATABASE_HOST
、SSCMS_DATABASE_PORT
、SSCMS_DATABASE_USER
、SSCMS_DATABASE_PASSWORD
以及 SSCMS_DATABASE_NAME
进行设置,也可以通过 SSCMS_DATABASE_CONNECTION_STRING
直接设置,两种方式选择其中一种。
# 4、安装 SSCMS 系统
至此,我们可以开始正式安装 SSCMS 系统了。
TIP
如果在云服务器环境中安装,请先配置安全组,确保网站地址及端口能够被外网访问。
打开浏览器,访问地址 http://<IP地址或域名>/ss-admin/install
,进入 SSCMS 系统安装界面:
勾选我已经阅读并同意此协议,进入环境检测界面:
可以看到,运行环境现在为容器,点击下一步,进入数据库设置界面:
SSCMS 系统将根据容器运行时设置的环境变量获取数据库信息,点击下一步,进入缓存设置界面:
SSCMS 系统将根据容器运行时是否设置Redis连接字符串环境变量判断缓存类型,点击下一步,进入管理员设置界面:
在管理员设置界面中设置超级管理员的用户名及密码,设置完成后点击下一步,系统将显示安装成功界面:
点击 进入管理后台
按钮进入后台,至此,SSCMS 系统安装完毕。