Docker安装与Fate构架部署

Docker

是一个开源的容器化平台,用来解决电脑环境问题。如你刚刚完成了一段代码,身心舒畅,发给客户后准备好好休息一阵。但对方马上又发来了其他问题,原来运行这段代码需要python,MATLAB,cuda 等等多种环境配置。而对方是个电脑开机都不懂的小白,断然不可能配置好这些环境。你盯着聊天窗口和关机键陷入沉默……

docker解决了这个问题,它通过将应用程序和其依赖环境通通塞到一个独立的容器中,只需要安装一个docker就能够部署运行所有程序。实现轻量级、可移植和可扩展的软件部署和管理。可以改善应用程序的开发、部署和管理过程。

Docker 的基本概念包括:

1. 镜像(Image):镜像包含了运行应用所需的全部文件系统、库和软件依赖。用户可以基于现有的镜像创建自己的镜像。

2. 容器(Container):容器就像虚拟化的一台台主机,每个容器都是相互隔离的,具有自己的文件系统、进程空间和网络接口。容器可以被快速启动、停止、删除和复制,并且可以在不同的主机上运行。

3. 仓库(Repository):用于存放和共享镜像的地方。

FATE

 联合人工智能推动技术(Federated AI Technology Enabler),通过多台计算机联合训练模型,判断模型优劣,是微众银行ai部门发起的开源项目。功能着重于“联合”,”隐私保护“,“AI”。


 Docker的安装

window

官网:https://www.docker.com/

官网安装帮助:Overview of Docker Desktop | Docker Docs

下载windows版,允许应用对设备的更改

Add shortcut to desktop勾选则在桌面添加快捷方式

点ok

等待更改完成后,重启更新

按win键搜索控制面板,点击程序

启用或关闭window功能

开启hyper-v,适用Linux的windows子系统

启动后会重启计算机

accept同意订阅

点finish

若出现如下报错,是hyper-v或linux下window的未开启,对话框的建议在cmd中运行描述内容中的最后一行代码。

若出现如下报错,是wsl出现问题,

点update wsl automatically自动更新,点update wsl manually手动更新

完成后

验证Docker是否正确安装:
win键+r,输入cmd

打开命令行工具,输入以下命令检查Docker版本:

docker --version

可能问题:

win11家庭版没有hyper- v,将下面代码复制进文本文件中,后更改文件后缀名为.bat。以管理员权限运行安装hyper- v。安装完成后输入y,重启。

pushd "%~dp0"

dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt

for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"

del hyper-v.txt

Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL

重启后windows后,显示未能应用自定义更改,不用担心,正在撤销更新。

多次重启,试过开启windows自动更新等等诸多方法仍未解决。

可以尝试重装windows系统。

linux

桌面版

安装docker桌面版 ,linux 示例选用ubuntu系统

在 Ubuntu 上安装 Docker Desktop |Docker 文档

其他版本在网页左侧选择相应的版本。

需要Gnome 桌面环境,没有打开终端运行如下代码安装:

sudo apt install gnome-terminal

出现问题开启root权限,运行后输入root密码

su root
apt安装软件包

使用脚本安装,脚本需要root权限输入密码

升级依赖项

sudo apt-get update
sudo apt-get upgrade

安装deb软件包,注意<version>-<arch>需要自己选择相应版本参数填入。

嫌麻烦截至目前新版为4.28.0-amd64

sudo apt-get install ./docker-desktop-<version>-<arch>.deb

图形化界面双击下载的deb包完成安装

命令行运行:sudo dpkg -i docker-desktop-<version>-<arch>.deb
 

安装完成后,查看版本

docker --version

桌面版问题无法解决的可以尝试装docker引擎

引擎版

方案1:apt存储库安装

首先,更新Ubuntu系统,设置docker存储库。开启终端设置好root权限后,把代码直接粘贴进去:

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

然后装包

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

安装完成后测试

查看版本

docker --version
方案2:脚本安装

获取root权限

su root

下载运行脚本,并安装docker。

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
Executing docker install script, commit: 7cae5f8b0decc17d6571f9f52eb840fbc13b2737
<...>

安装完成后,查看版本

docker --version

没有root密码解决方案:重置

如果不知道root密码,重启,按esc进入此页面

选第一行advanced options for ubuntu

之后进入系统选择界面选第二个

