少湖说 | 科技自媒体

互联网,科技,数码,鸿蒙

开发流程

alt text

主要包括以下几个步骤:

1.开通服务

认证账号,下单购买,这里选择专业版购买

alt text

2.准备开发环境

服务开通后,进入控制台,按照页面提示的步骤依次操作即可:

alt text

包括创建 AccessKey, 创建链上账户并分配燃料

3. 开发只能合约

4.集成SDK开发

主要包括集成以下 API:
提交交易,账户操作,部署合约,调用合约,各类查询操作,监听事件等

5.部署合约

首先需要通过 Cloud IDE 编译合约,

alt text

编译通过后,可以将合约部署至开放联盟链进行测试

alt text

6.查询链上交易数据

  1. 使用区块链浏览器, 查看交易情况和历史数据,包括节点信息、块信息等信息。
  2. 使用数据洞察服务,可以查询查看以下数据:
  • 业务数据搜索
  • 技术数据搜索(支持链、区块、链上账户、链上合约、链上交易的搜索)
  • 洞察看板视图(支持自定义添加看板、管理看板视图)
  • 链上数据详情(支持交易详情、区块详情、账户详情、合约详情的查看)

参考资料

Solidity 语言基础

Solidity 是一种基于 Ethereum 平台的编程语言,用于编写智能合约。

📌 一、基础类型与变量

值类型

bool:布尔值(true/false)
uint/int:无符号/有符号整数(如 uint8, int256)
address:存储 20 字节的以太坊地址
bytes:固定大小字节数组(如 bytes32)
string:动态长度 UTF-8 字符串

引用类型

array:数组(可动态或静态,如 uint[])
struct:自定义数据结构
mapping:键值对映射(如 mapping(address => uint))

数据位置修饰符

storage:永久存储在链上
memory:临时变量,函数执行后销毁
calldata:只读的临时数据(常用于函数参数)

⚙️ 二、函数与修饰符

函数声明

function:定义函数
returns:声明返回值类型(如 returns (uint))
view:承诺不修改状态
pure:承诺不读/写状态
payable:允许函数接收 ETH

函数行为控制

modifier:定义函数修饰器(如权限检查)
constructor:合约部署时执行的初始化函数
fallback:处理未匹配函数调用的默认函数
receive:专门接收 ETH 的函数

🔄 三、流程控制

if/else:条件分支
for/while/do:循环控制
break/continue:中断或继续循环
return:从函数返回值

📦 四、合约与继承

合约结构

contract:定义智能合约
interface:声明抽象接口(无实现)
library:定义可复用代码库

继承与抽象

is:实现继承(如 contract A is B)
abstract:标记合约未完全实现
virtual:允许函数在子类中被覆盖
override:显式声明覆盖父合约函数

⚡ 五、特殊变量与错误处理

全局变量

msg.sender:当前调用者地址
msg.value:随调用发送的 ETH 数量
block.timestamp:当前区块时间戳

错误处理

require:验证条件,不满足则回滚
assert:检查内部错误(如溢出)
revert:主动终止执行并回滚
error:自定义错误类型(Gas 效率高于 string)

💎 六、其他关键操作符

new:创建新合约实例
delete:重置变量为默认值
emit:触发事件(如 emit Transfer(…))
enum:定义枚举类型
event:声明事件(用于日志记录)

产品介绍

区块链是一个典型的分布式协同系统,多方共同维护一个不断增长的分布式数据记录,这些数据通过密码学技术保护内容和时序,使得任何一方难以篡改、抵赖、造假。

蚂蚁区块链开放联盟链是一个低成本、低门槛开放普惠的区块链服务网络,依赖蚂蚁区块链联盟链强大的技术基础、创新公有许可机制,联合各行业权威节点合作伙伴共同打造。开放联盟链致力于解决现有区块链网络费用高、开发门槛高、无法大规模商用落地等问题。本着生态共建,合作共赢的原则,向广大开发者开放该服务网络,赋能全行业开发者,共建生态繁荣。

功能特性

蚂蚁区块链开放联盟链具备以下功能特性:

公有许可机制

  • 面向广大开发者和中小微企业提供服务。
  • 联盟参与方加入需经过许可,权威公正。
  • 无需建链即可享受蚂蚁区块链服务。

生态服务共建

  • 联盟用户均可参与服务设计与输出,共享生态收益。
  • 开放联盟链提供阿里经济体流量、服务承接。

