当前位置: 首页 > news >正文

win11,vscode上用docker环境跑项目

1.首先用dockerfile创建docker镜像

以下是dockerfile文件的内容:

FROM pytorch/pytorch:1.11.0-cuda11.3-cudnn8-devel
LABEL Service="SparseInstanceActivation"ENV TZ=Europe/Moscow
ENV DETECTRON_TAG=v0.6
ARG DEBIAN_FRONTEND=noninteractiveRUN apt-key del 7fa2af80 && \apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/3bf863cc.pub && \apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/7fa2af80.pub
RUN apt update && apt install vim git g++ python3-tk ffmpeg libsm6 libxext6 -yRUN python3 -m pip install --no-cache-dir --upgrade pip && \python3 -m pip install --no-cache-dir opencv-python opencv-contrib-python scipy cython
RUN python3 -m pip install --no-cache-dir pycocotools>=2.0.2WORKDIR /workspace
RUN git clone https://github.com/facebookresearch/detectron2.git && \cd detectron2/ && git checkout tags/${DETECTRON_TAG} && python3 setup.py build developRUN python3 -m pip uninstall -y iopath fvcore portalocker yacs && \python3 -m pip install --no-cache-dir iopath fvcore portalocker yacs timm pyyaml==6.0.1 shapelyRUN git clone https://github.com/hustvl/SparseInst
WORKDIR /workspace/SparseInst
RUN ln -s /usr/bin/python3 /usr/bin/pythonENTRYPOINT bash

在该dockerfile文件的目录下打开终端

然后在终端里执行(要挂梯子)

docker build -t my_custom_image .

经过一段时间的下载之后就能看到镜像

2.打开vscode安装docker和dev Containers插件

3.然后将刚刚的docker镜像运行为容器,有两种方式:

1.

2.使用指令,将docker镜像运行为容器。可以顺带把docker容器里的文件对应到本机目录下的文件,方便之后调试代码(推荐方式)

docker run -it  --gpus all --name gpu_test -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all  -v I:\Code\PythonCode\GithubPrioject\SparseInst-main:/workspace --name SparseInst   my_custom_image:latest  bash#docker run -it --gpus all --name gpu_test -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all  -v [本地目录]:[容器目录]  [镜像名字]

成功运行起来之后会看到有个绿色的三角形在自己创建的容器名字旁边:

4.用vscode在运行docker容器里的代码

按图点击,会出现弹窗

然后就能愉快跑项目了

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • graalvm jenkins maven 配置
  • 探索Ansible自动化运维:提高效率的关键工具
  • 【C++】手动实现String类的封装(分文件编译)
  • 程序员秋招经典面试题:简单聊聊DNS?
  • 什么是AOP(面向切面编程)
  • 一 lua学习笔记:概述
  • springboot酒店管理系统
  • C++类和对象2
  • 【单片机原理及应用】实验:数字秒表显示器
  • 24年7月-8月工作笔记整理(前端)
  • 惠中科技光伏清洗剂:科技创新引领绿色清洁新风尚
  • <数据集>车辆识别数据集<目标检测>
  • 详细阐述Android开发中常见的报错类型
  • .NetCore发布到IIS
  • MySQL高可用性实践指南
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • android高仿小视频、应用锁、3种存储库、QQ小红点动画、仿支付宝图表等源码...
  • css系列之关于字体的事
  • es6(二):字符串的扩展
  • Java的Interrupt与线程中断
  • leetcode-27. Remove Element
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • mysql中InnoDB引擎中页的概念
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • python 学习笔记 - Queue Pipes,进程间通讯
  • Vue.js源码(2):初探List Rendering
  • XForms - 更强大的Form
  • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 小程序上传图片到七牛云(支持多张上传,预览,删除)
  • 一道闭包题引发的思考
  • Redis4.x新特性 -- 萌萌的MEMORY DOCTOR
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • #vue3 实现前端下载excel文件模板功能
  • %check_box% in rails :coditions={:has_many , :through}
  • (c语言)strcpy函数用法
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (vue)el-checkbox 实现展示区分 label 和 value(展示值与选中获取值需不同)
  • (九)c52学习之旅-定时器
  • (十)T检验-第一部分
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (顺序)容器的好伴侣 --- 容器适配器
  • **python多态
  • ..thread“main“ com.fasterxml.jackson.databind.JsonMappingException: Jackson version is too old 2.3.1
  • .env.development、.env.production、.env.staging
  • .NET Core IdentityServer4实战-开篇介绍与规划
  • .NET gRPC 和RESTful简单对比
  • .NET中的Event与Delegates,从Publisher到Subscriber的衔接!
  • @GlobalLock注解作用与原理解析
  • []利用定点式具实现:文件读取,完成不同进制之间的
  • [3300万人的聊天室] 作为产品的上游公司该如何?
  • [Android]竖直滑动选择器WheelView的实现
  • [Angular 基础] - 表单:响应式表单
  • [Angular] 笔记 7:模块