稍待片刻满屏代码运行完毕后,进入这个界面选root        drop to root shell prompt

在窗口下方的命令窗口输入passwd root

输入新密码(注意输入时新密码不会显示),回车完成更改,重启。

FATE的部署

FATE存在 单机部署、 集群部署 KubeFATE 部署三种部署方式。本文主要介绍 比较适合初级开发者使用的单机部署。 推荐使用 Docker 镜像安装 FATE, 这样可以降低后期产生问题的概率。

官网帮助:FATE单机版部署指南 - FATE

Docker部署

下载镜像:

docker pull federatedai/standalone_fate:${version}

再次注意,version添对应版本。

加载镜像包:

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

启动容器:

docker run -it --name standalone_fate -p 8080:8080 federatedai/standalone_fate:${version};

测试:

source bin/init_env.sh

这样就完成了拉取镜像、加载镜像、启动容器和初始化环境的步骤。

Ubuntu单机部署

依赖docker和docker-compose

首先检测8080,9360,9380端口是否被占用。

netstat -apln|grep 8080;
netstat -apln|grep 9360;
netstat -apln|grep 9380

获取1.4.0版的软件包,并解压。

wget https://webank-ai-1251170195.cos.ap-guangzhou.myqcloud.com/docker_standalone-fate-1.4.0.tar.gz
tar -xzvf docker_standalone-fate-1.4.0.tar.gz

 如果这步出现问题可能是权限不够。

chmod 777 docker_standalone-fate-1.4.0.tar.gz

转到对应的文件夹执行部署。

cd docker_standalone-fate-1.4.0
bash install_standalone_docker.sh

出现问题依然可能是权限不够,进入压缩包的同名文件夹看看哪个文件没有权限。

或者直接递归添加权限。

chmod 777 docker_standalone-fate-1.4.0
chmod -R 777 docker_standalone-fate-1.4.0   #加参数r给子文件通通添加777权限

下图为上图后缀.sh的文件,出现问题可以打开查看对应报错,如“Not python images can‘t be load”就是解压时python镜像文件没找到,可能是解压出现差错,或者路径存在错误。

装完测试

CONTAINER_ID=`docker ps -aqf "name=fate_python"`
docker exec -t -i ${CONTAINER_ID} bash
bash ./federatedml/test/run_test.sh

另外还存在pypi部署,简答只用pip install pyfate==2.1.0一行命令,还没用过暂不介绍。

pypi:

FATE/deploy/standalone-deploy 在 master ·联邦人工智能/命运 (github.com)

相关推荐

  1. 安装部署Docker-Compose

    2024-03-24 14:22:01       43 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-24 14:22:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-24 14:22:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-24 14:22:01       87 阅读
  4. Python语言-面向对象

    2024-03-24 14:22:01       96 阅读

热门阅读

  1. Redis

    2024-03-24 14:22:01       39 阅读
  2. BERT与GPT

    2024-03-24 14:22:01       44 阅读
  3. 浏览器强缓存和弱缓存的主要区别

    2024-03-24 14:22:01       46 阅读
  4. 如何结合NLP和图像描述技术

    2024-03-24 14:22:01       41 阅读
  5. Python实战:枚举类型enum及应用

    2024-03-24 14:22:01       44 阅读
  6. make | ubuntu源码编译指定版本make

    2024-03-24 14:22:01       40 阅读
  7. 通用型服务器和专用型服务器的区别

    2024-03-24 14:22:01       40 阅读
  8. 【React】React中将 Props 传递给组件

    2024-03-24 14:22:01       42 阅读
  9. 自定义Redis工具类(解决缓存穿透和击穿)

    2024-03-24 14:22:01       49 阅读
  10. qiankun实现基座、子应用样式隔离

    2024-03-24 14:22:01       44 阅读
  11. npm 常用命令详解

    2024-03-24 14:22:01       35 阅读
  12. 好玩的AI生产PPT工具分享

    2024-03-24 14:22:01       42 阅读
  13. Spark面试整理-Spark是什么?

    2024-03-24 14:22:01       36 阅读
  14. lin_20240321_calculating_rG4score.R

    2024-03-24 14:22:01       36 阅读
  15. 0324Caliper测试fabric1.4的TPS与Delay

    2024-03-24 14:22:01       47 阅读