优秀开发工具

  • Cloud IDE 及智能合约开发模板。
  • 多语言 SDK 集成服务。
  • 功能强大、丰富多样的中间件。

基础能力强大

  • 支持分布式数字身份。
  • 支持链上统一积分。
  • 提供强大的隐私计算能力。
    -提供企业身份认证、实人认证、内容安全、金融级风控等能力。

应用场景

蚂蚁区块链开放联盟链是一个低成本、低门槛开放普惠的区块链服务网络。区块链技术是由 P2P 网络、链式数据结构、加密技术、共识算法、智能合约等技术巧妙组合而成,具有分布式一致、防篡改、可追溯的特征,以其作为底层的基础设施可以构建一个可信的多方协作的价值网络,适合所有需要通过技术增加信任、提升协作效率的场景,包含但不限于:

商品溯源

商品溯源是指追踪记录商品从生产到零售的全部环节,它的实现需要产业链上下游各方共同参与。商品溯源属于一种多环节协同的综合性商业行为,集合了 IoT 技术、防伪技术、信息系统与溯源机制。

版权保护

以区块链为核心技术,结合大数据和人工智能等多种先进技术,对生产者和产物的数据进行存储和探索,可以实现所有权的溯源,从而达到保护生产者版权的作用。

供应链金融

将供应链上的核心企业以及与其相关的上下游企业看作一个整体,以核心企业为依托,以真实贸易为前提,运用自偿性贸易融资的方式,对供应链上下游企业提供的综合性金融产品和服务。根据融资担保品的不同,金融机构将供应链金融分为在应收账款类、预付类和存货类融资。

而区块链的信任传递,能很好解决供应链金融下中小企业缺乏信用的问题,让优质核心企业闲置的银行信用额度传递给中小企业,实现整个链条上信任流通。

去中心化游戏

将区块链技术应用于游戏当中,可以将游戏的所有权下放给所有的玩家,游戏不再受中心组织的控制。游戏交由玩家社区自治,运行机制透明,每一笔交易数据都上链不可篡改,避免了中心组织捏造虚假数据。玩家对自己的资产持有真正的把控权,只要区块链网络存在,玩家的资产就永远不会凭空消失。

公益

区块链可以用提高公益事业的信息透明度,给予捐赠者以良好的反馈。记录其继续捐助,形成良性的循环。如利用区块链技术追踪钱款的来源和流向,对受捐赠者的身份进行确认,建立公益领域的问责机制,从而提升组织效率。

保险

利用区块链技术,将保险产品信息及投保过程、流通过程、营销过程、理赔过程的信息进行整合并写入区块链,实现了全流程追溯、数据在交易各方之间公开透明,以及保险公司、保险机构、监管部门、消费者之间的信任共享,降低各方信息不对称程度,大大提升保险各环节业务效率。

电子票据

传统“智慧医疗”模式下,患者通过网络交费、移动支付后,仍需线下人工打印纸质票据,严重制约了智慧医疗发展,给患者带来不便。而区块链票据模式则可实现非税、应税票据全面电子化,链上化,保证票据信息的真实性、唯一性,大幅提高报销效率。

跨境支付

区块链技术通过分布式账本技术将原来像接力赛一样逐个节点确认传递的汇款模式,改变为业务节点实时同步并行确认,提升了效率,改变了运营模式。在汇出端钱包发起汇款的同时所有参与方同时收到该信息,在完成合规等所需的审核后,区块链上协同各方同时完成这一笔汇款交易。

资产数字化

各类资产,如股权、债券、票据、收益凭证、仓单等均可被整合进区块链中,成为链上数字资产,使得资产所有者无需通过各种中介机构就能直接发起交易。上述功能可以借助于行业基础设施类机构实现,让其扮演托管者的角色,确保资产的真实性与合规性,并在托管库和分布式账本之间搭建一座桥梁,让分布式账本平台能够安全地访问托管库中的可信任资产。

参考资料

安装定位工具

1
appium plugin install --source=npm appium-inspector-plugin

运行

1
appium --use-plugins=inspector --allow-cors

打开浏览器

在浏览器中打开 http://localhost:4723/inspector

在右侧编辑 json, 点击保存按钮,点击 Start Session

1
2
3
4
5
{
"platformName": "iOS",
"appium:automationName": "XCUITest",
"appium:udid": "00000030-0018581E1E43402E"
}

