在Docker中运行纸壳CMS并配置使用MySql

纸壳CMS是基于ASP.Net Core开发的可视化内容管理系统,能够跨平台部署,能够在容器中运行。接下来看看如何在docker中运行纸壳CMS。html

GitHub

https://github.com/SeriaWei/Z...mysql

366621-20181025085855720-261570960.gif

方式一

直接运行如下命令便可在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包管理工具安装:socket

apt install mysql-client

建立数据库

接下来就是下载数据库脚本文件。纸壳CMS的MySql数据库脚本文件都在GitHub上:https://github.com/SeriaWei/Z...,注意下载最新版本的脚本。使用wget下载脚本文件并保存为dump.sql:tcp

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来访问了。

原文地址

相关文章
相关标签/搜索