紙殼CMS是基於ASP .Net Core開發的可視化內容管理系統,可以跨平台部署,可以在容器中運行。接下來看看如何在docker中運行紙殼CMS。

方式一

直接運行以下命令即可在docker中運行紙殼CMS,運行成功以後,使用{IP}:5000來訪問:

docker run -d -p 5000:80 zkeasoft/zkeacms

注意:使用這種方式運行,資料庫使用的是SQLite。

方式二

接下來我們修改使用MySql資料庫。

安裝MySql資料庫

首先先在docker中運行一個MySql實例:

docker pull mysql

運行一個MySql實例:

docker run -d -e MYSQL_ROOT_PASSWORD=root --name mysql -p 3306:3306 mysql --lower_case_table_names=1

可以使用以下命令來查看容器的運行狀態:

docker ps -a

MySql Client

安裝mysql client,接下我將使用mysql client來連接容器中的MySql資料庫。這裡使用的伺服器是Ubuntu,所以直接使用apt包管理工具安裝:

apt install mysql-client

創建資料庫

接下來就是下載資料庫腳本文件。紙殼CMS的MySql資料庫腳本文件都在GitHub上:github.com/SeriaWei/ZKE,注意下載最新版本的腳本。使用wget下載腳本文件並保存為dump.sql:

wget -O dump.sql https://github.com/SeriaWei/ZKEACMS.Core/raw/master/DataBase/MySql/Dump3.1.2.sql

使用mysql命令來連接容器中的mysql:

mysql --protocol=tcp -uroot -proot

注意加上--protocol=tcp,不然會出現以下錯誤:ERROR 2002 (HY000): Cant connect to local MySQL server through socket /var/run/mysqld/mysqld.sock (2)

或者也也可以指定host為127.0.0.1來連接:

mysql -h 127.0.0.1 -uroot -proot

最後使用source命令調用dump.sql來初始化資料庫,dump.sql會創建一個資料庫名為zkeacms_core的資料庫:

source dump.sql;

等待資料庫初始化完成,然後查看一下zkeacms_core資料庫是否已初始化:

show database;

如果資料庫已經創建完成,輸入exit退出mysql。

紙殼CMS鏡像

拉取最新的紙殼CMS的鏡像:

docker pull zkeasoft/zkeacms

使用以下命令運行一個紙殼CMS實例:

sudo docker run -d -p 5000:80 --link=mysql --name=cms -e Database:DbType="MySql" -e Database:ConnectionString="Server=mysql;Database=zkeacms_core;User Id=root;Password=root;" zkeasoft/zkeacms

關鍵參數說明:

  • --link=mysql:在紙殼CMS容器中連接MySql容器,這樣才能訪問MySql資料庫
  • -e Database:DbType="MySql":設置資料庫類型為MySql
  • -e Database:ConnectionString="Server=mysql;Database=zkeacms_core;User Id=root;Password=root;":設置連接字元串

運行成功以後,使用{IP}:5000來訪問了。

原文鏈接

在Docker中運行紙殼CMS並配置使用MySql?

www.zkea.net


推薦閱讀:

相关文章