alt text

点击 +号,开启位置定位查询

alt text

编写测试代码

index.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// Appium 服务配置
const APPIUM_HOST = '127.0.0.1';
const APPIUM_PORT = 4723;
// Appium 配置
const iosOptions = {
capabilities: {
platformName: "iOS",
"appium:udid": "00000030-0018581E1E43402E",
"appium:platformVersion": "16.2", // 修改为你的 iOS 版本
"appium:deviceName": "iPhone", // 修改为你的设备名称
"appium:automationName": "XCUITest",
"appium:bundleId": "com.xxx.xxx", // bundle ID
"appium:noReset": true,
"appium:newCommandTimeout": 300
},
hostname: APPIUM_HOST,
port: APPIUM_PORT,
};

async function startTest() {
// 初始化 Appium 驱动
const driver = await wdio.remote(iosOptions);
// 模拟点击事件
await driver.performActions([{
type: 'pointer',
id: 'finger1',
parameters: { pointerType: 'touch' },
actions: [
{ type: 'pointerMove', duration: 0, x: 80, y: 300 },
{ type: 'pointerDown', button: 0 },
{ type: 'pause', duration: 100 },
{ type: 'pointerUp', button: 0 }
]
}]);
}

// 启动测试
startTest().catch(console.error);

启动测试

首先启动 Appium 服务器

1
appium

然后运行测试代码

1
node index.js

更多问题

非iOS原生应用,如何解决复制粘贴问题?

这种情况下无法直接复制或者发送文本,一个思路是使用微信输入法的剪贴板/常用语,通过模拟点击操作,间接实现输入功能。

参考资料

安装 Appium

1
npm install -g appium

检测 Appium 是否安装成功

1
appium --version

安装 Appium Doctor

1
npm install appium-doctor -g

安装 ios 测试驱动

1
appium driver install xcuitest

检测 iOS 环境是否正常

1
appium-doctor --ios

安装 ideviceinstaller

1
brew install ideviceinstaller

查询设备 udid

使用 USB 链接好 iPhone,使用以下命令查询设备 udid

1
2
3
idevice_id -l
# 例如,这些输出以下内容:
# 00000030-0018581E1E43402E

安装 WebDriverAgent

WebDriverAgent 是一个用于测试 iOS 应用的开源项目,它提供了一套完整的测试工具,用于测试 iOS 应用,最早由 facebook 开发,目前由appium 社区维护。

下载&签名

打开 WebDriverAgent 仓库下载源码到本地,并进入到 WebDriverAgent 目录下,使用 Xcode 打开 WebDriverAgent.xcodeproj 文件,对项目重新签名。

打开项目,在 Targets -> WebDriverAgentRunner -> General -> Signing -> Team,修改 Bundel Identifier, 解决重名问题,

Team 选择自己或者加入的团队,勾选 Automatically manage signing。

Targets 下的其他几个,如 WebDriverAgetLib, 也执行同样操作。

alt text

运行

在 Xcode 中,中间顶部,左侧选择 WebDriverAgentRunner,右侧选择运行的设备,然后点击 Products -> Test。

alt text

此时将在手机上安装 WebDriverAgentRunner App,

首次运行会出现以下错误提示:

Unable to launch com.facebook.WebDriverAgentRunner.zacksleo.xctrunner, 如图所示

alt text

这是因为私有证书需要在手机上勾选允许,然后进入手机“设置”,打开 “通用”,找到“VPN与设备管理”,最下方找到 “开发者APP” 下面的证书,点开后选择信任 Apple Development:…,弹窗选择信任。

打开刚安装的这个名为 WebDriverAgentRunner 的 App,启动客户端代理,然后在电脑命令行中运行 Appium,启动 Appium 服务。

1
appium

编写测试代码,运行测试用例:

1
node test.js

参考资料

Top 10

