目录

安装与卸载

安装

卸载

  • apt
    apt-get remove --auto-remove docker
    
  • yum
    yum remove docker docker-common docker-selinux docker-engine
    

指定显卡(NVIDIA_VISIBLE_DEVICES)

#指定单张GPU卡
docker run --runtime=nvidia -d -e NVIDIA_VISIBLE_DEVICES=0 gouchicao/yolov5:train
#指定多张GPU卡,多个逗号隔开。
docker run --runtime=nvidia -d -e NVIDIA_VISIBLE_DEVICES=0,1 gouchicao/yolov5:train
#NVIDIA_VISIBLE_DEVICES默认值是all
docker run --runtime=nvidia -d gouchicao/yolov5:train

重启策略

方法

  1. 启动容器时通过参数指定
    #如果容器停止总是重新启动。如果手动停止,则仅在Docker守护程序重启或手动重启容器本身时才重启。 
    docker run -d --restart=always --name pypiserver -p 8080:8080 \
     -v /data/pypi-packages/:/data/packages
    
  2. 容器启动后,通过命令来更新。
    docker run -d --name pypiserver -p 8080:8080 \
     -v /data/pypi-packages/:/data/packages
    docker update --restart=always pypiserver
    

验证

#重启Docker Daemon
systemctl restart docker
#查看运行的服务是否存在
docker ps | grep pypiserver

镜像

删除 TAG 为 none 的所有镜像

docker rmi --force $(docker images -q --filter "dangling=true")

重新构建镜像(不使用缓存)

docker build --no-cache -t name:tag . 

存储镜像到文件

docker save -o name.tar name:tag

从文件加载镜像

docker load -i name.tar

容器

退出容器后自动删除

docker run --rm busybox:latest

删除状态为 Exited 的容器

docker rm -f $(docker ps -qa --filter status=exited)

删除状态为 Created 的容器

docker ps -qa --filter status=created | xargs docker rm

通过匹配有规则的名称删除容器

docker rm -f $(docker ps -a | grep face-service- | awk '{print $1}')

查看元数据

查看命令和参数

docker inspect jrottenberg/ffmpeg:4.3-alpine --format=""
[ffmpeg][--help]

FAQ

  • docker: Error response from daemon: endpoint with name tuguan-database-pc already exists in network bridge.
    #查看
    docker network inspect bridge | grep tuguan-database-pc
    #断开连接
    docker network disconnect --force bridge tuguan-database-pc
    

参考资料