首页 > 技术文章 > 使用Docker Compose 部署 FATE

iscanghai 2021-11-03 18:13 原文

20211101
#基本信息
VMware® Workstation 16 Pro
ubuntu18.04
@author iscanghai



#安装参考
https://github.com/FederatedAI/KubeFATE/blob/master/docker-deploy/README_zh.md

1.安装docker

#安装命令
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

#查看docker版本
docker -v
==>Docker version 20.10.10, build b485636

2.安装docker-compose

#切换超级管理员模式
sudo -i

# 下载docker-compose文件
curl -L https://get.daocloud.io/docker/compose/releases/download/1.27.4/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

# 添加可执行权限(只一步就安装完成),如果不添加可执行权限,执行 docker-compose 命令会提示权限不够。
chmod +x /usr/local/bin/docker-compose

# 查看docker-compose版本
docker-compose --version
==>docker-compose version 1.27.4, build 40524192

#退出root模式
exit + 回车

#下载KubeFATE v1.6.1
https://github.com/FederatedAI/KubeFATE/releases

20211103
3.下载所需镜像

#添加docker用户组
sudo groupadd docker
#将登陆用户加入到docker用户组中
sudo gpasswd -a USER docker
#更新用户组
newgrp docker
#测试docker命令是否可以使用sudo正常使用
docker ps

#pull镜像
$ docker pull federatedai/eggroll:1.6.1-release
$ docker pull federatedai/fateboard:1.6.1-release
$ docker pull federatedai/python:1.6.1-release
$ docker pull federatedai/serving-server:2.0.4-release
$ docker pull federatedai/serving-proxy:2.0.4-release
$ docker pull redis:5
$ docker pull mysql:8

#安装ssh
sudo apt install openssh-server
sudo apt install openssh-client
sudo service ssh start
#检查ssh启动状态
ps -aux | grep ssh

 

#切换到root
sudo su
将canghai添加到root用户组
sudo adduser canghai sudo
#开启root账户,设置root密码
sudo passwd root
sudo gedit /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf
#添加如下两行
greeter-show-manual-login=true #手工输入登陆系统的用户名和密码
all-guest=false #不允许guest登录(可选)
#打开文件注释掉auth required pam_success_if.so user!=root quiet_success这一行
sudo gedit /etc/pam.d/gdm-autologin
#打开文件注释掉auth required pam_success_if.so user!=root quiet_success这一行
sudo gedit /etc/pam.d/gdm-password
#修改文件 /root/.profile
sudo gedit /root/.profile
#重启电脑

#允许root用户ssh登录
sudo vim /etc/ssh/sshd_config
#修改PermitRootLogin prohibit-password为PermitRootLogin yes
#重启sshd
sudo systemctl restart sshd

############################################配置普通用户免密登录#########################################################

#切换到root用户,在21,23上建立用户canghai
su
adduser canghai
#添加root权限
gedit /etc/sudoers
#在User privilege specification 下添加 canghai ALL=(root) NOPASSWD:ALL
#在21,23上切换为canghai
exit
#设置rsa秘钥 P为大写 “” 表示无密码
ssh-keygen -t rsa -P ""

#在23虚拟机上执行命令
scp id_rsa.pub canghai@192.168.1.21:/home/canghai/.ssh/01_id_rsa.pub
#在21虚拟机上执行下属命令,将所有pub写入授权文件中
cat *.pub >> authorized_keys
#在21,使用scp,将生成的授权文件分发到其他虚拟机,如23
scp authorized_keys canghai@192.168.1.23:/home/canghai/.ssh/

############################################配置root免密登录#########################################################
#与配置普通用户免密登录相似
scp id_rsa.pub root@192.168.1.21:/root/.ssh/root_01_id_rsa.pub
cat *.pub >> authorized_keys
scp authorized_keys root@192.168.1.23:/root/.ssh/

############################################框架测试#########################################################
#进入python容器
docker exec -it confs-10000_python_1 bash
#每隔五秒python容器就会重启,服务启动失败
#查看docker日志
docker logs --tail 50 --follow --timestamps id
#打印出mysql初始化失败,但是mysql容器是启动成功的,那么可能是数据库连接有问题。

#修改mysql用户名和密码、IP地址

#!/bin/bash

user=root
dir=/data/projects/fate
party_list=(10000 9999)
party_ip_list=(192.168.1.23 192.168.1.21)
serving_ip_list=(192.168.1.23 192.168.1.21)

# backend could be eggroll, spark_rabbitmq and spark_pulsar
backend=eggroll

# true if you need python-nn else false, the default value will be false
enabled_nn=false

# default
exchangeip=

# modify if you are going to use an external db
mysql_ip=mysql
mysql_user=root
mysql_password=''
mysql_db=fate_flow

# modify if you are going to use an external redis
redis_ip=redis
redis_port=6379
redis_password=fate_dev

name_node=hdfs://namenode:9000

# Define fateboard login information
fateboard_username=admin
fateboard_password=admin

推荐阅读