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

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

GitHub:https://github.com/SeriaWei/ZKEACMS.Coremysql

方式一

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

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

 

注意:使用這種方式運行,數據庫使用的是SQLite。github

方式二

接下來咱們修改使用MySql數據庫。sql

安裝MySql數據庫

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

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上:https://github.com/SeriaWei/ZKEACMS.Core/tree/master/DataBase/MySql,注意下載最新版本的腳本。使用wget下載腳本文件並保存爲dump.sql:socket

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

 

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

mysql --protocol=tcp -uroot -proot

 

注意加上--protocol=tcp,否則會出現如下錯誤:ERROR 2002 (HY000): Can't 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來訪問了。

原文地址:http://www.zkea.net/codesnippet/detail/zkeacms-run-on-docker.html

相關文章
相關標籤/搜索