SecretFlow 四: 安装(docker方式部署)
1.安装docker(如果有请跳过)
安装 Docker-CE 基本环境
安装必须的依赖
yum install -y yum-utils device-mapper-persistent-data lvm2
设置 docker repo 的 yum 位置
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
安装 docker,以及 docker-cli
yum install docker-ce docker-ce-cli containerd.io
启动docker
systemctl start docker
2.安装SecretFlow,docker镜像
#全量安装
docker run -it secretflow/secretflow-anolis8:latest
#SecretFlow-lite安装
docker run -it secretflow/secretflow-lite-anolis8:latest
如果网络存在限制,可从阿里云下载
#全量安装
docker run -it secretflow-registry.cn-
hangzhou.cr.aliyuncs.com/secretflow-anolis8:latest
#SecretFlow-lite安装
docker run -it secretflow-registry.cn-
hangzhou.cr.aliyuncs.com/secretflow-lite-anolis8:latest
安装完成
部署模式:
快速验证(仿真模式) | 安全生产(生产模式) |
---|---|
适合仿真实验,验证代码效果 | 适合生产使用 |
既支持单机仿真,也支持多机仿真 | 安全增强 |
只需要执行一次代码 | 需要每一个参与方都执行代码 |
部署验证
单机仿真示例
import secretflow as sf
sf.init(parties=['alice','bob'],address='local')
alice =sf.PYU('alice')
bob=sf.PYU('bob')
message = alice(lambda x:x+1)(2)
print(message)
print(sf.reveal(message))
message2 =bob(lambda x:x-1)(2)
print(message2)
print(sf.reveal(message2))
执行结果:
集群仿真示例**
主节点参与方1:alice
ray start--head
--node-ip-address="[ip)"--port="(port)"
--resources='("alice":16)'\
--include-dashboard=False\
-disable-usage-stats
从节点参与方2:bob
#address填写Ray主节点ip和pot
ray start\
-address="{Ray主节点的通信地址}"\
--resources='["bob":16)'\
--include-dashboard=False\
--disable-usage-stats
双方执行代码与单机相似,注意修改双方address参数
import secretflow as sf
sf.init(parties=['alice','bob'],address='{ip:port}')
alice =sf.PYU('alice')
bob=sf.PYU('bob')
alice(lambda x:x+1)(2)
print(message)
print(sf.reveal(message))
message2 =bob(lambda x:x-1)(2)
print(message2)
print(sf.reveal(message2))