用Docker运行纸壳CMS并设置持久化
ZKEASOFT November 18, 2020
Docker
用Docker来运行纸壳CMS非常简单,在安装了Docker的环境中,直接运行下面的命令即可:
docker run -d -p 5000:8080 --name cms zkeasoft/zkeacms:ent
但这样运行起来的cms并没有做持久化,在删除容器后,你的数据会全部消失。接下来我们来看看如何做持久化。
导出数据
首先需要将容器中的数据库和上传的文件导出来。首先,我们先创建一个web
目录,用于存储数据库和用户上传的文件。
运行用下面的命令将cms容器中的数据库复制到web目录下:
docker cp cms:/zkeacms/App_Data web
再使用下面的命令将cms容器中用户上传的数据复制到web目录下,如果没用上传文件可跳过该步骤:
docker cp cms:/zkeacms/wwwroot/UpLoad web
接下来我们就可以删除原先的cms容器,重新运行一个了:
docker stop cms
docker rm cms
持久化运行
接下来我们将web目录下的App_Data目录和UpLoad目录映射到容器中,使用-v命令来做持久化:
docker run -d -p 5000:8080 -v /home/wayne/web/App_Data:/zkeacms/App_Data -v /home/wayne/web/UpLoad:/zkeacms/wwwroot/UpLoad --name cms zkeasoft/zkeacms:ent
这里要注意web目录路径要使用绝对路径,可使用pwd
命令来查看完整路径。
注意:如果是第一次运行,可跳过导出数据的步骤。