排名 公司名称 核心优势 应用场景
1 蚂蚁数科 BaaS市场份额连续四年第一(26.5%),隐私计算与跨境RWA资产代币化案例领先,拥有蚂蚁链、鹊凿等技术产品 金融、政务、IP版权
2 腾讯云 腾讯云区块链服务平台(TBaaS)支持多底层技术(如长安链),跨云联盟链部署能力突出,覆盖供应链金融、电子存证等场景 金融、政务、数据共享
3 平安科技 FiMAX S3C全加密框架实现高TPS与低延迟,国密算法一键部署,专利数超2900项,医疗与金融领域深度应用 金融、医疗、智慧城市
4 趣链科技 全球首个区块链3.0全栈生态体系,跨链技术BitXHub与数据共享平台BitXMesh,服务超300家国家机构及头部企业 智慧城市、数字法治、双碳
5 万向区块链 PlatONE联盟链平台以隐私计算为核心,参与RISC-V区块链标准制定,服务超200家金融机构 资产数字化、工业互联网
6 天河国云 自研天河链V2.0(TPS 40000+),军工领域近千个应用场景,牵头省级区块链安全测评标准 军工、政务、工业
7 东软集团 医疗数据共享平台CareVault实现数据确权,SaCa EchoTrust联盟链支持全生命周期智能合约管理 医疗、保险、慈善
8 百度 超级链XuperChain开源且高性能,专利729项,与开放原子基金会合作推动技术标准化 政务、金融、版权
9 工商银行 自研“工银玺链”平台,跨境金融链上交易超3300亿元,区块链贸金平台缩短单据周期80% 跨境支付、供应链金融
10 京东科技 智臻链开放联盟网络,供应链全周期溯源技术,获“区块链跨链服务管理”专利授权 供应链、公益、知识产权

蚂蚁链

蚂蚁链占有率最高,高达 24.4%,为BaaS厂商市场首位,主要有两个,蚂蚁链BaaS平台开放联盟链

蚂蚁链BaaS平台

蚂蚁链BaaS平台为独立联盟链,费用较高,从10-60万不等。

类型 配置 价格
专业版 4节点,4核8G,500G 10万/年
企业版 4节点,12核24G,6T 50万/年
TEE安全版 4节点,8核32G,6T 60万/年

开放联盟链

开放联盟链是面向企业和开发者提供的“无需搭链、快速上链、接近公链”的区块链服务网络,无缝对接Web3 生态。开放联盟链以类公链的燃料计价方式,通过合约模板、小程序查证、按需计价实现“低成本低门槛上链”。

目前行业内主要有三大类区块链,即公链、联盟链,以及介于前两者之间的开放联盟链。

公链指的是任何人都可以参与数据读取、共识、存证、交易的区块链服务网络。

联盟链指用户需经过授权才可加入的区块链服务网络,且根据权限不同,在链上可进行的活动也不同。蚂蚁区块链 BaaS 是一种联盟链,它常被用于构建大型行业联盟,具备金融级隐私保护能力,同时实现交易秒级确认。

开放联盟链兼具公链的开放多元特性,以及联盟链的交易高效确认能力。在蚂蚁区块链开放联盟链上,任何通过支付宝认证的个人、企业均可参与,享受低成本、高效率的数据上链、智能合约开发、dApp 开发等功能。

类型 配置 价格
专业版 10TPS,10亿燃料/月 1200/年
企业版 100TPS,1000亿燃料/年 1万/年

alt text

蚂蚁链,特别是蚂蚁开放联盟链,无论从影响力、公信力,还是从费用、技术等角度,都推荐使用。

腾讯

腾讯提供的区块链产品,主要分为 TBaaS 和开放联盟链(至信链)。

TBaaS

BaaS 是腾讯云区块链服务平台,用户可以创建自己的联盟链,引擎包括长安链(ChainMaker)和 Hyperledger Fabric 可选。

以下是长安链的配置参数价格列表,同步节点和共识节点数据可以按需增加。

配置 价格
2节点,4核8G,200G 磁盘 38400/年
2节点,8核16G,500G 磁盘 56409.6/年
2节点,16核32G,1T磁盘 76569.6/年

alt text

至信链

至信链是腾讯提供的开放联盟链, 与蚂蚁的开放联盟链有些类似,但影响稍弱,根据官方文档的说明,其收费按照 1元/次计价, 计费也不是很合理,不推荐使用。

以太坊

​一、合约发布成本

​1. 基础Gas消耗 :合约部署的基础Gas消耗通常在200,000到300,000 Gas之间,这取决于合约的复杂程度 。​
2. Gas价格 :假设当前Gas价格为30 Gwei(需根据实际情况调整)。

​估算公式 :合约发布成本=基础 Gas消耗 * Gas价格

​具体计算 :

合约发布成本=250,000 Gas x 30Gwei = 7.5 ETH

​二、每年的Gas费用

