2 minute read

2013 年 3 月:Docker 正式发布开源版本
官网:https://docs.docker.com/
中文教程:http://www.docker.org.cn/
docker hub:https://www.docker.com/
nvidia-docker github:https://github.com/NVIDIA/nvidia-docker

若需要用到 GPU,则应先安装 docker,再安装 nvidia-docker;

1 Docker 安装

安装 Docker 的要求1

  • Docker 只支持 64 位 CPU 架构计算机;
  • 建议 Linux 内核在 3.10 及以上(内核升级方式);
  • Linux 内核需开启 cgroups 和 namesapce 功能;
  • 对于非 Linux 内核平台,需安装 Boot2Docker 工具;

新版本中: Docker Engine 改为 Docker CE(社区版):它包含 了CLI 客户端、后台进程/服务以及 API;用户像以前以同样的方式获取;
Docker Data Center改为Docker EE(企业版):在 Docker 三个定价层增加了额外的支付产品和支持;

1.1 Ubuntu 中安装 Docker

  • 1.安装 sudo apt-get install docker-ce
    安装过程若遇到困难,参见详细步骤 ,其他安装方式:wget安装……
  • 2.启动 sudo service start docker 或设置开机自启动 sudo systemctl enable docker sudo systemctl start docker
  • 3.测试是否安装成功 sudo docker run hello-world
    若要以非 root 用户直接运行 docker 时,需要执行 sudo usermod -aG docker $用户名 命令,然后重新登陆,否则会报错;

2 Nvidia-docker 安装

在 docker 环境中使用 GPU 需要用到 nvidia-docker;他是在 docker 基础上做的,所以要先安装好 docker;

  • 1.安装 sudo apt-get install nvidia-docker2
  • 2.重新加载 docker 守护进程 sudo pkill -SIGHUP dockerd

3 Docker 操作

容器的常用操作

docker attach $CONTAINER_ID   # 连接一个已存在的docker容器  
docker stop $CONTAINER_ID     # 停止
docker start $CONTAINER_ID    # 启动  
docker restart $CONTAINER_ID  # 重启  
docker kill $CONTAINER_ID     # 强制关闭  
docker logs $CONTAINER_ID     # 查看运行日志  
docker inspect $CONTAINER_ID  # 查看属性  
docker rm $CONTAINER_ID       # 删除容器  

Docker 与本地目录文件交互 :ghost:
https://blog.csdn.net/zero__007/article/details/80641616
https://blog.csdn.net/huludan/article/details/52641090

4 搭建 Docker 应用

:ghost: 基本术语及其关系

附录

(一)Ubuntu 内核升级

  • 1.查看内核版本
    uname -r
    
  • 2.若内核版本小于 3.10,则需进行升级
    sudo apt-get uplast_modified_at # 更新软件包缓存
    sudo apt-get install linux-image-generic-lts-trusty  
    sudo reboot
    

(二)Ubuntu 中使用脚本安装 Docker

  • 1.安装 wget
    which wget # 检查 wget 是否已安装  
    sudo apt-get uplast_modified_at
    sudo apt-get install wget # 安装 wget  
    
  • 2.安装 Docker
    wget -q0- https://get.docker.com/ | sh # 过程中需要 root 权限  
    

(三)Ubuntu 中使用 apt-get 安装 Docker 2

实测可用:ubuntu 16.04(x86_64),docker 18.06.1-ce

  • 1.删除旧的 docker
    sudo apt-get remove docker docker-engine docker.io
    
  • 2.安装依赖
    sudo apt-get install apt-transport-https ca-certificates # 添加使用 HTTPS 传输的软件包以及 CA 证书
    sudo apt-get install curl gnupg2 software-properties-common  
    # 二选一
    sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D # 信任 Docker 的 GPG 公钥 1  
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - # 信任 Docker 的 GPG 公钥 2  
    # 二选一
    sudo add-apt-repository "deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable" #  添加软件源,amd64 架构的计算机  
    echo "deb [arch=armhf] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list # 添加软件源,树莓派或其它ARM架构计算机  
    
  • 3.安装 Docker
    sudo apt-get uplast_modified_at  
    sudo apt-get install docker-ce  
    

(四)Ubuntu 中使用 apt-get 安装 Nvidia-docker 3-4

  • 1.删除旧的 docker
    # 此条命令慎用(博主未曾试过)
    sudo apt-get purge -y nvidia-docker # 卸载 nvidia-docker 1.0
    
  • 2.安装依赖
    curl -s -L https://nvidia.github.io/nvidia-docker/ubuntu16.04/amd64/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list  
    
  • 3.安装 Nvidia-docker
    sudo apt-get uplast_modified_at  
    sudo apt-get install nvidia-docker2 # 博主用 sudo apt-get install -y nvidia-docker2 并未成功  
    
  • 4.重新加载 docker 守护进程
    sudo pkill -SIGHUP dockerd
    

    如果不执行此命令,会报错:

    docker: Error response from daemon: Unknown runtime specified nvidia.
    See 'docker run --help'.
    
  1. 浙江大学 SEL 实验室. Docker 容器与容器云[M]. 北京:人民邮电出版社,2016 

  2. 清华大学开源软件镜像站. Docker Community Edition 镜像使用帮助. https://mirrors.tuna.tsinghua.edu.cn/help/docker-ce/

  3. 王海强WHQ. docker的基本概念和Nvidia-docker镜像. https://www.jianshu.com/p/9deb6f41d5bd

  4. _silent彦沁. 安装使用NVIDIA-Docker– 可使用GPU的Docker容器. https://www.linuxidc.com/Linux/2017-12/149578.htm

Comments