在Docker中运行纸壳CMS并配置使用MySql
纸壳cms是基于asp.net core开发的可视化内容管理系统,可以跨平台部署,可以在容器中运行。接下来看看如何在docker中运行纸壳cms。
github:https://github.com/seriawei/zkeacms.core
方式一
直接运行以下命令即可在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上:https://github.com/seriawei/zkeacms.core/tree/master/database/mysql,注意下载最新版本的脚本。使用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): 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
来访问了。
原文地址:
上一篇: 移动互联网赢家张小龙