Docker+Jupyter 部署算力服务的解决方案
Dokcer+Jupyter 部署算力服务
使用场景
在我们学习使用各种AI的学习框架的时候,通常会使用Conda,如果我们想要将研究的框架发布到服务器来使用的时候就需要一些部署的方案,这里我们的方案就是Docker+Jupyter的方式。
需要的环境
在这里我使用的是Windows的环境,Linux同学请自行研究
Docker
下载安装Windows下的Dokcer工具Docker Desktop
Jupyter镜像
这里需要注意,根据你的AI框架所需的python版本进行拉取不同的Jupyter镜像
提供一下拉取docker镜像的地址分享(需要梯子)
https://hub.docker.com/r/jupyter/base-notebook/tags
使用
compose运行
docker容器的创建推荐借用docker-compose.yaml文件。将docker-compose.yaml文件放置在哪个文件夹,这个文件夹会作为组的效果将所有文件中的容器放在一组,方便管理。
server: container_name: server image: hc_server:1.0 user: root ports: - "3005:3005" - "8887:8888" volumes: - "D:\\docker\\commondir:/home/root/commondir" environment: - JUPYTER_TOKEN=123 - NB_UID=0 - NB_GID=0 - NB_USER=root - NOTEBOOK_ARGS=--allow-root working_dir: /home/root command: ["sh", "start.sh"] restart: always
上面是一个容器的信息
container_name:容器名称
image:镜像名称和版本
user:使用的用户,这里的root要注意,因为默认的用户没有sudo的权限,所以推荐我们后期给容器安装工具不希望遇到麻烦最好使用root
ports:容器内外的端口映射,不写IP就会是0.0.0.0
volumens:磁盘映射路径
enviroment:环境变量,这里的JUPYTER_TOKEN是jupyter使用的必须,如果不指定需要在容器运行的时候查看输出日志中会有token字符串,这里推荐指定一个自己想要的就不需要再看日志了。
working_dir:指定容器内的工作目录路径
command:当容器运行的时候运行的脚本
服务的启动
Jupyter环境内将服务跑通以后,最简单的方式就是在上面的command中直接指定运行命令。有的时候这个运行命令会比较多,所以推荐另一种方式,在工作目录下面创建一个文件start.sh,这样命令中只需要command: ["sh", "start.sh"]
的写法就可以了。
到此这篇关于Docker+Jupyter 部署算力服务的文章就介绍到这了,更多相关Dokcer Jupyter算力服务内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
使用Docker compose启动自定义jar包的步骤详解
这篇文章主要介绍了使用Docker compose启动自定义jar包的步骤,首先我们需要编写一个docker-compose.yml文件来定义我们的服务传到我们的云服务器上,本文给大家分享示例代码,感兴趣的朋友一起看看吧2024-03-03使用非root用户安装及启动docker的问题(rootless模式运行)
docker是使用--userns-remap容器用户映射宿主机用户的方式来解决问题,用户和组的映射由两个配置文件来控制,分别是/etc/subuid和/etc/subgid,本文给大家介绍非root用户启动docker的问题,感兴趣的朋友一起看看吧2022-05-05
最新评论