0x00 下载镜像

我们要复现的项目一般都用pytorch或者tensorflow框架,可以直接基于现有的pytorch或者tensorflow的Docker镜像,然后再在里面安装其他的包。

下载地址:

根据项目中的环境要求,选择相应的版本,然后pull下来,比如:

docker pull tensorflow/tensorflow:latest

如果提示:权限不够
尝试一:进入到docker组下面 newgrp docker
尝试二:查看是否在docker组下面,id <你的用户名>;如果不在docker组下面,联系我

注:以后运行docker报这个错都这么解决

0x01 创建新镜像

我们要在现有的镜像基础上再配置我们需要的python环境。

  1. 启动容器

    docker run --rm -it --runtime=nvidia <上面pull下来的镜像名称:镜像的tag> /bin/bash
    
    		参数说明:
    						--rm : 关闭终端就会将容器关闭,不用再手动清理了
    						-it  : 终端
    						--runtime=nvidia:此选项允许我们使用宿主机中的GPU和Nvidia Driver
    		可选项:
    						-v <宿主机上的路径>:<docker中要存放的路径> :可以将宿主机中的数据共享到docker的特定路径下,无论哪边修改数据都会同步
    
    
  2. 安装python包

    可以在第一步中启动的容器中安装python的各种包了(和在正常ubuntu系统一样)

  3. 保存我们的新镜像

    所有环境安装完以后,重新打开一个终端(刚才哪个终端不要关闭,关闭刚才配的环境就都没了)

    1. 查看上述运行的容器的容器ID

      docker ps -a
      

      在这里插入图片描述

    2. 制作新镜像

      docker commit <1中查询到的容器ID> 新的镜像名:tag
      
      eg: docker commit 3469f73a3db8 cvit:latest
      
    3. 查看是否创建成功

      docker images
      

      如果存在,则说明你创建成功

0x02 在Pycharm中使用镜像环境

具体步骤:

  1. 打开pycharm, 选择File→Setting

    在这里插入图片描述

  2. 在左侧菜单栏选择Project:xxx,然后选择它下面的Python Interpreter

    在这里插入图片描述

  3. 点击右侧Python Interpreter选项最右边的按钮,选择Add

    在这里插入图片描述

    在这里插入图片描述

  4. 选择左侧菜单栏的Docker选项

    在这里插入图片描述

  5. 然后点击右侧的New按钮(我这里已经加过了)

    在这里插入图片描述

  6. 配置一些信息,如图就行

    在这里插入图片描述

  7. 点击OK以后就会进行连接,连接成功后就可以选择你要使用的镜像和里面的python环境了。

    在这里插入图片描述

  8. 配置使用GPU
    上述步骤结束以后,运行时发现会报错,如下
    在这里插入图片描述
    找不到Nvidia Driver,这时我们需要修改docker的守护进程:/etc/docker/daemon.json
    向上述文件中添加一句:"default-runtime": "nvidia"
    修改后内容如下:

    {
        "default-runtime": "nvidia",
        "runtimes": {
            "nvidia": {
                "path": "nvidia-container-runtime",
                "runtimeArgs": []
            }
        }
    }
    
  9. 重启docker

    守护进程重启 sudo systemctl daemon-reload

    重启docker服务 systemctl restart docker

0x03 一些闲话

本人创建了一个公众号,分享科研路上的小问题,新发现,欢迎关注公众号,给我留言!!!
一起奋发向上,攻克难题吧~~

在这里插入图片描述

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