使用Docker部署TensorFlow环境
本部分面向没有Docker经验的读者。对于已熟悉Docker的读者,可直接参考 TensorFlow官方文档 进行部署。
Docker是轻量级的容器(Container)环境,通过将程序放在虚拟的“容器”或者说“保护层”中运行,既避免了配置各种库、依赖和环境变量的麻烦,又克服了虚拟机资源占用多、启动慢的缺点。使用Docker部署TensorFlow的步骤如下:
- 安装 。Windows下,下载官方网站的安装包进行安装即可。Linux下建议使用 官方的快速脚本 进行安装,即命令行下输入:
如果当前的用户非root用户,可以执行 命令将当前用户加入 docker
用户组。重新登录后即可直接运行Docker。
Linux下通过以下命令启动Docker服务:
- sudo service docker start
- 拉取TensorFlow映像。Docker将应用程序及其依赖打包在映像文件中,通过映像文件生成容器。使用
docker image pull
命令拉取适合自己需求的TensorFlow映像,例如:
更多映像版本可参考 。
小技巧
在国内,推荐使用 DaoCloud的Docker映像镜像 ,将显著提高下载速度。
- 基于拉取的映像文件,创建并启动TensorFlow容器。使用
docker container run
命令创建一个新的TensorFlow容器并启动。
提示
docker container run
命令的部分选项如下:
- 让docker运行的容器能够在终端进行交互,具体而言:
:当容器中的进程运行完毕后自动删除容器。
bash
在容器中运行的命令(进程)。Bash是大多数Linux系统的默认Shell。
若需在TensorFlow Docker容器中开启GPU支持,需要具有一块NVIDIA显卡并已正确安装驱动程序(详见 )。同时需要安装 nvidia-docker 。依照官方文档中的quickstart部分逐行输入命令即可。
警告
当前nvidia-docker仅支持Linux。
安装完毕后,在 docker container run
命令中添加 —runtime=nvidia
选项,并基于具有GPU支持的TensorFlow Docker映像启动容器即可,即:
Docker常用命令
映像(image)相关操作:
- docker image pull [image_name] # 从仓库中拉取映像[image_name]到本机
- docker image ls # 列出所有本地映像
- docker image rm [image_name] # 删除名为[image_name]的本地映像
容器(container)相关操作: