用Docker运行纸壳CMS并设置持久化

用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命令来查看完整路径。

注意:如果是第一次运行,可跳过导出数据的步骤。


微信公众号