​1. 单条数据写入成本 :假设每条数据写入需要126,000 Gas(根据之前的估算)。​
2. 数据量 :每年更新20,000条数据。​
3. Gas价格 :假设当前Gas价格为30 Gwei。

​估算公式 :单条数据写入成本x数据量xGas价格​
具体计算 :126,000 Gas x 20,000 x 30 Gwei = 2,268ETH

​三、综合估算

​1. 合约发布成本 :7.5 ETH​
2. 年度Gas费用 :2,268 ETH

Solana

交易费用

Solana的每笔交易基础费用固定为 0.000005 SOL,假设每年更新2万条数据,则总交易费用为:

1
20,000×0.000005=0.1 SOL。

按当前SOL价格约137美元计算,费用约为 13.7美元。

存储租金

Solana要求账户支付租金以维持链上数据存储,费用取决于存储空间大小和租金率7:

数据规模:假设每条信息占约100字节,2万条信息共需 2MB(20,000×100字节)。

租金率:按Solana租金公式计算,每字节年租金约为 0.00000348 SOL,则总租金为:

1
2×1024×1024×0.00000348≈7.12 SOL,约 975美元(按137美元/SOL)。

总费用估算

交易费用:0.1 SOL(≈13.7美元)
存储租金:975美元
总计:约988.7美元/年。

TRX

TRX 的计算与Solana 相似,租金也相对便宜,这里不再赘述。

综合对比

名词 类别 特点 费用 缺点
蚂蚁开放联盟链 联盟链 1200/年
腾讯至信链 联盟链 1元/次
长安链 联盟链 国家级 -
以太坊 公链 百万级 交易费用极高
Solana 公链 $1000/年
TRX 公链 $1000/年

结论

综合各项因素,蚂蚁开放联盟链是最推荐溯源使用的,价格不高,影响力国内领先,客户认可度高。

参考资料

简介

在某些场景下,代码是以 FTP 的方式部署到服务器上,那么我们可以使用 GitLab-CI 来实现自动发布。

配置参考

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
.sftp-deploy: &sftp-deploy |-
files=$(git log -10 --pretty=format: --name-only | grep -v '^$' | sort -u)
include_patterns=$(echo "$files" | sed 's/[][*?]/\\&/g' | paste -sd, -)
lftp -c "set ftp:ssl-allow no; open -u $FTP_USERNAME,$FTP_PASSWORD $FTP_HOST; cd /; mirror -RLnv --no-perms --exclude-glob .git* --exclude .git/ --include-glob='{$include_patterns}' ./ /"

stages:
- deploy

deploy:
stage: deploy
image: zacksleo/docker-composer:lftp
dependencies: []
script:
- lftp -c "set ftp:ssl-allow no; open -u $FTP_USERNAME,$FTP_PASSWORD $FTP_HOST; cd /; mirror -RLnv --no-perms ./ / --ignore-time --exclude-glob .git* --exclude .git/"
- *sftp-deploy
only:
- master
- tags

配置说明

  • FTP_HOST: FTP 服务器地址
  • FTP_USERNAME: FTP 用户名
  • FTP_PASSWORD: FTP 密码

以上通过在 GitLab 的 CI/CD 设置中添加环境变量来配置。

script 中有两段脚本,第一行使用 lftp 命令,将项目中的文件上传到服务器,配置了 –ignore-time, lftp 将会使用文件大小比对方式,只有文件大小不一样时,文件才会被上传。

有时候,即使文件内容有更改,但如果文件大小不发生变化,第一段脚本不会传输该文件,于是我们通过第二段脚本来弥补这个问题。

第二段脚本,根据最近 10 次的 git 提交记录,找出所有涉及的修改的文件,组合成 –include-glob 所需要的表达式, 通过 lftp 的 –include-glob 命令,来指定传输这些文件。

上述 include_patterns 会输出类似这样的形式: path/to/file1,path/to/file2 ,也就是说最终的命令形式为 –include-glob=’path/to/file1,path/to/file2’

参考资料

概述

FTP 服务是和 IIS Web 服务独立的,首先需要安装 FTP 服务,然后添加相关账号,创建需要发布的目录,最终则是配置 FTP 的端口等信息。

安装 FTP 服务

打开”服务器管理器”,选择“添加角色和功能”,

alt text

在“服务器角色”中,找到 FTP 服务器,勾选 FTP 服务,进行安装。

alt text

添加 FTP 账号

回到“服务器管理器”,在工具中打开 “计算机管理”

