前言
本文讲解了在Ubuntu22中使用Docker20配置FATE1.10.0的方法
分为官方文档与我自己的实际操作两个部分
需要先安装docker,可以看我的上一篇文章
安装流程
- 前言
- 一、FATE单机部署指南(官方)
- 1. 说明
- 2. 使用Docker镜像安装FATE(推荐)
- 2.1 部署前环境检查
- 2.2 拉取镜像
- 2.2.1 通过公共镜像服务
- 2.2.2 通过镜像包
- 2.3 启动
- 2.4 测试
- 3. 在主机中安装FATE(使用已编译的安装包)
- 4. 测试项
- 4.1 Toy测试
- 4.2 单元测试
- 5. 在主机中安装FATE(基于源码自行打包编译)
- 二、 我的实际步骤
- 1. 查看docker版本
- 2. 使用公共镜像服务安装
- 3. 启动
- 4. 加载环境变量
- 5. 测试项
- 5.1 Toy测试
- 5.2 单元测试
一、FATE单机部署指南(官方)
1. 说明
服务器配置:(这个是官方的,我的系统是Ubuntu),大家看配置满足要求即可
单机版提供3种部署方式,可以根据实际情况选择:
- 使用Docker镜像安装FATE
- 在主机中安装FATE(使用已编译的安装包)
- 在主机中安装FATE(基于源码自行打包编译)
2. 使用Docker镜像安装FATE(推荐)
建议使用docker镜像,这样可以大大降低遇到问题的可能性
注意,如下示例中的${version},请用实际的版本号替换,参考fate.env文件中的FATE版本!
fate.env文件内容:FATE=1.10.0 FATEFlow=1.10.0 FATEBoard=1.10.0 EGGROLL=2.4.8 CENTOS=7.2 UBUNTU=16.04 PYTHON=3.8 MAVEN=3.6.3 JDK=8 SPARK=3.3.1
2.1 部署前环境检查
- 主机需要能够访问外部网络,从公共网络中拉取安装包和docker镜像。
- 依赖docker, docker建议版本为18.09,您可以使用以下命令验证docker环境:docker --version,docker的起停和其他操作请参考docker --help(我的docker是最新的20.10.23)
- 执行之前,请检查8080是否已被占用。 如果要再次执行,请使用docker命令删除以前的容器和镜像
设置部署所需环境变量(注意, 通过以下方式设置的环境变量仅在当前终端会话有效, 若打开新的终端会话, 如重新登录或者新窗口, 请重新设置)
export version={本次部署的FATE版本号, 如1.7.0}
样例:
export version=1.7.0
2.2 拉取镜像
ps:选用其中之一的方法即可
2.2.1 通过公共镜像服务
# Docker Hub
docker pull federatedai/standalone_fate:${version}
# 腾讯云容器镜像
docker pull ccr.ccs.tencentyun.com/federatedai/standalone_fate:${version}
docker tag ccr.ccs.tencentyun.com/federatedai/standalone_fate:${version} federatedai/standalone_fate:${version}
2.2.2 通过镜像包
wget https://webank-ai-1251170195.cos.ap-guangzhou.myqcloud.com/fate/${version}/release/standalone_fate_docker_image_${version}_release.tar.gz
docker load -i standalone_fate_docker_image_${version}_release.tar.gz
docker images | grep federatedai/standalone_fate
能看到对应${version}的镜像则镜像下载成功
2.3 启动
docker run -it --name standalone_fate -p 8080:8080 federatedai/standalone_fate:${version}
2.4 测试
source bin/init_env.sh
跳转至【4. 测试项】
3. 在主机中安装FATE(使用已编译的安装包)
略
4. 测试项
4.1 Toy测试
flow test toy -gid 10000 -hid 10000
如果成功,屏幕显示类似下方的语句:
success to calculate secure_sum, it is 2000.0
4.2 单元测试
fate_test unittest federatedml --yes
如果成功,屏幕显示类似下方的语句:
there are 0 failed test
有些用例算法在 examples 文件夹下, 请尝试使用。
您还可以通过浏览器体验算法过程看板,访问:Http://${ip}:8080, ip为127.0.0.1或本机实际ip
5. 在主机中安装FATE(基于源码自行打包编译)
略
二、 我的实际步骤
1. 查看docker版本
首先 docker --version 查看当前docker的版本
2. 使用公共镜像服务安装
然后使用2.2.1节的通过公共镜像服务的安装方法
使用了腾讯云容器镜像的第一个方法
版本选择为1.10.0
需要在教程的代码之前加添加sudo
sudo docker pull ccr.ccs.tencentyun.com/federatedai/standalone_fate:1.10.0
然后输入你的Ubuntu密码,就可以开始了
3. 启动
执行以下代码
sudo docker run -it --name standalone_fate -p 8080:8080 federatedai/standalone_fate:1.10.0
4. 加载环境变量
执行以下代码
source bin/init_env.sh
5. 测试项
5.1 Toy测试
执行以下代码
flow test toy -gid 10000 -hid 10000
在上图中已经有了结果
5.2 单元测试
执行以下代码,这个需要跑很多个样例,需要一些时间
fate_test unittest federatedml --yes
最后可以看到