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

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

  • 相关阅读:
    关于CI/CD/CD (Continuous Integration/Continuous Delivery/Continuous Deployment)
    linux bash变量替换(# ## % %% / //)
    Azure静态公网ip自助反解
    Hadoop HDFS HA启动出现两个StandBy NameNode
    yum反查某个命令或so库在哪个包里面
    Hadoop 新建集群namenode format
    命令行web客户端与HTTP REST API调试工具
    Linux下source文件两种方法
    Redis配置参数汇总
    Jenkins RestAPI调用出现Error 403 No valid crumb was included in the request
  • 原文地址:https://www.cnblogs.com/seriawei/p/9847746.html
Copyright © 2020-2023  润新知