链接:docker-ce和Nvidia-docker包免费下载
1、docker-ce安装
解压命令rar x Docker-CE.rar注意是x不能是其他!
解压后获得文件夹Docker-CE,里面是deb包,用命令
sudo dpkg -i *.deb
进入附加包文件夹,一样的命令解压:
cd 附加包
sudo dpkg -i *.deb
解压后还要更新,命令为
sudo apt-get -f install
不更新装Nvidia-docker时候会报错。
2、安装NVIDIA-docker
安装包直接拷贝进服务器,运行解压命令
sudo dpkg -i *.deb
安装好要重启下docker命令如下:
sudo systemctl daemon-reload
sudo systemctl restart docker
3、Docker开启(镜像中已经设置开机自启动)
拉好镜像放到目录下:
1、解压获取镜像:
sudo docker load < rstdetect_v1.9.3.autorun.tar
2、安装:
sudo docker run --shm-size=16G --runtime=nvidia -itd -p 19008:8080 -p 16379:16379 rstdetect:v1.9.3.autorun
如果要对端口进行修改,加-p修改第一个8080
如下图,把端口改为19008
说明:itd是后台说明。已经设置自启动,并把RstDetect放到容器里面,否则还要映射-v
-v就是指路径映射的,宿主机的路径映射到docker里的路径,如果没有路径映射,你进入docker之后,就看不到宿主机上的镜像了
如果要映射位置加 -v /mnt:/mnt
删除旧的镜像环境命令
sudo docker image list
查询
要删除1.9.2的命令
sudo docker rmi c7
用ID删除
3、设置开机自启动
编辑命令
sudo gedit /etc/rc.local
新增一行sudo docker start 容器id
注意如果是没有界面的命令行方式操作用
sudo vi /etc/rc.local
编辑好后还要放开权限
sudo chmod 755 /etc/rc.local
4、关闭内核更新
方法一、基于图形桌面来配置
1、打开系统设置(system setting),在主界面找齿轮一样的图标,有的版本安装完之后在任务栏上有,没有的话点右上角工具条上的齿轮,里面有。如下图所示。
2、进去后打开“Software & Updates(软件和更新)”,如下所示。
3、在界面上的“Update(更新)”选项卡中,如果要 开启 自动更新按如下界面进行设置。
4、如果要 关闭 自动更新按如下界面进行设置。
5、中间如果弹出验证框,输入登陆密码就可以了。
6、禁止更新Ubuntu系统内核,上图中“有新版本时通知我”选“从不”。
方法二、基于命令行修改配置文件的方法
1、打开终端,修改配置文件1。输入:
sudo gedit /etc/apt/apt.conf.d/10periodic
如果要禁止自动更新配置文件设为如下:
如果要打开自动更新配置文件设为如下:
保存退出。
2、修改配置文件2,输入:
sudo gedit /etc/apt/apt.conf.d/20auto-upgrades
如果要禁止自动更新配置文件设为如下:
如果要打开自动更新配置文件设为如下:
保存退出。
3、两个文件都要修改,直接修改配置文件可能需要重启。
输入:reboot
最后
无论是自动更新还是手工更新,一般情况下不建议安装“提前释放出的更新”,参考如下,这种更新一般非常不稳定,仅供试验之用。
5、密钥生成
1、查询服务器的uuid
sudo dmidecode -t 1
若服务器没有uuid,则我们采用mac地址加密(这个要注意网口选择固定),用mac地址加密的时候docker在run的时候要加入mac地址信息
sudo docker run --shm-size=16G --runtime=nvidia -itd -p 19008:8080 -p 16379:16379 --mac-address 00:01:29:9d:8c:a4 rstdetect:v1.9.3.autorun
uuid获取后用我们的加密软件转化为密钥,通过postman或者我们自己开发的labelImg进行密钥上传,docker方可正常使用。
6、番外
1、显卡丢失
如果没关闭内核更新,重启服务器很容易就显卡丢失,这里我们只对使用英伟达的显卡情况进行讨论:这时候输入nvidia-smi是没有反应的。
显卡下载连接:https://www.nvidia.com/Download/index.aspx
以T4卡为例,如下:
图形化界面的显卡,比较容易丢失,安装起来也比较复杂。
先安装一些 NVIDIA 显卡依赖的软件,在终端依次执行如下命令:
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install build-essential libc6:i386
Ubuntu 系统默认安装好是使用的一个开源的驱动:nouveau,我们要安装官方的驱动需要先禁用这个开源驱动,方法如下,依次执行:
sudo bash -c "echo blacklist nouveau > /etc/modprobe.d/blacklist-nvidia-nouveau.conf"
sudo bash -c "echo options nouveau modeset=0 >> /etc/modprobe.d/blacklist-nvidia-nouveau.conf"
执行完上面两条指令后,我们使用如下命令看看是否成功禁用了开源驱动:
cat /etc/modprobe.d/blacklist-nvidia-nouveau.conf
如果和下面一样,表示成功了。
cat /etc/modprobe.d/blacklist-nvidia-nouveau.conf
blacklist nouveau
options nouveau modeset=0
这个时候我们需要先重启一下系统,重启吧。
重启成功后打开终端,输入如下命令:
sudo telinit 3
然后按快捷键:CTRL+ALT+F1 进入字符界面,输入用户名和密码,然后登录系统,进入我们保存下载 NVIDIA 驱动的目录,默认是:Downloads/ 目录,cd Downloads/,然后执行:
sudo bash NVIDIA-Linux-x86_64-418.43.bin
注意:NVIDIA-Linux-x86_64-418.43.bin 要根据你下载的驱动文件的名字相应改动。
安装过程中都点同意即可,如果你遇到下面的提示,安装下面我的输入输入后回车继续安装:
The distribution-provided pre-install script failed! Are you sure you want to continue? -> CONTINUE INSTALLATION Would you like to run the nvidia-xconfig utility? -> YES
安装完成后重启系统就可以点击软件列表中的 NVIDIA 的配置软件配置显卡驱动了,如果你遇到如下报错,请依次在终端输入如下命令解决:
报错:WARNING: Unable to find suitable destination to install 32-bit compatibility libraries
解决办法:
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install libc6:i386
2、22端口未开启(ssh常用)
Linux服务器开启22端口
输入netstat -ntlp|grep 22检查端口状态
打开SSH服务,开启22端口,执行以下命令;
sudo apt-get install openssh-server
方法一
sudo /etc/init.d/ssh start
方法二
sudo apt-get install ufw
sudo ufw enable
#ufw已经安装则不需要以上两行
sudo ufw allow 22
3、映射了启动命令不在默认的workspace里面,自启动后需关闭重新开启
关闭命令
pkill -9 uwsgi
pkill -9 nginx
然后到路径下启动即可
./StartDetect
4、查看密钥
进入容器
ls /mnt/secretkey
如果有东西
vi /mnt/secretkey
可以查看里面的密钥或者更改!