Docker-CUDA

环境

  • 操作系统:Linux(Ubuntu 16.0.4)

Docker安装

  • 对于Mac用户,参考Get started with Docker Desktop for Mac; 对于Win用户,参考Get started with Docker for Windows,对于Linux用户,参考Get Docker CE for Ubuntu

  • 以Ubuntu为例

    1
    2
    3
    4
    5
    6
    7
    8
    # 在Ubuntu系统中安装较为简单,官方提供了脚本供我们进行安装。
    sudo apt install curl
    curl -fsSL get.docker.com -o get-docker.sh
    sudo sh get-docker.sh --mirror Aliyun

    #启动Docker CE
    sudo systemctl enable docker
    sudo systemctl start docker
  • Docker指令集

    在这里补充一下,容器操作 attach已经不怎么用了,如果想重新进入到容器里,可以用如下指令

    1
    docker exec -it ID /bin/bash
  • 然后建立Docker用户组

    1
    2
    3
    4
    5
    # 建立docker组
    sudo groupadd docker

    # 将当前用户加入docker组
    sudo usermod -aG docker $USER
  • 配置国内镜像加速

    在/etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件)

    1
    2
    3
    4
    5
    {
    "registry-mirrors": [
    "https://registry.docker-cn.com"
    ]
    }
  • 重启服务

    1
    2
    sudo systemctl daemon-reload
    sudo systemctl restart docker
  • 值得注意的是,有时候在非root账号下,使用docker会出现如下错误提示:

    使用如下指令可消除该错误

    1
    sudo chmod a+rw /var/run/docker.sock

Nvidia-Docker安装

  • 值得注意的是,如果想要用cuda的容器,必须安装nvidia-docker,才能在容器中使用cuda加速。才能用tensorflow、pytorch等框架使用GPU训练。
  • 安装步骤在nvidia-docker github中。

Docker镜像

Docker安装好后,可以在Docker_Hub找到自己想要的开发环境。

  • CUDA为例

    1
    docker pull nvidia/cuda

    这个指令能够将最新版本的image下载下来。

  • 当然也可以自己制作镜像,在此不赘述,自行查看相关指令。

Docker容器

  • image下载完后,查看iamges ID

    1
    docker images

    会出现如下图

  • 然后用镜像创建容器

    1
    docker run -ti -- name test -v /home:/home ID /bin/bash

    指令不清楚查看上面提到的docker指令集。

  • 指令输入完后就会进入到容器的指令窗口

  • 容器相关指令集也在上面提到docker、

  • 指令集里面

SSH连接容器

我们还可以用SSH连接容易(笔者更倾向的方法)。

  • 方法链接
  • 其实就是在已有的容器装上SSH服务,然后生成对应的镜像,再利用如下指令生成新的容器

    1
    nvidia-docker run -ti --name test -v /home:/home -d -p 2000:20 ID /usr/sbin/sshd -D
  • 创建成功后可以利用如下命令进入容器

    1
    ssh root@ IP
  • 查看容器的IP

    1
    docker inspect --format '{{ .NetworkSettings.IPAddress }}' ID

Powered by Hexo and Hexo-theme-hiker

Copyright © 2013 - 2019 JimmyYoung's Blog All Rights Reserved.

UV : | PV :