Linux下的Docker安装

Docker是一个开源的应用容器引擎。使用Docker,既可以将PaddlePaddle的安装&使用与系统环境隔离,也可以与主机共享GPU、网络等资源

环境准备

安装步骤

  1. 拉取PaddlePaddle镜像

    • CPU版的PaddlePaddle:

      1. docker pull registry.baidubce.com/paddlepaddle/paddle:[版本号]
    • CPU版的PaddlePaddle,且镜像中预装好了 jupyter:

      1. docker pull registry.baidubce.com/paddlepaddle/paddle:[版本号]-jupyter
    • GPU版的PaddlePaddle:

      1. docker pull registry.baidubce.com/paddlepaddle/paddle:[版本号]-gpu-cuda10.2-cudnn7

    如果您的机器不在中国大陆地区,可以直接从DockerHub拉取镜像:

    • CPU版的PaddlePaddle:

      1. docker pull paddlepaddle/paddle:[版本号]
    • CPU版的PaddlePaddle,且镜像中预装好了 jupyter:

      1. docker pull paddlepaddle/paddle:[版本号]-jupyter
    • GPU版的PaddlePaddle:

      1. docker pull paddlepaddle/paddle:[版本号]-gpu-cuda10.2-cudnn7

    :后请您填写PaddlePaddle版本号,例如当前版本2.1.0,更多请见镜像简介

    上例中,cuda10.2-cudnn7 也仅作示意用,表示安装GPU版的镜像。如果您还想安装其他cuda/cudnn版本的镜像,可以将其替换成cuda11.2-cudnn8等。

    您可以访问DockerHub获取与您机器适配的镜像。

  2. 构建、进入Docker容器

    • 使用CPU版本的PaddlePaddle:

      1. docker run --name [Name of container] -it -v $PWD:/paddle <imagename> /bin/bash

      –name [Name of container] 设定Docker的名称;

      -it 参数说明容器已和本机交互式运行;

      -v $PWD:/paddle 指定将当前路径(PWD变量会展开为当前路径的绝对路径)挂载到容器内部的 /paddle 目录;

      <imagename> 指定需要使用的image名称,您可以通过docker images命令查看;/bin/bash是在Docker中要执行的命令

    • 使用CPU版本的PaddlePaddle,且镜像中预装好了 jupyter:

      1. mkdir ./jupyter_docker
      1. chmod 777 ./jupyter_docker
      1. cd ./jupyter_docker
      1. docker run -p 80:80 --rm --env USER_PASSWD=[password you set] -v $PWD:/home/paddle <imagename>

      –rm 关闭容器后删除容器;

      –env USER_PASSWD=[password you set] 为 jupyter 设置登录密码,[password you set] 是自己设置的密码;

      -v $PWD:/home/paddle 指定将当前路径(PWD变量会展开为当前路径的绝对路径)挂载到容器内部的 /home/paddle 目录;

      <imagename> 指定需要使用的image名称,您可以通过docker images命令查看

    • 使用GPU版本的PaddlePaddle:

      1. nvidia-docker run --name [Name of container] -it -v $PWD:/paddle <imagename> /bin/bash

      –name [Name of container] 设定Docker的名称;

      -it 参数说明容器已和本机交互式运行;

      -v $PWD:/paddle 指定将当前路径(PWD变量会展开为当前路径的绝对路径)挂载到容器内部的 /paddle 目录;

      <imagename> 指定需要使用的image名称,您可以通过docker images命令查看;/bin/bash是在Docker中要执行的命令

至此,您已经成功使用Docker安装PaddlePaddle,更多Docker使用请参见Docker官方文档

镜像简介

镜像源镜像说明
registry.baidubce.com/paddlepaddle/paddle:2.1.0安装了2.1.0版本paddle的CPU镜像
registry.baidubce.com/paddlepaddle/paddle:2.1.0-jupyter安装了2.1.0版本paddle的CPU镜像,且镜像中预装好了jupyter,启动docker即运行jupyter服务
registry.baidubce.com/paddlepaddle/paddle:2.1.0-gpu-cuda11.2-cudnn8安装了2.1.0版本paddle的GPU镜像,cuda版本为11.2,cudnn版本为8.1
registry.baidubce.com/paddlepaddle/paddle:2.1.0-gpu-cuda10.2-cudnn7安装了2.1.0版本paddle的GPU镜像,cuda版本为10.2,cudnn版本为7

您可以在 DockerHub 中找到PaddlePaddle的各个发行的版本的docker镜像。

注意事项

  • 镜像中Python版本为3.7

补充说明

  • 当您需要第二次进入Docker容器中,使用如下命令:

    启动之前创建的容器

    1. docker start [Name of container]

    进入启动的容器

    1. docker attach [Name of container]
  • 如您是Docker新手,您可以参考互联网上的资料学习,例如Docker教程

如何卸载

请您进入Docker容器后,执行如下命令

  • CPU版本的PaddlePaddle:

    1. pip uninstall paddlepaddle
  • GPU版本的PaddlePaddle:

    1. pip uninstall paddlepaddle-gpu

或通过docker rm [Name of container]来直接删除Docker容器