ubuntu+docker的安装与部署
nvidia驱动安装虚拟机设置
- no device were found:bios启用above 4G解码——禁用CSM——efi模式
- NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver :bios关闭secure boot
docker安装
清华源docker安装推荐
linux在线离线安装docker rhel7
nvidia-docker 知乎
docker操作
docker镜像的导入,导出
-
镜像导出
保存配置好环境的docker:docker commit a404c6c174a2 mymysql:v1 docker save -o ./ubuntu18.tar ubuntu:18.04 docker save ubuntu:18.04 | gzip > ubuntu18.tar.gz 备注:docker save -o <保存路径> <镜像名称:标签>
-
镜像导入
docker load < ./ubuntu18.tar (注意sftp上传image选用二进制格式) docker images # 查看安裝的鏡像 nvidia-docker run --gpus "device=0" --name xxx --shm-size 8G -it -v /home:/mnt --privileged=false ubuntu:18.04 /bin/bash # --name 修改容器名 可选:-u ${uid} 进入指定用户镜像,linux不能显示nvidia时候,在--name前面加上 --gpus all docker ps -a # 查看id docker ps # 查看運行的容器 docker exec -it 镜像id bash docker start 镜像id # 如果沒有啓動可以用這個
-
docker其他操作
docker stop 镜像id # 停止 docker rename 原容器名称 新容器名称 # 重命名 docker rm 容器id # 容器 docker rmi 镜像id # 镜像 nvidia-docker run --name xxx -v $PWD:/paddle --network=host -it hub.baidubce.com/paddlepaddle/paddle:latest-gpu-cuda9.0-cudnn7-dev /bin/bash # 网上拉取镜像 docker run --device /dev/nvidia0:/dev/nvidia0 --name kaldi -it -v /home/YANG:/mnt pykaldi/pykaldi:latest /bin/bash # --device /dev/nvidia0:/dev/nvidia0 关联显卡 关联硬盘 /home/xs/YANG 为宿主机路径 /media为docker的挂载路径
4.flask环境部署
docker run --name xxx -it -p 8080:8080 -v /home:/mnt --privileged=true ubuntu:18.04 /bin/bash # -p 你想传参的port地址
注意:flask里ip地址需要设置host=0.0.0.0
5.异常重启
#!/bin/bash
while [ 1 ];do
echo "开始检查python脚本是否运行..."
processID=$(ps -ef | grep main.py | grep -v "grep" | awk "{print $2}")
echo $processID
# 判断$processID为空,此处意思为如果$processID为空,那么重启
if [ -z "$processID" ]
then
# 启动python脚本
echo "python脚本未运行, 重新启动中..."
nohup python3 main.py &
echo "python脚本重启成功..."
else
echo "python脚本正在运行中..."
fi
sleep 10
done