1. 环境准备
- 主机需要能够访问外部网络,从公共网络中拉取安装包和Docker镜像;
- 依赖Docker和Docker-Compose,Docker建议版本为18.09,Docker-Compose建议版本为1.24.0。您可以使用以下命令验证docker环境:docker --version和docker-compose --version,;docker的启动、停止以及其他操作请参考docker –help;
- 执行之前,请检查8080、9060和9080端口是否已被占用。 如果要再次执行,请使用docker命令删除以前的容器和镜像。
2. Docker安装
# 升级yum
yum update
# 安装驱动依赖,否则会报错
yum install -y yum-utils device-mapper-persistent-data lvm2
# 设置镜像源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
// 如果报错,编辑报错文件 vim service.conf,因为文件开头python没有改为python2,这样才能调动python3
# 查看源仓库中的docker版本
yum list docker-ce --showduplicates | sort -r
# 这里要安装18.09(不要总是安装最新版本)
yum install docker-ce-18.09.0
# 查看docker版本
docker --version
# 运行“hello-word”测试
docker run hello-world
3. Docker-Compose安装
# 安装指定版本docker-compose 1.24.0
curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 更改权限
chmod +x /usr/local/bin/docker-compose
# 查看版本
docker-compose --version
4. 检查本地8080、9360、9380端口是否被占用
# 检查8080端口
netstat -apln|grep 8080
# 检查9360端口
netstat -apln|grep 9360
# 检查9380端口
netstat -apln|grep 9380
5. 在Docker中部署FATE
请按照以下步骤操作:
1)新建目录FATE,用于存放安装包,以及部署路径;用 ll / ls 命令查看目录;
mkdir FATE
ll
![](https://i-blog.csdnimg.cn/blog_migrate/3286bacbcef90e679c997322f6c862d1.png)
2)进入FATE目录
cd FATE
![](https://i-blog.csdnimg.cn/blog_migrate/d661dc1cb9f75e8429aec9ac0a7bc9d0.png)
3)获取安装包
Wget https://webank-ai-1251170195.cos.ap- guangzhou.myqcloud.com/docker_standalone-fate-1.4.3.tar.gz
![](https://i-blog.csdnimg.cn/blog_migrate/ee9c449993f523b0d710943e3fc4789d.png)
4)解压安装包
tar -xzvf docker_standalone-fate-1.4.3.tar.gz
![](https://i-blog.csdnimg.cn/blog_migrate/aea6a22a8260006b29f54bbb5358bf83.png)
5)进入docker_standalone-fate-1.4.3目录
cd docker_standalone-fate-1.4.3
![](https://i-blog.csdnimg.cn/blog_migrate/a9c262d5f98ad91567605b97922dcc34.png)
6)执行部署文件
bash install_standalone_docker.sh
![](https://i-blog.csdnimg.cn/blog_migrate/bfe914da5a07a92e2a674e571b2f34ba.png)
7)显示下列内容则表示部署结束
![](https://i-blog.csdnimg.cn/blog_migrate/e70748c5ff171b5d7eee275d24112bb7.png)
6. 测试
1)Unit Test
CONTAINER_ID=`docker ps -aqf "name=fate_python"`
docker exec -t -i ${CONTAINER_ID} bash
bash ./federatedml/test/run_test.sh
如果成功,屏幕显示类似下方的语句:
there are 0 failed test
2)Toy_example Test
CONTAINER_ID=`docker ps -aqf "name=fate_python"`
docker exec -t -i ${CONTAINER_ID} bash
python ./examples/toy_example/run_toy_example.py 10000 10000 0
如果成功,屏幕显示类似下方的语句:
success to calculate secure_sum, it is 2000.0