创建简单的 Docker 数据科学映像
推荐:使用NSDT场景编辑器快速搭建 3D 应用场景
为什么选择 Docker for Data Science?
作为一名数据科学家,拥有一个标准化的便携式分析和建模环境至关重要。Docker 提供了一种创建可重用和可共享的数据科学环境的绝佳方法。在本文中,我们将逐步介绍使用 Docker 设置基本数据科学环境的步骤。
为什么我们会考虑使用 Docker?Docker 允许数据科学家为他们的工作创建隔离且可重现的环境。使用 Docker 的一些主要优势包括:
一致性 - 可以在不同的计算机上复制相同的环境。不再有“它适用于我的机器”的问题。
可移植性 - Docker 环境可以轻松地跨多个平台共享和部署。
隔离 - 容器隔离不同项目所需的依赖项和库。不再有冲突!
可扩展性 - 通过启动更多容器,可以轻松扩展 Docker 内部构建的应用程序。
协作 - Docker 通过允许团队共享开发环境来实现协作。
步骤 1:创建 Dockerfile
任何 Docker 环境的起点都是 Dockerfile。此文本文件包含有关生成 Docker 映像的说明。
让我们为 Python 数据科学环境创建一个基本的 Dockerfile,并将其保存为不带扩展名的“Dockerfile”。
这个 Dockerfile 使用官方的 Python 镜像,并在其上安装了一些流行的数据科学库。最后一行定义了在启动容器时运行 Jupyter Lab 的默认命令。
步骤 2:构建 Docker 镜像
现在我们可以使用以下命令构建映像:docker build
这将创建一个基于我们的 Dockerfile 标记的图像。ds-python
生成映像可能需要几分钟时间,因为所有依赖项都已安装。完成后,我们可以使用 .docker images
步骤 3:运行容器
构建映像后,我们现在可以启动一个容器:
这将启动 Jupyter Lab 实例,并将主机上的端口 8888 映射到容器中的 8888。
现在,我们可以在浏览器中导航到 Jupyter 并开始运行笔记本!localhost:8888
步骤 4:共享和部署映像
Docker 的一个关键优势是能够跨环境共享和部署映像。
要将图像保存到 tar 存档,请运行:
然后,可以通过以下方式将此压缩包加载到安装了 Docker 的任何其他系统上:
我们还可以将映像推送到 Docker 注册表(如 Docker Hub),以便在组织内公开或私下与其他人共享。
若要将映像推送到 Docker 中心,请执行以下操作:
创建一个 Docker 中心帐户(如果还没有)
使用 从命令行登录到 Docker Hub
docker login
使用您的 Docker Hub 用户名标记映像:
docker tag ds-python yourusername/ds-python
推送镜像:
docker push yourusername/ds-python
映像现在托管在 Docker Hub 上。其他用户可以通过运行以下命令拉取映像:ds-python
对于私有仓库,您可以创建组织并添加用户。这允许您在团队中安全地共享 Docker 映像。
步骤 5:加载和运行映像
要在另一个系统上加载并运行 Docker 映像,请执行以下操作:
将文件复制到新系统
ds-python.tar
使用 加载图像
docker load -i ds-python.tar
使用 启动容器
docker run -p 8888:8888 ds-python
访问 Jupyter 实验室
localhost:8888
就是这样!ds-python 映像现在可以在新系统上使用了。
结语
这为您提供了使用 Docker 设置可重现的数据科学环境的快速入门知识。需要考虑的一些其他最佳做法:
使用较小的基础映像(如 Python slim)来优化映像大小
利用 Docker 卷实现数据持久性和共享
遵循安全原则,例如避免以根用户身份运行容器
使用 Docker Compose 定义和运行多容器应用程序
我希望这个介绍对您有所帮助。Docker 为简化和扩展数据科学工作流程提供了大量可能性。
版权声明: 本文为 InfoQ 作者【3D建模设计】的原创文章。
原文链接:【http://xie.infoq.cn/article/80b399cd57f480994cee495e6】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论