Windows docker安装:
Cmd: wsl --install
docker命令:
同步镜像(下载镜像)
docker pull <package_name>:<version>
eg: sudo docker pull ultralytics/yolov5:latest,windows下不要studo
查看已有镜像
docker images
创建并进入容器 ,
docker run --name yolo --ipc=host -it -v /D/work/python/docker/coco:/usr/src/coco ultralytics/yolov5:latest
启动容器并映射服务端口:
docker run --name yolo -p 8082:8082 --ipc=host -it -v /D/work/python/docker/coco:/usr/src/coco ultralytics/yolov5:latest
启动容器并映射端口,挂载本地目录和自动重启python文件
docker run --name yolove-2 --restart=always -p 8083:8083 --ipc=host -it -v /D/work/python/docker/yolov5:/usr/src/coco ultralytics/yolov5:v6.2 /bin/bash -C 'cd ../coco/ && python test222.py'
--name yolo :容器名字
D/work/python/docker/coco:指定容器位置,可以把项目放进去目录
-v 挂载目录的意思, :前的是本机本地路径, :后的是镜像内挂载的路径(项目端口),本地目录路径必须是绝对路径
-p 是端口映射,:前的是本机端口, :后的是容器端口
-d后台运行
-it: 交互模式
--restart=always 重启
-C: 自动启动服务
插件容器中文件
cat <文件名>
eg:
cat mytest.py
查看运行的容器
docker ps -a
停止运行的容器
docker stop
重启已停止容器
docker start CONTAINER_ID/name
进入已存在容器
docker exec -it 容器ID /bin/bash
Eg:
docker exec -it 52b5acad360b /bin/bash
更改容器为自启动:
# docker update --restart=always 容器名或容器ID
$ docker update --restart=always <CONTAINER ID>
# 例如将 redis 设为自启动
$ docker update --restart=always redis
离线镜像——将镜像打包成本地文件(导出到本地)
1)docker commit <容器ID> <镜像名称> -----------------容器打包生成本地镜像 ,镜像名称自定义
Eg:
docker commit 3ab702ee5834 tdkj-yolov5
2)Docker save -o 保存本地路径 镜像名字
Eg:
docker save -o /root/mhn mhn
docker save -o D:/root/yolov5.tar mhn
或
docker save -o /root/mhn/yolov5.tar ultralytics/yolov5
3)导入本地保存的新镜像
docker load -i D:/op/docker/yolo.tar
4)查看镜像
docker images
5)启动镜像:
docker run --name localtest -p 8084:8084 tdkj-yolov5:latest
6)如已存在容器需重新打本地镜像启动
利用dockefile打镜像
dockerfile文件内容:
FROM tdkj/yolov5:latest
WORKDIR /usr/src/app
EXPOSE 8083
CMD python detection.py
之后需要
容器中创建目录
# demo 容器中创立/code目录
docker exec demo mkdir /code
查看目录下文件
Ls
ls -alh ---------查看当前目录详细信息
docker 查看docker信息
docker inspect <容器ID>
docker内文件重命名
mv template templates
docker镜像中文件复制到本地
docker cp <容器ID>:<容器中文件路径> 本地路径
Eg:
docker cp 52b5acad360b:/usr/src/app/app.py D:/python
Eg2:把本地的映射目录文件复制到容器
docker cp C:/yolov5/coco/person.py f3b259c0ec7e:/usr/src/app/
在docker环境中当前容器中复制文件到另一个文件
cp <容器中文件路径> <容器中目标文件路径> -------------拷贝文件
Eg:
cp -rf ./weights ../app 拷贝目录 -----------copy目录
./标识当前目录,../上一级目录
eg:root@3ab702ee5834:/usr/src/coco# cp -rf ./weights ../app
docker镜像中删除文件
rm <文件名字>
eg:
rm mytest.py 进入容器虚拟环境中
本地文件复制到docker镜像中
docker cp <本地文件绝对路径> <容器ID>:<容器路径>
eg:
docker cp D:/python/master.py 52b5acad360b:/usr/src/app/ 容器路径记得加斜杠,如果容器已存在相同的则覆盖相同文件
退出镜像,回到根目录
Exit
查看docker的存储目录
docker inspect yolov5
Vim demo.py
键盘:i标识插入
退出保存:esc :w
退出vim:exc :q