当前位置: 首页 > news >正文

使用 Docker 安装长安链管理平台 + 部署长安链

文章目录

  • 简介
  • 登录官网
  • Github
  • Podman 配置(Docker 配置 registry 地址)
  • 安装长安链管理平台
    • 下载源码
    • podman 配置
    • docker-compose.yml
    • 登录管理平台
  • 部署长安链
    • Dockerfile
    • 构建镜像
    • 部署长安链
    • 订阅区块链

简介

在区块链应用的开发与运维过程中,如何高效地管理链节点、智能合约以及权限配置,是开发者们普遍面临的挑战。为了解决这一问题,长安链(ChainMaker)提供了管理平台(Management Platform),它集成了后端服务、Web 管理界面以及数据库存储,为用户带来可视化、便捷化的操作体验。

通过管理平台,用户不仅能够完成链节点的配置和监控,还可以轻松进行合约部署、调用和日志查看,从而提升链上业务的开发效率与稳定性。

本文将以 容器化部署 的方式,介绍长安链管理平台的安装步骤。主要包括以下内容:

  • 准备环境:安装 Docker/Podman、配置 Compose 工具;
  • 启动数据库(MySQL)与管理服务:通过 docker-compose.yml 一键启动所需容器;
  • 访问管理平台:在浏览器中打开管理界面,完成初始配置;
  • 常见问题排查:如数据库连接失败、容器依赖异常等解决方法。

通过本文,您将能够快速完成长安链管理平台的安装与运行,并顺利进入可视化的链上管理界面,为后续的区块链应用开发和运维工作打下坚实的基础。

登录官网

  • https://git.chainmaker.org.cn/users/sign_in

Github

  • https://git.chainmaker.org.cn/chainmaker/management-backend
  • https://git.chainmaker.org.cn/chainmaker/chainmaker-go
  • https://git.chainmaker.org.cn/chainmaker/chainmaker-tools
  • https://git.chainmaker.org.cn/chainmaker/chainmaker-docs

Podman 配置(Docker 配置 registry 地址)

  • 安装 podman 与 podman-compose
vim ~/.config/containers/registries.conf
unqualified-search-registries = ["docker.io"][[registry]]
location = "docker.io"
insecure = false
blocked = false
mirror = [{location = "registry.aliyuncs.com", insecure = false},{location = "hub-mirror.c.163.com", insecure = false},{location = "registry.docker-cn.com", insecure = false},{location = "hub-dev.cnbn.org.cn", insecure = false}
][[registry]]
location = "quay.io"
insecure = false
mirror = [{location = "quay-mirror.qiniu.com", insecure = false}
]
vim ~/.config/containers/storage.conf
[storage]
driver = "overlay"
runroot = "/tmp/$USER/containers"
graphroot = "/Users/wufengsheng/.local/share/containers/storage"[storage.options]
additionalimagestores = [][storage.options.overlay]
mount_program = "/usr/bin/fuse-overlayfs"
mountopt = "nodev,fsync=0"
ignore_chown_errors = "true"
# 可选:限制容器可用空间(默认 10G)
size = "20G"

安装长安链管理平台

  • 长安链官方文档

下载源码

  • https://git.chainmaker.org.cn/chainmaker/management-backend
git clone -b v2.3.4 --depth=1 https://git.chainmaker.org.cn/chainmaker/management-backend.git

podman 配置

cd ~/.config/containers

在这里插入图片描述

  • registries.conf
unqualified-search-registries = ["docker.io"][[registry]]
location = "docker.io"
insecure = false
blocked = false
mirror = [{location = "registry.aliyuncs.com", insecure = false},{location = "hub-mirror.c.163.com", insecure = false},{location = "registry.docker-cn.com", insecure = false},{location = "hub-dev.cnbn.org.cn", insecure = false}
][[registry]]
location = "quay.io"
insecure = false
mirror = [{location = "quay-mirror.qiniu.com", insecure = false}
]
  • storage.conf
[storage]
driver = "overlay"
runroot = "/tmp/$USER/containers"
graphroot = "/Users/wufengsheng/.local/share/containers/storage"[storage.options]
additionalimagestores = [][storage.options.overlay]
mount_program = "/usr/bin/fuse-overlayfs"
mountopt = "nodev,fsync=0"
ignore_chown_errors = "true"
# 可选:限制容器可用空间(默认 10G)
size = "20G"

docker-compose.yml

cd management-backend

在这里插入图片描述

vim docker-compose.yml

注: 文件中需要加上 container_name ,没加可能会导致部署时连不上 cm_db

