Docker的安装
参照官方文档
Ubuntu下的安装: https://docs.docker.com/engine/install/ubuntu/
Docker 镜像/容器的创建与删除
sudo docker run -t -i ubuntu:14.04 /bin/bash
Docker service的开始/停止/重启与状态查看等
systemctl start docker
systemctl stop docker
systemctl restart docker
systemctl status docker
docker info
Docekr daemon配置
Docker 容器创建与保存成镜像
Docker 镜像保存与加载,容器快照与导入
Docker 内GUI可视化
Docker 内使用GPU
Docker官网与镜像
- docker 相关文档: https://docs.docker.com
- nvidia/cuda镜像:https://hub.docker.com/r/nvidia/cuda
- nvidia/cuda镜像:https://gitlab.com/nvidia/container-images/cuda/blob/master/doc/supported-tags.md
Dockerfile 创建镜像
当一个host中镜像和容器较多,需要重置时可选择删除其中部分或全部的镜像和容器。那么你就需要下面的操作了。
1、删除容器
1)首先需要停止所有的容器
docker stop $(docker ps -a -q)
2)删除所有的容器(只删除单个时把后面的变量改为image id即可)
docker rm $(docker ps -a -q)
2、删除镜像
1)查看host中的镜像
docker images
2)删除指定id的镜像
docker rmi
想要删除untagged images,也就是那些id为的image的话可以用
docker rmi $(docker images | grep “^” | awk “{print $3}”)
3)删除全部的images
docker rmi $(docker images -q)
3、当要删除的iamges和其他的镜像有关联而无法删除时
可通过 -f 参数强制删除
docker rmi -f $(docker images -q)
运行docker
sudo docker run -it xilinx/vitis-ai-gpu:latest /bin/bash
启动docker
交互 -it
本地与docker中关联 使用 -v host_path : docker_path
指定网络 --network=host
-w, --workdir string 指定工作目录
–device /dev/dri/renderD128
render_driver="$(find /dev/dri -name renderD\*)"
for i in ${render_driver} ;
do
docker_devices+="--device=$i "
done
–shm-size=“15g” 设置共享内存
–runtime=nvidia
-v /dev/shm:/dev/shm
sudo docker run --gpus all -v /data:/data -v /dev/shm:/dev/shm -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY -e GDK_SCALE -e GDK_DPI_SCALE -w /data -it --runtime=nvidia --network host nvidia/cuda_cudnn:10.2-7.6.5-devel-ubuntu18.04-anaconda3 /bin/bash
查询共享内存
在docker 内使用df命令, shm对应的即为共享内存
修改docker 系统存储位置
gedit /lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd --graph="/data/docker"
sudo groupadd docker # 1.创建docker组:
sudo gpasswd -a ${USER} docker #2.将当前用户加入docker组:
sudo service docker restart #3.重启服务:
newgrp - docker #4.刷新docker成员: