install Autoware Docker 1020Ti

1. 多线程下载助力网速

今天实验室的网络出了点问题,平时都是飞速,但今天龟速。所以,想了三个办法,换一个好一点的无线网卡,安装apt-fast,实在还不行就淘宝买根网线。

Apt-fast 是一个用 axel 来加速 apt-get 软件安装的工具,通过这个工具在安装软件时,因为用到了 axel 的多线程下载功能,所以在下载软件包时会比普通的 apt-get 要快上好几倍。使用过程与aptget一样,只需要将apt-get改成apt-fast即可。
安装过程中,会让你设置axel 下载的最大线程数,一般默认的5 即可。

sudo add-apt-repository ppa:apt-fast/stable
sudo apt-get update
sudo apt-get install apt-fast

Linux公社 | 使用apt-fast 来加速你的Ubuntu 的apt
安装apt-fast网速太慢,无奈我只好用了手机热点,速度提升显著[手动捂脸],安装好之后,迫不及待的试了一下,手机热点+apt-fast确实给力,但是换成实验室的无线后,并不咋地,先这样吧。

2. 禁用安全启动

禁用安全启动
禁用快速启动

华硕主板
开机启动,Delete键进入UEFI BIOS Utility - EZ Mode
右下角-Advanced Mode(F7)
启动
快速启动:disabled
安全启动菜单:状态|关闭,密钥|未加载,操作系统类型|其他

3. 解决重复启动

假设出现重复启动,而无法进入系统

第一步、进入ctrl+alt_f1进入文本界面
第二步、键入用户名和密码
第三步、卸载所有驱动

sudo apt-fast purge nvidia*

or

sudo apt-fast remove nvidia*

第四步、检查nouveau

lsmod | grep nouveau

有输出,则说明nouveau正在加载,需要手动禁用;反之,说明禁用成功,
这里肯定是有输出的,需要禁用。

第五步、禁用nouveau

sudo vi /etc/modprobe.d/blacklist-nouveau.conf

出现文本输入的GUI界面,键入以下内容:

blacklist nouveau
options nouveau modeset=0

然后键盘esc,输入:wq,完成保存,并退回到命令行。

第六步、重新配置内核文件

sudo  update-initramfs -u

第七步、重新驱动电脑

sudo reboot

再进入系统后,变化是,重复启动不见了,屏幕像素变得很烂,如果连接双屏的话,第二屏也没有信号了。

4. 安装CUDA(快捷方式)

这次不磨磨唧唧的了,直接跳过安装驱动,并且要完整的完成CUDA安装,保证能正常运行

第一步、选择安装方式

话说ubuntu CUDA安装方式官网提供的方法有好几种,这里我们选择deb(local)的方式来安装,基本思路就是从官网上把deb文件下载下来,然后命令行切切换到目标文件路径,开始安装。

第二步、官网下载CUDA文件

官网 | 版本选择
官网 | CUDA Toolkit 8.0 GA1 deb选择、下载、安装

install Autoware Docker 1020Ti_第1张图片
deb文件的选择、下载和安装

第三步、按照官网给出的步骤安装即可

sudo dpkg -i cuda-repo-ubuntu1604-8-0-local_8.0.44-1_amd64.deb
sudo apt-fast update
sudo apt-fast install cuda

第四步、重启
第五步、检测显卡信息、查看CUDA版本

sudo nvidia-smi
sudo nvidia-setting
cat /usr/local/cuda/version.txt

我的输出:CUDA Version 8.0.44

第六步、配置环境变量

CSDN | Ubuntu16.04下CUDA8.0(deb)+Cudnn6.0+tensorflow+mxnet+caffe配置(操作简易且成功率高)

$ sudo gedit ~/.bashrc
# 在打开的文件中添加两行内容
# 第一行是export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
# 第二行是LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
# 点击保存后关闭文件
$ source ~/.bashrc

第七步、再次确认安装成功

确认驱动安装成功

cat /proc/driver/nvidia/version

5. 安装CUDA(完整方式)

第一步、安装前准备

官网 | Installation Guide Linux | 2. Pre-installation Actionsl#pre-installation-actions

2.1. Verify You Have a CUDA-Capable GPU

dong@cvad:~$ lspci | grep -i nvidia
01:00.0 VGA compatible controller: NVIDIA Corporation Device 1b82 (rev a1)
01:00.1 Audio device: NVIDIA Corporation Device 10f0 (rev a1)

2.2. Verify You Have a Supported Version of Linux

dong@cvad:~$ uname -m && cat /etc/*release
x86_64
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.4 LTS"
NAME="Ubuntu"
VERSION="16.04.4 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.4 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial

2.3. Verify the System Has gcc Installed

dong@cvad:~$ gcc --version
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.10) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

2.4. Verify the System has the Correct Kernel Headers and Development Packages Installed

dong@cvad:~$ uname -r
4.15.0-47-generic

dong@cvad:~$ sudo apt-fast install linux-headers-$(uname -r)
[sudo] dong 的密码: 
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
linux-headers-4.15.0-47-generic 已经是最新版 (4.15.0-47.50~16.04.1)。
下列软件包是自动安装的并且现在不需要了:
  aufs-tools cgroupfs-mount pigz
使用'sudo apt autoremove'来卸载它(它们)。
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 189 个软件包未被升级。

第二步、安装

官网文档提供了很多的安装方法,但还是以deb下载界面的安装方法为准吧(见上图),应该都可以。
官网 | deb下载界面和安装方法
其他安装方法:
官网 | Quick Start Guide | 4.1.5.1.Debian Installer
官网 | Installation Guide Linux | 4.2 Installation | 完整安装的8个步骤
4.2.1 安装前准备(见第一步)
官网 | 2. Pre-installation Actions
4.2.2 禁用Nouveau(见 2.解决重复启动)
官网 | 4.4 Disabling Nouveau
4.2.3 Reboot into text mode(禁用图像界面)
CSDN | Ubuntu 16.04 上安装 CUDA 9.0 详细教程

# Ctrl+Alt+F1,进入文本模式(命令行界面),登录账户
sudo service lightdm stop
# 安装CUDA
sudo service lightdm start
# Alt+ctrl+F7,返回到图形化登录界面,输入密码登录

4.2.5 安装CUDA(见上图)
4.2.7 Device Node Verification
官网 | 4.5. Device Node Verification
CSDN | Ubuntu 16.04 上安装 CUDA 9.0 详细教程

dong@cvad:~$ ls /dev/nvidia*
/dev/nvidia0  /dev/nvidiactl  /dev/nvidia-modeset  /dev/nvidia-uvm

显示结果中包含:

/dev/nvidia0  /dev/nvidiactl /dev/nvidia-uvm

则说明安装成功了,否则就得添加一个脚本文件:
执行

sudo vi /etc/rc.local

如果你是第一次打开这个文件,它应该是空的(除了一行又一行的#注释项外)。这文件的第一行是#!/bin/sh -e,把-e去掉(这步很重要,否则它不会加载这文本的内容),然后把下列内容除了#!/bin/bash外复制到其中,(before exit 0 )保存退出,这里保存的方式一般是,键入Esc,后输入:wq,回车。

#!/bin/bash

/sbin/modprobe nvidia

if [ "$?" -eq 0 ]; then
  # Count the number of NVIDIA controllers found.
  NVDEVS=`lspci | grep -i NVIDIA`
  N3D=`echo "$NVDEVS" | grep "3D controller" | wc -l`
  NVGA=`echo "$NVDEVS" | grep "VGA compatible controller" | wc -l`

  N=`expr $N3D + $NVGA - 1`
  for i in `seq 0 $N`; do
    mknod -m 666 /dev/nvidia$i c 195 $i
  done

  mknod -m 666 /dev/nvidiactl c 195 255

else
  exit 1
fi

/sbin/modprobe nvidia-uvm

if [ "$?" -eq 0 ]; then
  # Find out the major device number used by the nvidia-uvm driver
  D=`grep nvidia-uvm /proc/devices | awk '{print $1}'`

  mknod -m 666 /dev/nvidia-uvm c $D 0
else
  exit 1
fi

4.2.8 安装后设置(见第三步)
官网 |7. Post-installation Actions

第三步、安装后设置

7.1 Mandatory Actions(必须要做的设置)

7.1.1 Environment Setup(环境设置)
官网 | 7.1.1 Environment Setup
这里不建议按照官网来操作,有两点:1、只有代码内容,好像没有操作方法;2、版本是10.1,不确定代码内容是否和8.0相同。
CSDN | Ubuntu 16.04 上安装 CUDA 9.0 详细教程
这一篇的内容还是比较好的,但是版本是9.0,所以,1、先确认自己安装的CUDA版本,如本文4.安装CUDA(快捷方式)第五步所示,是8.0.44,就是8.0;2、通过下一篇的内容对比,可以确定,只要把这一篇代码中9.0修改为8.0即可。
CSDN | Ubuntu16.04下CUDA8.0(deb)+Cudnn6.0+tensorflow+mxnet+caffe配置(操作简易且成功率高)

设置环境变量

#终端中输入 :
sudo gedit /etc/profile

#在打开的文件末尾,添加以下两行(64位系统):
export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64\
                      ${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

#保存文件,并重启。
sudo reboot
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64\
                      ${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
#等同于
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

重启后检查环境变量是否设置成功

#a. 验证驱动版本
cat /proc/driver/nvidia/version
#结果显示
NVRM version: NVIDIA UNIX x86_64 Kernel Module 384.81 Sat Sep 2 02:43:11 PDT 2017
GCC version: gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.5) 

#b. 验证CUDA Toolkit
nvcc -V
#会输出CUDA的版本信息

#如果是这样的:
The program 'nvcc' is currently not installed. You can install it by typing:
sudo apt-get install nvidia-cuda-toolkit
#可能是环境配置没有成功

检查输出结果如下,说明环境设置成功

dong@cvad:~$ cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module  384.130  Wed Mar 21 03:37:26 PDT 2018
GCC version:  gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.10) 

dong@cvad:~$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2016 NVIDIA Corporation
Built on Sun_Sep__4_22:14:01_CDT_2016
Cuda compilation tools, release 8.0, V8.0.44

7.1.2 POWER9 Setup

从7.1.2到7.3,这几个步骤由于时间关系,先放在这里了,到7.1.1CUDA应该就已经初步安装成功了,后面有时间再把这部分内容补充上去。

7.2 Recommended Actions(推荐要做的设置)
7.3 Optional Actions(可选择做的设置)

6. 安装Docker

doc 6-1 | autoware github | wiki | installation | Autoware Docker
从autoware github站在全局的角度来看docker和nvidia docker的安装
doc 6-2 | docker docs | Get Docker CE for Ubuntu
然后在docker的官方文档中看docker的安装方法
doc 6-3 | gitbooks | Docker——从入门到实践 | Ubuntu 安装 Docker CE
doc 6-4 | | isl_qdu | Docker安装
这两个之前看过的优秀的第三方的教程也不错,好好参考一下。

Autoware安装文档doc 6-1中关于docker安装大幅度简化了,只是象征性的列出核心的几个步骤,这个肯定是不能用的,可以借鉴的是,它建议了安装方式 using repository
这里的安装以doc 6-2准备,同时以doc 6-3作参考,他提供了一些解释,还有国内的资源。

6.1 SET UP THE REPOSITORY

由于 apt 源使用 HTTPS 以确保软件下载过程中不被篡改。因此,我们首先需要添加使用 HTTPS 传输的软件包以及 CA 证书。

sudo apt-fast update

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common

为了确认所下载软件包的合法性,需要添加软件源的 GPG 密钥。

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

然后,我们需要向 source.list 中添加 Docker 软件源

sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
6.2 INSTALL DOCKER CE

更新 apt 软件包缓存,并安装 docker-ce:

sudo apt-fast update
sudo apt-get install docker-ce docker-ce-cli containerd.io
6.3 VERIFICATION
sudo docker run hello-world
6.4 OPERATION
dong@cvad:~$ sudo apt-fast update
[sudo] dong 的密码: 
获取:1 file:/var/cuda-repo-8-0-local  InRelease
忽略:1 file:/var/cuda-repo-8-0-local  InRelease
获取:2 file:/var/cuda-repo-8-0-local  Release [574 B]
获取:2 file:/var/cuda-repo-8-0-local  Release [574 B]
命中:4 https://nvidia.github.io/libnvidia-container/ubuntu16.04/amd64  InRelease
命中:5 https://nvidia.github.io/nvidia-container-runtime/ubuntu16.04/amd64  InRelease
命中:6 https://nvidia.github.io/nvidia-docker/ubuntu16.04/amd64  InRelease
获取:7 https://download.docker.com/linux/ubuntu xenial InRelease [66.2 kB]
命中:8 http://packages.ros.org/ros/ubuntu xenial InRelease                                                                                                                                                 
命中:9 http://cn.archive.ubuntu.com/ubuntu xenial InRelease                                                                                                                   
获取:10 http://security.ubuntu.com/ubuntu xenial-security InRelease [109 kB]               
命中:11 http://ppa.launchpad.net/apt-fast/stable/ubuntu xenial InRelease                               
获取:12 http://cn.archive.ubuntu.com/ubuntu xenial-updates InRelease [109 kB]                                                        
忽略:13 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial InRelease                                          
获取:14 http://cn.archive.ubuntu.com/ubuntu xenial-backports InRelease [107 kB]                                                     
忽略:15 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial Release    
获取:16 http://security.ubuntu.com/ubuntu xenial-security/main amd64 DEP-11 Metadata [67.9 kB]
获取:17 http://cn.archive.ubuntu.com/ubuntu xenial-updates/main amd64 DEP-11 Metadata [318 kB]                               
获取:18 http://security.ubuntu.com/ubuntu xenial-security/main DEP-11 64x64 Icons [67.1 kB]  
忽略:19 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main amd64 Packages                
获取:20 http://cn.archive.ubuntu.com/ubuntu xenial-updates/main DEP-11 64x64 Icons [227 kB]                  
获取:21 http://security.ubuntu.com/ubuntu xenial-security/universe amd64 DEP-11 Metadata [116 kB]                                                        
获取:22 http://security.ubuntu.com/ubuntu xenial-security/universe DEP-11 64x64 Icons [173 kB]                                                                  
获取:23 http://cn.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 DEP-11 Metadata [252 kB]                                                         
获取:24 http://security.ubuntu.com/ubuntu xenial-security/multiverse amd64 DEP-11 Metadata [2,464 B]                                                                                                       
获取:25 http://cn.archive.ubuntu.com/ubuntu xenial-updates/universe DEP-11 64x64 Icons [355 kB]                                                                                                            
忽略:26 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main i386 Packages                                                                                                                       
获取:27 http://cn.archive.ubuntu.com/ubuntu xenial-updates/multiverse amd64 DEP-11 Metadata [5,968 B]                                                                                                      
获取:28 http://cn.archive.ubuntu.com/ubuntu xenial-updates/multiverse DEP-11 64x64 Icons [14.2 kB]                                                                                                         
获取:29 http://cn.archive.ubuntu.com/ubuntu xenial-backports/main amd64 DEP-11 Metadata [3,328 B]                                                                                                          
获取:30 http://cn.archive.ubuntu.com/ubuntu xenial-backports/universe amd64 DEP-11 Metadata [5,104 B]                                                                                                      
忽略:31 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main all Packages                                                                                                                        
忽略:32 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main Translation-zh_CN                                                                                                                   
忽略:33 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main Translation-zh                                                                                                                      
忽略:34 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main Translation-en                                                                                                                      
忽略:35 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main amd64 DEP-11 Metadata                                                                                                               
忽略:36 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main DEP-11 64x64 Icons                                                                                                                  
忽略:19 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main amd64 Packages                                                                                                                      
忽略:26 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main i386 Packages                                                                                                                       
忽略:31 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main all Packages                                                                                                                        
忽略:32 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main Translation-zh_CN                                                                                                                   
忽略:33 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main Translation-zh                                                                                                                      
忽略:34 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main Translation-en                                                                                                                      
忽略:35 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main amd64 DEP-11 Metadata                                                                                                               
忽略:36 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main DEP-11 64x64 Icons                                                                                                                  
忽略:19 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main amd64 Packages
忽略:26 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main i386 Packages
忽略:31 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main all Packages
忽略:32 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main Translation-zh_CN
忽略:33 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main Translation-zh
忽略:34 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main Translation-en
忽略:35 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main amd64 DEP-11 Metadata
忽略:36 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main DEP-11 64x64 Icons
忽略:19 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main amd64 Packages
忽略:26 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main i386 Packages
忽略:31 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main all Packages
忽略:32 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main Translation-zh_CN
忽略:33 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main Translation-zh
忽略:34 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main Translation-en
忽略:35 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main amd64 DEP-11 Metadata
忽略:36 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main DEP-11 64x64 Icons
忽略:19 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main amd64 Packages
忽略:26 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main i386 Packages
忽略:31 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main all Packages
忽略:32 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main Translation-zh_CN
忽略:33 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main Translation-zh
忽略:34 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main Translation-en
忽略:35 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main amd64 DEP-11 Metadata
忽略:36 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main DEP-11 64x64 Icons
错误:19 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main amd64 Packages
  404  Not Found
忽略:26 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main i386 Packages
忽略:31 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main all Packages
忽略:32 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main Translation-zh_CN
忽略:33 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main Translation-zh
忽略:34 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main Translation-en
忽略:35 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main amd64 DEP-11 Metadata
忽略:36 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main DEP-11 64x64 Icons
已下载 1,999 kB,耗时 1分 11秒 (28.1 kB/s)
正在读取软件包列表... 完成
W: 软件包仓库 Release 文件 /var/lib/apt/lists/_var_cuda-repo-8-0-local_Release 内 Date 条目无效
W: 仓库 “http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial Release” 没有 Release 文件。
N: 无法认证来自该源的数据,所以使用它会带来潜在风险。
N: 参见 apt-secure(8) 手册以了解仓库创建和用户配置方面的细节。
E: 无法下载 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu/dists/xenial/main/binary-amd64/Packages  404  Not Found
E: 部分索引文件下载失败。如果忽略它们,那将转而使用旧的索引文件。

dong@cvad:~$ sudo apt-get install \
>     apt-transport-https \
>     ca-certificates \
>     curl \
>     gnupg-agent \
>     software-properties-common
[sudo] dong 的密码: 
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
apt-transport-https 已经是最新版 (1.2.31)。
ca-certificates 已经是最新版 (20170717~16.04.2)。
curl 已经是最新版 (7.47.0-1ubuntu2.12)。
gnupg-agent 已经是最新版 (2.1.11-6ubuntu2.1)。
software-properties-common 已经是最新版 (0.96.20.8)。
您可能需要运行“apt-get -f install”来纠正下列错误:
下列软件包有未满足的依赖关系:
 sogoupinyin : 依赖: libopencc2 但无法安装它 或
                       libopencc1 但是它将不会被安装
               依赖: fcitx-libs (>= 4.2.7) 但是它将不会被安装
E: 有未能满足的依赖关系。请尝试不指明软件包的名字来运行“apt-get -f install”(也可以指定一个解决办法)。

dong@cvad:~$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
OK

dong@cvad:~$ sudo add-apt-repository \
>    "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
>    $(lsb_release -cs) \
>    stable"

dong@cvad:~$ sudo apt-fast update
获取:1 file:/var/cuda-repo-8-0-local  InRelease
忽略:1 file:/var/cuda-repo-8-0-local  InRelease
获取:2 file:/var/cuda-repo-8-0-local  Release [574 B]
获取:2 file:/var/cuda-repo-8-0-local  Release [574 B]
命中:4 https://download.docker.com/linux/ubuntu xenial InRelease
命中:5 https://nvidia.github.io/libnvidia-container/ubuntu16.04/amd64  InRelease
命中:6 https://nvidia.github.io/nvidia-container-runtime/ubuntu16.04/amd64  InRelease
命中:7 https://nvidia.github.io/nvidia-docker/ubuntu16.04/amd64  InRelease
命中:8 http://packages.ros.org/ros/ubuntu xenial InRelease                                                                                                                                                 
命中:9 http://security.ubuntu.com/ubuntu xenial-security InRelease                                                         
命中:10 http://ppa.launchpad.net/apt-fast/stable/ubuntu xenial InRelease                             
忽略:11 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial InRelease                                                       
忽略:12 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial Release
忽略:13 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main amd64 Packages
命中:14 http://cn.archive.ubuntu.com/ubuntu xenial InRelease
命中:15 http://cn.archive.ubuntu.com/ubuntu xenial-updates InRelease                              
命中:16 http://cn.archive.ubuntu.com/ubuntu xenial-backports InRelease                            
忽略:17 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main i386 Packages
忽略:18 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main all Packages
忽略:19 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main Translation-zh_CN
忽略:20 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main Translation-zh
忽略:21 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main Translation-en
忽略:22 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main amd64 DEP-11 Metadata
忽略:23 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main DEP-11 64x64 Icons
忽略:13 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main amd64 Packages
忽略:17 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main i386 Packages
忽略:18 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main all Packages
忽略:19 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main Translation-zh_CN
忽略:20 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main Translation-zh
忽略:21 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main Translation-en
忽略:22 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main amd64 DEP-11 Metadata
忽略:23 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main DEP-11 64x64 Icons
忽略:13 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main amd64 Packages
忽略:17 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main i386 Packages
忽略:18 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main all Packages
忽略:19 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main Translation-zh_CN
忽略:20 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main Translation-zh
忽略:21 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main Translation-en
忽略:22 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main amd64 DEP-11 Metadata
忽略:23 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main DEP-11 64x64 Icons
忽略:13 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main amd64 Packages
忽略:17 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main i386 Packages
忽略:18 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main all Packages
忽略:19 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main Translation-zh_CN
忽略:20 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main Translation-zh
忽略:21 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main Translation-en
忽略:22 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main amd64 DEP-11 Metadata
忽略:23 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main DEP-11 64x64 Icons
忽略:13 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main amd64 Packages
忽略:17 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main i386 Packages
忽略:18 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main all Packages
忽略:19 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main Translation-zh_CN
忽略:20 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main Translation-zh
忽略:21 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main Translation-en
忽略:22 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main amd64 DEP-11 Metadata
忽略:23 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main DEP-11 64x64 Icons
错误:13 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main amd64 Packages
  404  Not Found
忽略:17 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main i386 Packages
忽略:18 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main all Packages
忽略:19 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main Translation-zh_CN
忽略:20 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main Translation-zh
忽略:21 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main Translation-en
忽略:22 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main amd64 DEP-11 Metadata
忽略:23 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial/main DEP-11 64x64 Icons
正在读取软件包列表... 完成
W: 软件包仓库 Release 文件 /var/lib/apt/lists/_var_cuda-repo-8-0-local_Release 内 Date 条目无效
W: 仓库 “http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial Release” 没有 Release 文件。
N: 无法认证来自该源的数据,所以使用它会带来潜在风险。
N: 参见 apt-secure(8) 手册以了解仓库创建和用户配置方面的细节。
E: 无法下载 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu/dists/xenial/main/binary-amd64/Packages  404  Not Found
E: 部分索引文件下载失败。如果忽略它们,那将转而使用旧的索引文件。

dong@cvad:~$ sudo apt-get install docker-ce docker-ce-cli containerd.io
[sudo] dong 的密码: 
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
containerd.io 已经是最新版 (1.2.5-1)。
containerd.io 已设置为手动安装。
docker-ce 已经是最新版 (5:18.09.5~3-0~ubuntu-xenial)。
您可能需要运行“apt-get -f install”来纠正下列错误:
下列软件包有未满足的依赖关系:
 sogoupinyin : 依赖: libopencc2 但无法安装它 或
                       libopencc1 但是它将不会被安装
               依赖: fcitx-libs (>= 4.2.7) 但是它将不会被安装
E: 有未能满足的依赖关系。请尝试不指明软件包的名字来运行“apt-get -f install”(也可以指定一个解决办法)。

dong@cvad:~$ sudo docker run hello-world

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

7. 安装NVIDIA Docker(version 2.0,version 1.0见第9步)

doc 7-1 | nvidia docker github | wiki | Version 2.0 | Installation
NVIDIA Docker的安装就是要参照这一篇官方的教程
doc 7-2 | github | Repository configuraion
这一篇是doc 7-1中安装前配置repository的内容,也很重要
doc 7-3 | CSDN | 安装Docker CE,NVIDIA driver,nvidia-docker
这一篇是第三方的教程,主要的作用是理清楚官方教程的相关内容

7.1 Prerequisites

安装前检查,主要是检查电脑中Linux内核、Docker、显卡GPU、显卡驱动的软硬件配置达到要求:

  1. GNU/Linux x86_64 with kernel version > 3.10
  2. Docker >= 1.12
  3. NVIDIA GPU with Architecture > Fermi (2.1)
  4. NVIDIA drivers ~= 361.93 (untested on older versions)
7.2 Removing nvidia-docker 1.0

卸载老版本的NVIDIA Docker,这一步我不需要做,就不做了,附上doc 7-3的内容。

# If you have nvidia-docker 1.0 installed: we need to remove it and all existing GPU containers
docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -f
sudo apt-get purge -y nvidia-docker
7.3 Install the repository

安装repository,这是安装docker所必须的,相关逻辑关系有必要搞清楚。
这里就要结合doc 7-3,来阅读doc 7-2了。因为官方文档有一大堆你不需要做和不需要看的内容,通过第三方的教程把官方教程精简一下。

# Add the package repositories
# 添加源
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
  sudo apt-key add -

distribution=$(. /etc/os-release;echo $ID$VERSION_ID)

curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \
  sudo tee /etc/apt/sources.list.d/nvidia-docker.list

sudo apt-fast update
7.4 Install the NVIDIA Docker

这个直接安装,比较简单。
cnblogs | [笔记] Ubuntu 18.04安装Docker CE及nvidia-docker2流程
这一篇对几个步骤的内容做了注释

# Install nvidia-docker2 and reload the Docker daemon configuration
sudo apt-get install nvidia-docker2
# 重启 Docker daemon
sudo pkill -SIGHUP dockerd
7.5 Test

检测的方法来自doc 7-3,修改一下,这个官网也提到了检测,如下,而且这里nvidia docker 安装是有问题的。
autoware github | autoware docker install | Generic x86 Docker

# Test nvidia-smi with the latest official CUDA image
# 能看到显卡信息说明安装成功了
docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi
7.6 Operation
dong@cvad:~$ curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
>   sudo apt-key add -
[sudo] dong 的密码: 
OK

dong@cvad:~$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID)

dong@cvad:~$ curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \
>   sudo tee /etc/apt/sources.list.d/nvidia-docker.list
deb https://nvidia.github.io/libnvidia-container/ubuntu16.04/$(ARCH) /
deb https://nvidia.github.io/nvidia-container-runtime/ubuntu16.04/$(ARCH) /
deb https://nvidia.github.io/nvidia-docker/ubuntu16.04/$(ARCH) /

dong@cvad:~$ sudo apt-fast update
获取:1 file:/var/cuda-repo-8-0-local  InRelease
忽略:1 file:/var/cuda-repo-8-0-local  InRelease
获取:2 file:/var/cuda-repo-8-0-local  Release [574 B]
获取:2 file:/var/cuda-repo-8-0-local  Release [574 B]
命中:4 https://nvidia.github.io/libnvidia-container/ubuntu16.04/amd64  InRelease
命中:5 https://nvidia.github.io/nvidia-container-runtime/ubuntu16.04/amd64  InRelease
命中:6 https://download.docker.com/linux/ubuntu xenial InRelease
命中:7 https://nvidia.github.io/nvidia-docker/ubuntu16.04/amd64  InRelease
命中:8 http://cn.archive.ubuntu.com/ubuntu xenial InRelease                                                         
获取:9 http://security.ubuntu.com/ubuntu xenial-security InRelease [109 kB]                
命中:10 http://ppa.launchpad.net/apt-fast/stable/ubuntu xenial InRelease                              
获取:11 http://cn.archive.ubuntu.com/ubuntu xenial-updates InRelease [109 kB]      
获取:12 http://cn.archive.ubuntu.com/ubuntu xenial-backports InRelease [107 kB]                                     
已下载 325 kB,耗时 28秒 (11.5 kB/s)                                                                                
正在读取软件包列表... 完成
W: 软件包仓库 Release 文件 /var/lib/apt/lists/_var_cuda-repo-8-0-local_Release 内 Date 条目无效

dong@cvad:~$ sudo apt-fast install nvidia-docker2
libnvidia-container1                     1.0.2-1                   57KiB
libnvidia-container-tools                1.0.2-1                   15KiB
nvidia-container-runtime                 2.0.0+docker18.09.5-3     1.7MiB
nvidia-container-runtime-hook            1.4.0-1                  562KiB
nvidia-docker2                           2.0.3+docker18.09.5-3     2.9KiB
Download size: 2.3MiB

Do you want to download the packages? [Y/n] 
[DL:176KiB][#7539e5 0B/0B][#527ffc 0B/14KiB(0%)][#14cda0 0B/0B][#af740c 0B/0B][#efdfa6 0B/0B]                       
04/29 14:11:15 [NOTICE] Verification finished successfully. file=/var/cache/apt/apt-fast/libnvidia-container-tools_1.0.2-1_amd64.deb

04/29 14:11:15 [NOTICE] Download complete: /var/cache/apt/apt-fast/libnvidia-container-tools_1.0.2-1_amd64.deb
[DL:129KiB][#7539e5 16KiB/56KiB(28%)][#14cda0 112KiB/561KiB(19%)][#af740c 128KiB/1.6MiB(7%)][#efdfa6 0B/2.8KiB(0%)] 
04/29 14:11:17 [NOTICE] Verification finished successfully. file=/var/cache/apt/apt-fast/libnvidia-container1_1.0.2-1_amd64.deb

04/29 14:11:17 [NOTICE] Download complete: /var/cache/apt/apt-fast/libnvidia-container1_1.0.2-1_amd64.deb
[DL:155KiB][#14cda0 208KiB/561KiB(37%)][#af740c 240KiB/1.6MiB(13%)][#efdfa6 0B/2.8KiB(0%)]                          
04/29 14:11:18 [NOTICE] Verification finished successfully. file=/var/cache/apt/apt-fast/nvidia-docker2_2.0.3+docker18.09.5-3_all.deb

04/29 14:11:18 [NOTICE] Download complete: /var/cache/apt/apt-fast/nvidia-docker2_2.0.3+docker18.09.5-3_all.deb
[DL:128KiB][#14cda0 480KiB/561KiB(85%)][#af740c 576KiB/1.6MiB(33%)]y                                                
[DL:99KiB][#14cda0 544KiB/561KiB(96%)][#af740c 656KiB/1.6MiB(38%)]                                                  
04/29 14:11:28 [NOTICE] Verification finished successfully. file=/var/cache/apt/apt-fast/nvidia-container-runtime-hook_1.4.0-1_amd64.deb

04/29 14:11:28 [NOTICE] Download complete: /var/cache/apt/apt-fast/nvidia-container-runtime-hook_1.4.0-1_amd64.deb
[#af740c 1.6MiB/1.6MiB(97%) CN:1 DL:40KiB ETA:1s]                                                                   
04/29 14:11:59 [NOTICE] Verification finished successfully. file=/var/cache/apt/apt-fast/nvidia-container-runtime_2.0.0+docker18.09.5-3_amd64.deb

04/29 14:11:59 [NOTICE] Download complete: /var/cache/apt/apt-fast/nvidia-container-runtime_2.0.0+docker18.09.5-3_amd64.deb

下载结果:
gid   |stat|avg speed  |path/URI
======+====+===========+=======================================================
527ffc|OK  |    46KiB/s|/var/cache/apt/apt-fast/libnvidia-container-tools_1.0.2-1_amd64.deb
7539e5|OK  |    31KiB/s|/var/cache/apt/apt-fast/libnvidia-container1_1.0.2-1_amd64.deb
efdfa6|OK  |   1.8KiB/s|/var/cache/apt/apt-fast/nvidia-docker2_2.0.3+docker18.09.5-3_all.deb
14cda0|OK  |    41KiB/s|/var/cache/apt/apt-fast/nvidia-container-runtime-hook_1.4.0-1_amd64.deb
af740c|OK  |    38KiB/s|/var/cache/apt/apt-fast/nvidia-container-runtime_2.0.0+docker18.09.5-3_amd64.deb

状态标识:
(OK):完成下载。
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
将会同时安装下列软件:
  libnvidia-container-tools libnvidia-container1 nvidia-container-runtime nvidia-container-runtime-hook
下列【新】软件包将被安装:
  libnvidia-container-tools libnvidia-container1 nvidia-container-runtime nvidia-container-runtime-hook
  nvidia-docker2
升级了 0 个软件包,新安装了 5 个软件包,要卸载 0 个软件包,有 179 个软件包未被升级。
需要下载 0 B/2,407 kB 的归档。
解压缩后会消耗 9,779 kB 的额外空间。
您希望继续执行吗? [Y/n] 正在选中未选择的软件包 libnvidia-container1:amd64。
(正在读取数据库 ... 系统当前共安装有 229494 个文件和目录。)
正准备解包 .../libnvidia-container1_1.0.2-1_amd64.deb  ...
正在解包 libnvidia-container1:amd64 (1.0.2-1) ...
正在选中未选择的软件包 libnvidia-container-tools。
正准备解包 .../libnvidia-container-tools_1.0.2-1_amd64.deb  ...
正在解包 libnvidia-container-tools (1.0.2-1) ...
正在选中未选择的软件包 nvidia-container-runtime-hook。
正准备解包 .../nvidia-container-runtime-hook_1.4.0-1_amd64.deb  ...
正在解包 nvidia-container-runtime-hook (1.4.0-1) ...
正在选中未选择的软件包 nvidia-container-runtime。
正准备解包 .../nvidia-container-runtime_2.0.0+docker18.09.5-3_amd64.deb  ...
正在解包 nvidia-container-runtime (2.0.0+docker18.09.5-3) ...
正在选中未选择的软件包 nvidia-docker2。
正准备解包 .../nvidia-docker2_2.0.3+docker18.09.5-3_all.deb  ...
正在解包 nvidia-docker2 (2.0.3+docker18.09.5-3) ...
正在处理用于 libc-bin (2.23-0ubuntu10) 的触发器 ...
正在设置 libnvidia-container1:amd64 (1.0.2-1) ...
正在设置 libnvidia-container-tools (1.0.2-1) ...
正在设置 nvidia-container-runtime-hook (1.4.0-1) ...
正在设置 nvidia-container-runtime (2.0.0+docker18.09.5-3) ...
正在设置 nvidia-docker2 (2.0.3+docker18.09.5-3) ...
正在处理用于 libc-bin (2.23-0ubuntu10) 的触发器 ...

dong@cvad:~$ sudo pkill -SIGHUP dockerd

dong@cvad:~$ docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi
Unable to find image 'nvidia/cuda:latest' locally
latest: Pulling from nvidia/cuda
898c46f3b1a1: Pull complete 
63366dfa0a50: Pull complete 
041d4cd74a92: Pull complete 
6e1bee0f8701: Pull complete 
131dbe7c254d: Pull complete 
5bca6b05dcd6: Pull complete 
0d286a7b6e12: Pull complete 
5776d2c6371d: Pull complete 
768e84e7fc24: Pull complete 
Digest: sha256:eba1dc5810e40f60625ee797d618a6bd11be24cb67bc6647a4d36392202bb013
Status: Downloaded newer image for nvidia/cuda:latest
docker: Error response from daemon: OCI runtime create failed: container_linux.go:345: starting container process caused "process_linux.go:424: container init caused \"process_linux.go:407: running prestart hook 1 caused \\\"error running hook: exit status 1, stdout: , stderr: exec command: [/usr/bin/nvidia-container-cli --load-kmods configure --ldconfig=@/sbin/ldconfig.real --device=all --compute --utility --require=cuda>=10.1 brand=tesla,driver>=384,driver<385 brand=tesla,driver>=410,driver<411 --pid=9333 /var/lib/docker/overlay2/b64e08438f267f9c15fe7e68340df81ab085636359d502d92b9586324c5d8b41/merged]\\\\nnvidia-container-cli: requirement error: unsatisfied condition: brand = tesla\\\\n\\\"\"": unknown.

dong@cvad:~$ docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nvidia/cuda         latest              3517732c5437        3 weeks ago         2.74GB
hello-world         latest              fce289e99eb9        3 months ago        1.84kB

8. 安装Autoware Docker

doc 8-1 | autoware github | Generic x869 Docker
这一篇是官方安装文档,暂时还没有找到对应的第三方文档。
doc 8-2 | | 用 Docker 方式安装 Autoware
这一篇是第三方的安装方法,也是我最早看到的,但是他的方法和官网教程不对应,官网教程是从github上直接clone下来文件,然后就可以运行run.sh的文件了,这一篇是通过docker的工具来pull指定版本的autoware,然后自己做一个run.sh文件。我觉得两个应该都可以行,还是准备先按照官方文档的方法安装,先看看能否找一篇对应的第三方文档,理一下思路。

8.1 Install Autoware docker

没有找到对应的第三方文档,这里我根据doc 8-1最简单的安装方式进行安装。

git clone https://github.com/CPFL/Autoware.git
cd Autoware/docker/generic
sudo sh run.sh
8.2 Operation
dong@cvad:~$ git clone https://github.com/CPFL/Autoware.git
正克隆到 'Autoware'...
remote: Enumerating objects: 97, done.
remote: Counting objects: 100% (97/97), done.
remote: Compressing objects: 100% (76/76), done.
error: RPC failed; curl 56 GnuTLS recv error (-54): Error in the pull function.
fatal: The remote end hung up unexpectedly
fatal: 过早的文件结束符(EOF)
fatal: index-pack failed

貌似有问题

8.3 Install with doc 8-2

与其说安装,不如说是下载并运行相关的 image 文件。

8.3.1 下载 Autoware 的 image
docker pull autoware/autoware:1.7.0-kinetic
8.3.2 创建 Docker image 的启动文件

一般情况下可以直接在命令行中启动 image 文件,但是这里有比较多的参数需要设置,直接在命令行输入不太方便,所以做成 .sh 可执行文件的形式。启动文件的名字可以随便起,例如 run.sh,为了便于管理,创建专门的文件夹存放 run.sh 文件:

mkdir -p ~/Autoware/docker/generic

在此目录下,创建 run.sh 文件,

cd ~/Autoware/docker/generic
sudo touch run.sh

编辑文件,

sudo vi run.sh

复制粘贴,这个vi工具总是不太好用,自己多体会,粘贴内容如下,

#!/bin/sh

XSOCK=/tmp/.X11-unix
XAUTH=/home/$USER/.Xauthority
SHARED_DIR=/home/autoware/.autoware
HOST_DIR=/home/$USER/.autoware

nvidia-docker run \
    -it --rm \
    --volume=$XSOCK:$XSOCK:rw \
    --volume=$XAUTH:$XAUTH:rw \
    --volume=$HOST_DIR:$SHARED_DIR:rw \
    --env="XAUTHORITY=${XAUTH}" \
    --env="DISPLAY=${DISPLAY}" \
    -u autoware \
    --privileged -v /dev/bus/usb:/dev/bus/usb \
    --net=host \
    autoware/autoware:1.7.0-kinetic

保存并退出

#按键Esc
#输入:wq
#回车
8.3.3 运行 run.sh 文件
cd ~/Autoware/docker/generic
sudo sh run.sh

运行之后,命令行提示符变成了 autoware@****,这就说明已经进入了Autoware image 对应的一个 docker container,可以在里面运行 Autoware 了。

8.4 Operation
dong@cvad:~$ docker pull autoware/autoware:1.7.0-kinetic
1.7.0-kinetic: Pulling from autoware/autoware
1be7f2b886e8: Pull complete 
6fbc4a21b806: Pull complete 
c71a6f8e1378: Pull complete 
4be3072e5a37: Pull complete 
06c6d2f59700: Pull complete 
7bdef929a7da: Pull complete 
249339766b13: Pull complete 
f98560d0479d: Pull complete 
0a3a3c0ae06e: Pull complete 
a87fdffb9be1: Pull complete 
074346dc2475: Pull complete 
a1c9cc3aaae5: Pull complete 
53dd8b35819a: Pull complete 
a55a728954e7: Pull complete 
b9c6dc665c2b: Pull complete 
f4f6c76c612d: Pull complete 
43d9626a21f3: Pull complete 
7f6c8a919c87: Pull complete 
9be7b83b7404: Pull complete 
ac2a4435b6c7: Pull complete 
39683139c2e1: Pull complete 
a82b80d788de: Pull complete 
b0923d74b1ea: Pull complete 
dee7db52ddbd: Pull complete 
2fa233b327ca: Pull complete 
1a7f22066a0a: Pull complete 
99c6f1e812a5: Pull complete 
7e444fd620cb: Pull complete 
959bafd75073: Pull complete 
56cba47173c7: Pull complete 
3b24adf522bf: Pull complete 
46c102bad976: Pull complete 
4b2bd1c3046e: Pull complete 
82eacdcc72c1: Pull complete 
Digest: sha256:628b21080aea563c863b262248c3166856b873f845d2c45ab66132f8a384fbd4
Status: Downloaded newer image for autoware/autoware:1.7.0-kinetic

dong@cvad:~/Autoware/docker/generic$ sudo vi run.sh
dong@cvad:~/Autoware/docker/generic$ sudo sh run.sh
[sudo] dong 的密码: 
autoware@cvad:~$ 

成功了,九头蛇万岁!

9. 安装NVIDIA Docker 1

doc 9-1 | nvidia docker github | wiki | Version 1.0 | Installation

doc 9-2 | nvidia docker github | wiki | Version 2.0 | Installation

之前是按照doc 9-2安装的 version 2.0,最后test无法显示显卡信息,出现错误,我目前判断是版本的问题,至少docker之前的安装应该都是正确的,如果version1.0安装还不能解决问题,我就还得从CUDA开始捋了。

9.1 卸载NVIDIA docker 2

首先想到的是nvidia docker 2安装教程中卸载nvidia docker 1的方法,见doc 9-2。

先删除image

dong@cvad:~$ sudo docker image ls
[sudo] dong 的密码: 
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nvidia/cuda         9.0-base            9dcd7cd95db6        3 weeks ago         135MB
nvidia/cuda         latest              3517732c5437        3 weeks ago         2.74GB
hello-world         latest              fce289e99eb9        3 months ago        1.84kB
autoware/autoware   1.7.0-kinetic       4dd12ac386c0        11 months ago       9.28GB

dong@cvad:~$ sudo docker image rm 9dc
Untagged: nvidia/cuda:9.0-base
Untagged: nvidia/cuda@sha256:0afacc402b0eb2333d1075d051e237710483b29cdd51c4e7de5d60be4cb1468f
Deleted: sha256:9dcd7cd95db6b5b336f6992b86cdcd1d33b858f4c19ec3e38dab7daaee6739a1
Deleted: sha256:c922c1742182f81454983d2a3177973cffbc42278f1e47a20be602277cc16c8e
Deleted: sha256:6d1d411584948d9636c9745c2693c97e3c88e5b0aaa2b7d74321b8b5e89e4975
Deleted: sha256:74867443f1f4ac20fab94322c6746da32e5b34fbc53bcbd0b37e0ac598d8edb9
Deleted: sha256:59a6856f439d187f3ce3381d0a6b0816db99cc3d8468bcf8c9d1c39d2071dcff
Deleted: sha256:82997a16a0d57ac7d8b416c0d83f5841193b6a56a7844b486ab6324730867fe0
Deleted: sha256:5c6983f277f26021b5e38501fdf06fa29f7158a93641f3f10aedbdc9869121d0
Deleted: sha256:aa54c2bc12290df2851a94b8834cae75e4627219d2b423d4d3db8b0a497e79a2

dong@cvad:~$ sudo docker image rm 351
Untagged: nvidia/cuda:latest
Untagged: nvidia/cuda@sha256:eba1dc5810e40f60625ee797d618a6bd11be24cb67bc6647a4d36392202bb013
Deleted: sha256:3517732c5437ffd87d7c144e1d62cadef128c07a6ccf29f5eb1877d491b0304d
Deleted: sha256:966a04f6408c5c189cd54530de4d3874f202def3de20fb6f2c7d30a39afe2a53
Deleted: sha256:0d53da6826e47b0378024562532b5046946a3bb361ebd17efabcd67b257b7fd2
Deleted: sha256:6c6dbf9c188adebee58cf5d0d3f246c9c45d38adc5aaebf3f433c848be3dc6e9
Deleted: sha256:efde8f73f882aa3a2babd65103b465c7d48410d6824cd2909552aa21d5067079
Deleted: sha256:678a66a6df0cbb0c989b81d83cc2d30ddf1af0414479be003ee7a40e1f2e9953
Deleted: sha256:e783d8ee44ce099d51cbe699f699a04e43c9af445d85d8576f0172ba92e4e16c
Deleted: sha256:cc7fae10c2d465c5e4b95167987eaa53ae01a13df6894493efc5b28b95c1bba2
Deleted: sha256:99fc3504db138523ca958c0c1887dd5e8b59f8104fbd6fd4eed485c3e25d2446
Deleted: sha256:762d8e1a60542b83df67c13ec0d75517e5104dee84d8aa7fe5401113f89854d9

dong@cvad:~$ sudo docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              fce289e99eb9        3 months ago        1.84kB
autoware/autoware   1.7.0-kinetic       4dd12ac386c0        11 months ago       9.28GB

再按照doc 9-2的方法删除一遍

dong@cvad:~$ sudo docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -f

dong@cvad:~$ sudo apt-get purge nvidia-docker
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
软件包 nvidia-docker 未安装,所以不会被卸载
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 164 个软件包未被升级。

dong@cvad:~$ sudo apt-get purge nvidia-docker2
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
下列软件包是自动安装的并且现在不需要了:
  libnvidia-container-tools libnvidia-container1 nvidia-container-runtime nvidia-container-runtime-hook
使用'sudo apt autoremove'来卸载它(它们)。
下列软件包将被【卸载】:
  nvidia-docker2*
升级了 0 个软件包,新安装了 0 个软件包,要卸载 1 个软件包,有 164 个软件包未被升级。
解压缩后将会空出 18.4 kB 的空间。
您希望继续执行吗? [Y/n] y
(正在读取数据库 ... 系统当前共安装有 302913 个文件和目录。)
正在卸载 nvidia-docker2 (2.0.3+docker18.09.5-3) ...
正在清除 nvidia-docker2 (2.0.3+docker18.09.5-3) 的配置文件 ...
dpkg:警告:卸载 nvidia-docker2 时,目录 /etc/docker 非空,因而不会删除该目录

再确认一遍,把与nvidia-docker相关的内容都删掉,发现已经没有东西了,说明上一步已经删除完成。

dong@cvad:~$ sudo apt-fast --purge remove "*nvidia-docker*"
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
注意,根据Glob '*nvidia-docker*' 选中了 'nvidia-docker2'
注意,根据Glob '*nvidia-docker*' 选中了 'nvidia-docker'
软件包 nvidia-docker2 未安装,所以不会被卸载
软件包 nvidia-docker 未安装,所以不会被卸载
下列软件包是自动安装的并且现在不需要了:
  libnvidia-container-tools libnvidia-container1 nvidia-container-runtime nvidia-container-runtime-hook
使用'sudo apt autoremove'来卸载它(它们)。
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 164 个软件包未被升级。

想删除文件夹,sudo rm -rf /var/lib/nvidia-docker2,发现没有目标文件夹

dong@cvad:~$ cd /
dong@cvad:/$ ls
bin  boot  cdrom  core  dev  etc  home  initrd.img  lib  lib32  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  snap  srv  sys  tmp  usr  var  vmlinuz

dong@cvad:/$ cd ./var
dong@cvad:/var$ ls
backups  cache  crash  cuda-repo-8-0-local  lib  local  lock  log  mail  metrics  opt  run  snap  spool  tmp

dong@cvad:/var$ cd ./lib
dong@cvad:/var/lib$ ls
AccountsService  avahi-autoipd  dictionaries-common  flashplugin-installer  initramfs-tools  locales         nssdb       sgml-base    ubuntu-drivers-common    upower          xfonts
acpi-support     binfmts        dkms                 fwupd                  initscripts      logrotate       os-prober   shim-signed  ubuntu-release-upgrader  urandom         xkb
alsa             bluetooth      doc-base             gconf                  insserv          man-db          pam         snapd        ucf                      ureadahead      xml-core
apparmor         colord         docker               gems                   ispell           misc            plymouth    snmp         udisks2                  usb_modeswitch
app-info         containerd     docker-engine        ghostscript            libreoffice      mlocate         polkit-1    sudo         update-manager           usbutils
apt              dbus           dpkg                 git                    lightdm          NetworkManager  python      systemd      update-notifier          vim
aspell           dhcp           emacsen-common       hp                     lightdm-data     ni              resolvconf  ubiquity     update-rc.d              whoopsie

这样应该是把nvidia-docker2删除干净了吧。

9.2 安装nvidia-docker 1
9.2.1 Prerequisites

安装前检查,主要是检查电脑中Linux内核、Docker、显卡GPU、显卡驱动的软硬件配置达到要求:

  1. GNU/Linux x86_64 with kernel version > 3.10
  2. Docker >= 1.9 (official docker-engine, docker-ce or docker-ee only)
  3. NVIDIA GPU with Architecture > Fermi (2.1)
  4. NVIDIA drivers >= 340.29 with binary nvidia-modprobe
9.2.2 Install the repository

安装repository,这是安装docker所必须的,相关逻辑关系有必要搞清楚。
这里就要结合doc 7-3,来阅读doc 9-1 了。因为官方文档有一大堆你不需要做和不需要看的内容,通过第三方的教程把官方教程精简一下。

# Add the package repositories
# 添加源

curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
  sudo apt-key add -

distribution=$(. /etc/os-release;echo $ID$VERSION_ID)

curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \
  sudo tee /etc/apt/sources.list.d/nvidia-docker.list

sudo apt-get update
9.2.3 Install the NVIDIA Docker

这个直接安装,比较简单。
cnblogs | [笔记] Ubuntu 18.04安装Docker CE及nvidia-docker2流程
这一篇对几个步骤的内容做了注释

# Install nvidia-docker2 and reload the Docker daemon configuration
sudo apt-get install nvidia-docker
# 重启 Docker daemon,这一步官方version1.0是没有的,我觉得加上也无大碍
sudo pkill -SIGHUP dockerd
9.2.4 Operation

所以说,安装了1.0,并没有解决问题,我在想可能是cuda的问题,宿主机上我安装的是cuda 8.0,但是在nvidia-docker中我安装的却是 cuda lasted,搞不好就是10.0了。

X. 补充

X.1 设置用户权限

| isl_qdu | Docker简介
用上述方案安装好 docker 之后,每次运行 docker 都需要 sudo 权限,比较麻烦,可以再进一步设置一下免 sudo 运行

sudo groupadd docker  # 创建 docker 用户组
sudo usermod -aG docker $USER    # 将当前用户添加进去

[end]

你可能感兴趣的:(install Autoware Docker 1020Ti)