version: "3.9"services:cm_db:image: mysql:5.7container_name: cm_dbvolumes:- db_data:/var/lib/mysqlrestart: alwaysenvironment:MYSQL_ROOT_PASSWORD: Baec&chainmakerMYSQL_USER: chainmakerMYSQL_PASSWORD: Baec&chainmakerMYSQL_DATABASE: chainmaker_devcommand: ['mysqld', '--character-set-server=utf8mb4', '--collation-server=utf8mb4_unicode_ci', '--max_allowed_packet=200M']cm_mgmt_server:depends_on:- cm_dbimage: chainmakerofficial/management-backend:v2.3.4container_name: cm_mgmt_serverports:- "9999:9999"cm_mgmt_web:depends_on:- cm_mgmt_serverimage: chainmakerofficial/management-web:v2.3.4container_name: cm_mgmt_webports:- "8080:80"volumes:db_data: {}
  • 将 cm_mgmt_web 的 80 端口改为 8080

在这里插入图片描述

  • 部署管理平台
docker-compose up
# 或
podman-compose up

在这里插入图片描述

注:磁盘不足报错(磁盘至少要留有30G可用空间)

在这里插入图片描述

  • 清理删除 podman 未使用的卷
podman volume ls
podman volume prune -f
  • 用到的 Docker 镜像

在这里插入图片描述

登录管理平台

注:账号/密码(admin/a123456)

  • http://localhost:8080/login

在这里插入图片描述

  • 快速引导

在这里插入图片描述

  • 证书账户

在这里插入图片描述

  • 新建区块链

在这里插入图片描述
在这里插入图片描述

  • 下载链配置文件

在这里插入图片描述

部署长安链

注:本文采用 ubuntu 镜像部署长安链。

Dockerfile

FROM ubuntu:20.04RUN apt-get update && apt-get install -y \curl \bash \p7zip-full \&& rm -rf /var/lib/apt/lists/*WORKDIR /chainmakerCMD ["bash", "start.sh"]

构建镜像

podman build -t chainmaker .

部署长安链

  • 让容器保持运行状态

注:在解压后的链配置文件 release 目录 start.sh 末尾添加如下两行

...echo "ChainMaker nodes started successfully!"
tail -f /dev/null

在这里插入图片描述
在这里插入图片描述

  • 部署长安链
podman run -d --name chainmaker-node \
-p 12301:12301 \
-p 12302:12302 \
-p 12303:12303 \
-p 12304:12304 \
-v $PWD/release:/chainmaker \
localhost/chainmaker:latest
  • 查看容器日志

在这里插入图片描述

订阅区块链

在这里插入图片描述

在这里插入图片描述

http://www.dtcms.com/a/339344.html

相关文章:

  • DL00291-联邦学习以去中心化锂离子电池健康预测模型完整实现
  • Transformer实战(13)——微调Transformer语言模型用于文本分类
  • 操作系统:多线程、进程管理、内存分配、任务调度等
  • Gemini CLI 详细操作手册
  • ECC升级S4,AVL自定义GUI 状态无法显示全选和取消全选按钮
  • Matplotlib数据可视化实战:Matplotlib基础与实践-快速上手数据可视化
  • 学习嵌入式的第二十一天——数据结构——链表
  • 08.19总结
  • 豆包1.5轻量版 vs Gemini 2.5闪存版:生成5000字深度文章,哪个模型更合适?
  • 玳瑁的嵌入式日记D20-08019(数据结构)
  • audio接口的技术发展
  • Java技术总监的成长之路(技术干货分享)
  • 昆仑万维SkyWork AI技术发布周:多模态模型的全面突破
  • 记一次 .NET 某自动化智能制造软件 卡死分析
  • 一条 SQL 语句在 MySQL中的执行过程。
  • Python网络爬虫全栈教程 – 从基础到实战
  • 【INOUT端口】
  • HarmonyOS 中的 setInterval的基本使用
  • openssl生成自签名证书的方法
  • 飞算JavaAI颠覆传统:SpringBoot项目开发效率革命实录
  • 基于uni-app的成人继续教育教务管理系统设计与实现
  • 0.开篇简介
  • 微信小程序连接到阿里云物联网平台
  • LeetCode 135.分发糖果:双向遍历下的贪心策略应用
  • Kubernetes Pod 控制器
  • Effective C++ 条款50:了解new和delete的合理替换时机
  • 实践项目-1
  • jenkins自动化部署
  • 七十二、【Linux数据库】MySQL数据库MHA集群概述 、 部署MHA集群
  • 当MySQL的int不够用了