Docker 镜像
先决条件
系统要求
单节点SKIL安装的最低要求是:
- 带AVX指令的四核处理器
- 16 GB 内存
- 最小1Gbps网络连接
- 50GB 硬盘空间
以下规格建议用于生产环境:
- 带AVX2指令的八核或更好的处理器,
- 64 GB 内存
- 最小1Gbps网络连接
- 500GB+ 硬盘空间
- 还建议将Docker内存设置为至少8GB。看一下这里了解更多细节。
Docker
要安装Docker,请访问此链接并选择你的平台。
增加Docker虚拟机的主机内存
如果不使用Linux,则必须增加主机虚拟机内存。修改主机虚拟机的方法取决于环境。
1. 传统Docker工具箱(Mac OS和Windows)
使用docker-machine和vboxmanage(不需要删除vm)
通过按开始按钮并键入cmd.exe或在Mac上打开terminal.app打开命令行。
docker-machine stop
VBoxManage modifyvm default --cpus 2
VBoxManage modifyvm default --memory 8192
docker-machine start
VBoxManage showvminfo default
docker-machine ssh default free
仅使用docker-machine(需要删除VM)
docker-machine rm default
docker-machine create -d virtualbox --virtualbox-memory=8192 --virtualbox-cpu-count=2 --virtualbox-disk-size=50000 default
2. Docker (Windows)
转到系统托盘,右键单击Docker图标。然后导航到设置>高级。参考下图:
右键单击系统托盘中的Docker图标。然后,导航到“设置”。
修改计算资源。
3. Docker (Mac OS)
转到菜单栏,右键单击Docker图标。然后导航到首选项>高级。参考下图:
Docker首选项选项。
更改“高级”选项卡中的计算资源。
4. Docker (Linux)
如果你在Linux上运行本机Docker实例(没有任何虚拟机),那么就不必执行增加虚拟机内存的步骤,因为Docker运行时会使用整台机器。
拉取SKIL的Docker镜像
为了从仓库拉取SKIL的Docker镜像,使用如下命令:
docker pull skymind/skil
这需要花费时间和磁盘空间
Since SKIL includes many frameworks the Docker pull can take up to 90 minutes depending on your Internet connection. If it stalls, please check your disk space. We recommend at least 15 GB of available space.
由于SKIL包含许多框架,Docker Pull可能需要90分钟以上,这取决于你的互联网连接。如果暂停,请检查磁盘空间。我们建议至少有15GB的可用空间。
运行SKIL服务器
要运行临时SKIL服务器,请运行以下命令:
docker run --rm -it -p 9008:9008 -p 8080:8080 skymind/skil
运行期间错误
如果在执行上述命令时出现错误,请确保
docker daemon正在运行。首先确认你可以成功运行Docker PS。如果不从“开始”菜单或Mac上的docker.app启动Docker,或使用docker-machine start default并按照命令docker-machine env default
你可能需要等待5分钟
SKIL将在第一次运行时执行一些安装步骤,可能需要10分钟才能准备好使用。
在本地Linux机器上,或者在Mac或Windows上使用Docker-CE时,则可以打开浏览器窗口通过http://localhost:9008访问SKIL UI (或者如果使用Docker工具箱时通过http://192.168.99.100:9008访问,你可以使用docker-machine ip
命令查找此主机地址)。
确保Docker虚拟机至少有8GB的RAM。(你可以在虚拟机应用程序中进行更改。)
首次设置
对于第一次启动,需要执行以下两个初始化步骤:
1. 获得SKIL许可证
对于第一次使用的用户,SKIL将要求你进行许可验证。要做到这一点,你需要访问https://skymind.ai/activate为社区版创建许可证。填写你的详细信息,并在提供的电子邮件地址收到你的许可证详细信息后,粘贴到SKIL和导航到下一步。
2. 设置一个默认的密码
设置许可证后,可以为管理员用户设置密码,以便将来登录到SKIL服务器。
如果你已经有一个许可证文件,并且希望用它来持久化数据,请参见持久化数据
持久化数据
To persist your notebooks and models servers when using SKIL you need to use Docker's data management features. See Managing Data in Containers for additional information.
The simplest way to persist your notebooks and model server configurations is to use persistent data volumes for SKIL. You can do this with the following commands:
要在使用SKIL时保存笔记本和模型服务器,需要使用Docker的数据管理功能。有关更多信息,请参阅管理容器中的数据。
保存笔记本和模型服务器配置的最简单方法是为SKIL使用持久数据卷。你可以使用以下命令执行此操作:
docker volume create --name skil-data
docker volume create --name skil-conf
docker volume create --name skil-root
docker run -it --rm -v skil-root:/opt/skil -v skil-data:/var/skil -v skil-conf:/etc/skil -p 9008:9008 -p 8080:8080 -d skymind/skil
如果你已经有了许可证文件,可以按以下方式启动容器:
docker volume create --name skil-data
docker volume create --name skil-root
docker run -it --rm -v skil-root:/opt/skil -v skil-data:/var/skil -v /path/to/license:/etc/skil/license.txt -p 9008:9008 -p 8080:8080 -d skymind/skil
然后你可以像这样停止SKIL:
docker stop <container_name> # 你可以通过"docker ps"找到container_name
然后用(取决于你的配置)重新启动它:
docker run -it --rm -v skil-root:/opt/skil -v skil-data:/var/skil -v skil-conf:/etc/skil -p 9008:9008 -p 8080:8080 -d skymind/skil
# 或
docker run -it --rm -v skil-root:/opt/skil -v skil-data:/var/skil -v /path/to/license:/etc/skil/license.txt -p 9008:9008 -p 8080:8080 -d skymind/skil
当使用持久化数据时,它执行的SKIL安装步骤将被缓存,并且它将在2-5分钟内准备好使用。当SKIL启动时,你有时会看到以下屏幕: