作者
ThushanGanegedara
译者
弯月,责编
唐小引
头图
CSDN下载自东方IC
作为一名数据科学家,每天我都要与Docker打交道。创建镜像、更新内容和编写Python脚本已经成为了我的日常工作。在这个过程中,我常常感叹:“多么希望我以前就能知道这些方法。”
因此,我将在本文中探讨一些数据科学项目中会用到的Docker最佳实践。虽然未能做到详尽,但我涵盖了数据科学家大部分的工作。
本文假定你对Docker的基础知识有一定的了解。例如,你知道Docker的用途,而且能够轻松地编写Dockerfile,并且了解Docker命令(如RUN、CMD等)。如果你缺乏对这些基础知识的了解,那么请先阅读Docker官方网站上的文档。
为什么选择Docker?
自发布以来,Docker已席卷全球。在Docker出现之前的日子里,虚拟机填补了这一领域的空白。然而,Docker提供的功能远超过了虚拟机。
Docker的优势
隔离:不管基础操作系统/基础架构、安装好的软件、更新等如何变化,Docker都能提供隔离的环境。轻量级:共享OS内核,不需要为每个容器分配OS内核。性能:轻巧,可以在同一操作系统上同时运行多个容器。
Docker入门
Docker包含了三个重要的概念。
镜像:这是由可运行的库和二进制文件组成的集合,代表一个开发/生产/测试所需的环境。你可以通过以下方式下载/创建镜像。
从镜像仓库中提取,例如:dockerpullalpine。这个命令将在计算机的本地查找一个名为alpine的镜像,如果找不到,就去Dockerhub中查找。使用Dockerfile在本地构建镜像,例如:dockerbuild.-timage_name:image_version。这个命令不是下载/拉取镜像,而是构建自己的镜像。这种说法也不完全,因为Dockerfile包含以FROMbase-image开头的行,该行会查找以其开头的基本镜像,如果找不到,则从Dockerhub中提取。容器:容器是镜像的运行实例。你可以通过如下命令建立一个容器:`dockercontainerrunargumentsimage