修改docker文件
- 原docekerfile中ADD https://ultralytics.com/assets/Arial.ttf https://ultralytics.com/assets/Arial.Unicode.ttf /root/.config/Ultralytics/下载很慢,可以在外部下载好,放入docker文件夹中,再将源代码改为ADD Arial.ttf Arial.Unicode.ttf /root/.config/Ultralytics/(其它下载内容类似修改包括yolo8.pt,)
- 可在RUN pip install --no-cache ultralytics albumentations comet gsutil notebook \ coremltools onnx onnx-simplifier onnxruntime openvino-dev>=2022.3加上镜像源-i https://pypi.tuna.tsinghua.edu.cn/simple
Docker 命令
- sudo docker build -f ./ultralytics-main/docker/Dockerfile -t yolov8:v0 .
- 通过docker images查看容器
- 通过docker ps -a查看容器ID,例如:f4f9d52e741d
- docker run -t -i -v /opt:/soft 容器id /bin/bash
- 使用-v参数来挂载主机下的一个目录,把本地/opt文件挂载在这个容器上做共享文件夹,这样启动后容器会自动在根目录下创建soft文件夹,同时也就要求了soft必须写绝对路径
- 进入镜像docker exec -it 容器ID /bin/bash
- 使用GPU sudo docker run -it --gpus all 939ef9bb8e81 /bin/bash
进入docker后
- 测试yolo predict model=yolov8s.pt source="https://ultralytics.com/images/bus.jpg" 若无yolo则先pip install ultralytics
镜像导出与维护
导出前先将容器提交成镜像 sudo docker commit -m "add yolo env" <容器ID> yolo8:v1
-
sudo docker save <镜像ID> -o /home/yolov8_v0.tar
-
停止运行容器 sudo docker stop <容器ID>
-
删除容器 sudo docker rm <容器ID前三位>
-
删除镜像 sudo docker rmi <镜像ID前三位>
-
导入镜像 sudo docker load < XXX.tar
-
为镜像打上标签,sudo docker tag aba01f181a4a webconsole:latest
容器导出
- sudo docker export -o xxx.tar <容器id>