Docker安装与Fate构架部署

本文详细介绍了Docker如何解决软件部署环境问题,包括镜像、容器和仓库的概念,以及FATE联合人工智能项目的单机部署教程,覆盖Windows和Ubuntu系统的Docker安装步骤和FATE的部署流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值