手把手教你创建数据科学Docker镜像

本文将介绍和演示如何使用Docker设置Python数据科学环境,包括创建Dockerfile、构建镜像、运行容器、共享和部署镜像,以及推送到Docker Hub。

微信搜索关注《Python学研大本营》,加入读者群,分享更多精彩

图片

图片由Midjourney创建。

为什么要选择Docker用于数据科学?

【Docker】:https://www.docker.com/

作为一名数据科学家,拥有一个标准化和可移植的分析和建模环境至关重要。Docker提供了一种优秀的方式来创建可重用和可共享的数据科学环境。在本文中将介绍使用Docker设置基本数据科学环境的步骤。

为什么要考虑使用Docker呢?Docker允许数据科学家为他们的工作创建隔离和可重现的环境。使用Docker的一些关键优势包括:

  • 一致性 - 可以在不同的机器上复制相同的环境。不再出现“在我的机器上可以运行”的问题。

  • 可移植性 - Docker环境可以轻松地在多个平台上共享和部署。

  • 隔离性 - 容器隔离了不同项目所需的依赖关系和库。不再发生冲突!

  • 可扩展性 - 通过启动更多的容器,可以轻松扩展在Docker内构建的应用程序。

  • 协作 - Docker通过允许团队共享开发环境从而促进协作。

步骤1:创建Dockerfile

任何Docker环境的起点都是Dockerfile。这个文本文件包含构建Docker镜像的指令和说明。

接下来为Python数据科学环境创建一个基本的Dockerfile,并将其保存为没有扩展名的“Dockerfile”

# 使用官方的Python镜像
FROM python:3.9-slim-buster

# 设置环境变量
ENV PYTHONUNBUFFERED 1

# 安装Python库
RUN pip install numpy pandas matplotlib scikit-learn jupyter

# 默认运行Jupyter
CMD ["jupyter", "lab", "--ip='0.0.0.0'", "--allow-root"]

这个Dockerfile使用官方的Python镜像,并在其上安装一些常用的数据科学库。最后一行定义了容器启动时默认运行Jupyter Lab的命令。

【官方Python镜像】:https://hub.docker.com/layers/library/python/3.9.9-slim-buster/images/sha256-24f5fd0379e7a0a729baa94e7637336b9f2dd2cf8251e46923ec181ee90ab54c

步骤2:构建Docker镜像

现在,可以使用docker build命令构建镜像:

docker build -t ds-python .

这将创建一个以Dockerfile为基础的标记为ds-python的镜像。

构建镜像可能需要几分钟的时间,因为所有的依赖项都会被安装。完成后,就可以使用docker images命令查看本地的Docker镜像了。

步骤3:运行容器

镜像构建完成后,现在就可以启动一个容器:

docker run -p 8888:8888 ds-python

这将启动一个Jupyter Lab实例,并将主机上的8888端口映射到容器中的8888端口。

现在,可以在浏览器中导航到localhost:8888来访问Jupyter并开始运行笔记本!

步骤4:共享和部署镜像

Docker的一个关键优势是能够在不同的环境中共享和部署镜像。

要将镜像保存为tar归档文件,请运行:

docker save -o ds-python.tar ds-python

然后,就可以通过以下方式在任何安装了Docker的其他系统上加载这个tar包:

docker load -i ds-python.tar

用户还可以将镜像推送到Docker Hub这样的Docker注册表中,以便与他人公开或在组织内私下共享。

将镜像推送到Docker Hub:

  1. 如果还没有Docker Hub账号,请创建一个。

  2. 使用docker login命令从命令行登录到Docker Hub。

  3. 使用你的Docker Hub用户名为镜像打上标签:docker tag ds-python yourusername/ds-python

  4. 推送镜像:docker push yourusername/ds-python

ds-python镜像现在已经托管在Docker Hub上。其他用户可以通过运行以下命令拉取镜像:

docker pull yourusername/ds-python

对于私有版本库,可以创建一个组织并添加用户。这样,就可以在团队内安全地共享Docker镜像。

步骤5:加载和运行镜像

要在另一个系统上加载和运行Docker镜像:

  1. ds-python.tar文件复制到新系统上。

  2. 使用docker load -i ds-python.tar命令加载镜像文件。

  3. 使用docker run -p 8888:8888 ds-python命令启动容器。

  4. localhost:8888访问Jupyter Lab。

就是这样!现在,ds-python镜像已经可以在新系统上使用了。

总结

以上就是使用Docker建立可重现的数据科学环境的快速入门指南。还有一些额外的最佳实践值得考虑:

  • 使用较小的基础镜像,如Python slim等,以优化镜像大小。

  • 利用Docker卷进行数据持久化和共享。

  • 遵循安全原则,如避免以root身份运行容器。

  • 使用Docker Compose来定义和运行多容器应用程序。

希望这些介绍对你有所帮助。Docker为简化和扩展数据科学工作流程提供了大量可能性。

推荐书单

IT BOOK 多得(点击查看5折活动书单)icon-default.png?t=N7T8https://u.jd.com/psx2y1M

《Pandas数据分析》

《Pandas数据分析》详细阐述了与Pandas数据分析相关的基本解决方案,主要包括数据分析导论、使用PandasDataFrame、使用Pandas进行数据整理、聚合Pandas DataFrame、使用Pandas和Matplotlib可视化数据、使用Seabom和自定义技术绘图、金融分析、基于规则的异常检测、Python机器学习入门、做出更好的预测、机器学习异常检测等内容。此外,该书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。

《Pandas数据分析》适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学用书和参考手册。

《Pandas数据分析》icon-default.png?t=N7T8https://item.jd.com/14065178.html

图片

精彩回顾

《使用Python控制和监测Docker容器》

《OLAP与OLTP:数据处理系统的比较分析》

《性能优化,利用Python ORM优化SQL查询》

《5个高效的数据科学Python库》

《12个必知必会的Docker命令》

《数据科学家必须要掌握的Docker要点》

微信搜索关注《Python学研大本营》,加入读者群

访问【IT今日热榜】,发现每日技术热点

  • 27
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值