type
status
date
slug
summary
tags
category
icon
password

新容器创建过程

教程+基本操作:

Docker 教程
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。 Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版),我们用社区版就可以了。 本教程适合运维工程师及后端开发人员,通过本教程你可以一步一步了解 Docker 的使用。 在阅读本教程前,你需要掌握 Linux 的常用命令。你可以通过本站的 Linux 教程 来学习相关命令。 Docker 是一个用于开发,交付和运行应用程序的开放平台。Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件。借助 Docker,您可以与管理应用程序相同的方式来管理基础架构。通过利用 Docker 的方法来快速交付,测试和部署代码,您可以大大减少编写代码和在生产环境中运行代码之间的延迟。 Docker 允许开发人员使用您提供的应用程序或服务的本地容器在标准化环境中工作,从而简化了开发的生命周期。 容器非常适合持续集成和持续交付(CI / CD)工作流程,请考虑以下示例方案: 您的开发人员在本地编写代码,并使用 Docker 容器与同事共享他们的工作。 他们使用 Docker 将其应用程序推送到测试环境中,并执行自动或手动测试。 当开发人员发现错误时,他们可以在开发环境中对其进行修复,然后将其重新部署到测试环境中,以进行测试和验证。 测试完成后,将修补程序推送给生产环境,就像将更新的镜像推送到生产环境一样简单。 Docker 是基于容器的平台,允许高度可移植的工作负载。Docker 容器可以在开发人员的本机上,数据中心的物理或虚拟机上,云服务上或混合环境中运行。 Docker 的可移植性和轻量级的特性,还可以使您轻松地完成动态管理的工作负担,并根据业务需求指示,实时扩展或拆除应用程序和服务。 Docker 轻巧快速。它为基于虚拟机管理程序的虚拟机提供了可行、经济、高效的替代方案,因此您可以利用更多的计算能力来实现业务目标。Docker 非常适合于高密度环境以及中小型部署,而您可以用更少的资源做更多的事情。 Docker 官网: https://www.docker.com Github Docker 源码: https://github.com/docker/docker-ce
Docker 教程
docker run -d -p 80:80 docker/getting-started
 

在容器中开发:

部署pytorch+cuda容器:
notion image
*已经在前面安装完成
 
 
 
检查安装完成:
nvidia-smi
nvcc -V
 
在容器中开发教程:
 
 

工具:

远程运行镜像:
 
 
 

常见问题:

  • 新环境记得每次:
    • apt update && apt upgrade
 
  • --runtime 参数问题:
    • docker run -it --rm --runtime=nvidia
      修改为:
      --runtime=runc
 
  • 新的镜像生成的容器运行+加载gpu:
    • sudo docker run -it --gpus all [image name]
       
       
  • 本地计算机上的cv2 依赖项,但可能会在 Docker 容器中丢失:
    • apt install ffmpeg libsm6 libxext6 -y
       
       
 
  • 图片显示:
    • run docker的时候加入以下参数:
      • -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY
    • 测试:
      • apt update && apt install -y xterm
        xterm
       
  • 图片只有code没有图片弹出:
    • apt-get install imagemagick
    •  
       
  • 图片保存:
    • #plt.show() plt.savefig("mygraph.png")
    •  
       
  • mmcv-full 和 pytorch版本问题:
    • 更新完pytorch后再重新安装mmcv-full,解决问题
    •  
 
  • 其他人安装过程:
还没来得及添加文章内容呢~
Useful CodesWSL2 Config
Tianqi
Tianqi
I'm currently working in a lab focused on computer vision projects powered by machine learning.
Announcement
type
status
date
slug
summary
tags
category
icon
password
🎉Welcome to my blog🎉
Sometimes it is necessary to refresh the page twice to get the latest data because the data in the database is not updated in time. This operation can be performed on each page.
-- Tianqi ---