alt text

找到系统工具/本地用户和组,右键“用户”,添加一个新用户,如用户名为 “ftpuser”,设置密码,勾选“密码永不过期”,

alt text

发布 FTP 目录

打开 IIS,在网站右键菜单中,找到 “添加 FTP 发布”,

alt text

IP 地址为服务器的公网 IP 地址,端口默认使用 21,这里面选择无SSL,

alt text

点击下一步,身份验证选择“基本”,在授权一栏,选择“指定用户”访问,在下方输入前面创建FTP账号的用户名,也就是 “ftpuser”,权限为“读取,写入”,点击完成。

alt text

网络配置

在 IIS 中点击发布的网站,选择“FTP 防火墙支持”,

alt text

输入数据通道端口范围,这里输入建议值 5000-6000, 防火墙的外部 IP 地址,输入服务器的公网 IP 地址,点击完成。

alt text

在 IIS 配置完成后,我们还需要在 ECS 安全组中配置网络策略,首先 21 端口需要开启,其他上面添加的 5000-6000 端口也需要启动。

配置通过后,可使用 telnet 验证端口联通性。

这里面需要注意,21 是控制端口,5000-6000 是数据通道端口,都需要在安全组放行,否则 FTP 客户端无法正常连接使用。

参考资料

停止更新

熟悉 Flutter 鸿蒙开发的小伙伴应该知道,Flutter 3.7.12 鸿蒙化 SDK 已经在开源鸿蒙社区发布快一年了, Flutter 3.22.x 的鸿蒙化适配一直由鸿蒙突击队仓库提供,最近有小伙伴反馈已经 2 个多月没有停止更新了,不少人以为停止维护了。

并非如此。

迁移合并

Flutter 的鸿蒙适配工作一直在进行,文章鸿蒙Flutter实战:15-Flutter引擎Impeller鸿蒙化、性能优化与未来 中详细介绍了适配的工作内容和未来规划,作者在之前的文章原开源鸿蒙仓库停止更新中提到,随着开源鸿蒙仓库集体迁移到 gitcode由鸿蒙突击队维护的3.22.x版本的Flutter SDK也已合并至开源鸿蒙的Flutter主仓库,目前以分支 3.22.0-ohos 的形式存在。

至此,Flutter 鸿蒙化工作完成初步整合,两个大版本使用一个仓库同时维护。

总结回顾

Flutter 鸿蒙 SDK 仍然活跃,最近的一次更新在4天前。如果需要使用 FVM 安装 3.22 版本的 SDK,可使用以下命令:

1
git clone -b 3.22.0-ohos https://gitcode.com/openharmony-sig/flutter_flutter.git custom_3.22.0

如果需要使用 FVM 安装 3.7.12 版本的 SDK,可使用以下命令:

1
git clone -b br_3.7.12-ohos-1.0.6 https://gitcode.com/openharmony-sig/flutter_flutter.git custom_3.7.12

以下是所有涉及 Flutter 鸿蒙化的仓库地址:

其他 gitee/openharmony-sig 下的三方库,替换域名即可,如 flutter inappwebview 迁移至 https://gitcode.com/openharmony-sig/flutter_inappwebview

另外提一下,也有小伙伴在使用 Flutter 3.7.12 版本,那 SDK 也同样需要切换源地址,更换下域名即可。

简介

Alibaba Cloud Linux 是一个基于 CentOS 的 Linux 发行版,它提供了许多高级功能,如云服务器、云数据库、云服务器监控等。Alibaba Cloud Linux 的安装和配置与 CentOS 的安装和配置基本相同,只是需要安装一些额外的软件包。

以下是安装 Docker 和 docker-compose 的步骤:

  1. 安装 Docker:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 配置 Docker 源
dnf config-manager --add-repo=https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装 Docker
dnf -y install dnf-plugin-releasever-adapter --repo alinux3-plus
dnf -y install docker-ce --nobest

# 查询版本号
docker --version
dnf list docker-ce

# 启动并设置 Docker 为开机启动
systemctl start docker
systemctl status docker
systemctl enable docker

# 验证安装
docker ps
  1. 安装 docker-compose:
1
2
3
4
5
6
7
curl -SL https://github.com/docker/compose/releases/download/v2.30.3/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
#将可执行权限赋予安装目标路径中的独立二进制文件
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

# 验证安装
docker-compose --version

参考资料

0%