前言

学校的算力平台更换为了寒武纪平台,相较于以前简单的通过 Linux 用户隔离,使用门槛有所提升。但从整体来看,这样拥有更好的隔离性,在 docker 中即便搞崩了也可以重新来过,可以避免因他人的误操作而导致自己的东西丢失。

安装Docker

Docker 官网 下载 Docker 桌面版 ,安装过程均默认即可。

安装完成后启动 Docker Desktop ,修改 daemon.json 配置(在 C:\Users\你的账户名\.docker\ 目录下也可以找到该配置文件) :

将以下内容添加到其中(注意在上一个中括号结束后添加一个 , ):

  "insecure-registries": [
"docker-user.cambricon.com:30080"
],
"registry-mirrors": [
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn"
]

其中 insecure-registries 配置为平台上传镜像时所需;registry-mirrors 为国内 Docker 镜像源,用来提升镜像下载速度。

下载镜像

在 DockerHub 中找到所需的镜像,复制右侧的命令到终端执行。

pytorch 镜像的地址为 Docker: pytorch/pytorch ,例如本文所下载的为 1.4-cuda10.1-cudnn7-devel 版本。其中 devel 和 runtime 的区别可参考 【docker-cuda】——base,runtime,devel的区别 ,按需下载。

下载完成后可在 Docker Desktop 的 Images 中看到,此时可通过命令启动该镜像(注意替换自己的镜像名称):

docker run -it pytorch/pytorch:1.4-cuda10.1-cudnn7-devel /bin/bash

其中,/bin/bash 命令可以在容器启动后进入 Linux 系统的 shell 中,用来操作 Linux 系统。

同时,执行命令后在 Containers 中看到一个新的容器(通俗的说,容器是可操作的镜像):

容器使用

如果想从 Docker Desktop 中启动容器的话,可以点击对应的启动按钮,当容器状态变成运行中后,再点击容器名称位置,再点击终端,就可以操作容器了。同样的,输入 /bin/bash 进入 shell 。

此时即可对容器进行其它操作 。

进入到 Linux 系统后可通过此命令修改 pip 源:

pip config set global.index-url https://mirrors.huaweicloud.com/repository/pypi/simple

如需使用其它工具,例如 vim 等,可使用 apt 进行安装:

apt-get update
apt-get install -y vim

查看包列表:

pip list

将容器配置为自己所需要的环境后,通过以下命令将其打包为一个新的镜像:

docker commit -m="描述信息" -a="作者" 容器id 目标镜像名:[TAG]

打包成功后可在 Images 中看到,例如我之前打包的 pccnn:1.0 。

上传镜像

首先需要修改电脑 hosts 文件(该文件在 C:\Windows\System32\drivers\etc 目录下 ),在末尾添加以下内容:

183.175.12.11 docker-user.cambricon.com

修改好 hosts 后,使用终端进行登录,在终端中执行以下命令:

docker login docker-user.cambricon.com:30080 -u 你的邮箱 -p 你的密码

将已经打包好的镜像添加一个标签( project 要修改为你所在的项目),此处以 pccnn:1.0 为例:

docker tag pccnn:1.0 docker-user.cambricon.com:30080/project/pccnn:1.0

之后将 pccnn:1.0 镜像 push 到平台:

docker push docker-user.cambricon.com:30080/project/pccnn:1.0

等待 push 完成后就可以在平台中看到。要注意的是,只有为其设置 适用功能 后才可以在对应功能中使用。

之后就可以在平台使用此镜像了。

注意

本文中有关于平台私有仓库的相关配置均来源于学校平台使用文档,切勿照搬。如遇到问题请咨询平台管理员。

参考

【docker-cuda】——base,runtime,devel的区别

利用 Docker 配置 Pytorch 镜像流程

Docker怎样提交镜像(把容器打成镜像)

人工智能算力平台用户文档

寒武纪平台上传 Docker 镜像的更多相关文章

  1. 上传Docker镜像到阿里云

      1.配置阿里云的镜像加速器:https://cr.console.aliyun.com/#/accelerator 2.命令行登录到阿里云的doker仓库,--username为阿里云的用户名 d ...

  2. 使用jib上传docker镜像

    Jib 无需Docker守护程序即可为Java应用程序构建优化的Docker和OCI映像-无需深入了解Docker最佳实践.它可以作为Maven和Gradle的插件以及Java库使用. 我使用的是Ma ...

  3. SpringBoot中使用Maven插件,上传docker镜像

    开启docker远程端口 我上一篇里面写了,这里暴露的路径: 18.16.202.95:2375 简单构建 配置pom.xml文件 在properties中增加一行指定远程主机的位置 <prop ...

  4. 上传docker镜像到阿里云镜像源

    阿里云docker镜像配置 阿里云用户名可以使用淘宝系的,或者新注册都行. a. 配置阿里云的镜像加速器:加速器 然后在线上创建`镜像仓库`,需要设置`命名空间`和`仓库名称`,然后接着操作下面的步骤 ...

  5. docker(10)上传本地镜像到镜像仓库

    前言 之前通过docker搭建过jenkins+python3环境,如果想要在不同的机器上搭建一样的环境,就可以将之前搭建的镜像上传到镜像仓库,这样方便在不同的机器上快速搭建同一套环境. 如果公开的话 ...

  6. (九)VMware Harbor 项目管理-上传/下载镜像

    VMware Harbor项目管理 Harbor中的项目包含应用程序的所有存储库. Harbor有两类项目: 公共:所有用户都拥有公共项目的读取权限,您可以方便地以这种方式与其他人共享一些存储库. 私 ...

  7. VMware SphereESXi上传系统镜像

    VMware SphereESXi上传系统镜像 打开右侧[摘要]选项卡 在[资源]中选择存储器中的存储,右键[浏览数据库存储] 选择工具栏[创建文件夹]图标,命名后保存 这样随后找到存储设备,浏览刚才 ...

  8. WebService支持多平台上传文件的实现

    WebService支持多平台上传文件的实现   要使用网站上传文件,在ASP.NET的范畴,我基本上能想到的有两类,一类是通过HTTP POST请求获得文件信息,另外一类是通过WebService或 ...

  9. 本地docker镜像上传Docker Hub,并且在腾讯云上pull该镜像,最后运行成功。

    1:在docker hub 上注册一个账号(本人直接能注册,有的说不能),然后创建自己的仓库. 2:登录docker hub ( longdbdocker --hub账号,longdb --仓库名称) ...

  10. mac上搭建docker镜像私服

    1.创建私服容器 docker run -d -e SETTINGS_FLAVOR=dev -e STORAGE_PATH=/tmp/registry -v /opt/data/registry:/t ...

随机推荐

  1. 一个.NET开源、易于使用的屏幕录制工具

    前言 一款高效.易用的屏幕录制工具能够极大地提升我们的工作效率和用户体验,今天大姚给大家分享一个.NET开源.免费.易于使用的屏幕录制工具:Captura. 工具介绍 Captura是一款基于.NET ...

  2. 开源架构Fabric、FISCO BCOS(以下简称“BCOS”)、CITA 技术对比

    转自 https://www.coingogo.com/news/41300 联盟链技术哪家强?开源架构Fabric.FISCO BCOS(以下简称"BCOS").CITA 技术对 ...

  3. 用 Cursor 写出第一个程序

    大家好,我是汤师爷 最近几个月,Cursor迅速走红,成为一款强大的编程助手.Cursor不仅使用简单,而且通过集成各种大模型技术,编程能力一流. Cursor是什么? Cursor是一个类似VSCo ...

  4. Qt编写可视化大屏电子看板系统16-标准柱状图

    一.前言 标准柱状图是大屏系统中最常用的一种展示数据效果图,提供不同的柱子显示数据值,在QCustomPlot的基础上拓展了顶部显示对应的值,不同的柱子不同的颜色,同时还可以调用内置的触发报警颜色的机 ...

  5. Qt音视频开发43-人脸识别服务端

    一.前言 上一篇文章写道人脸识别客户端程序,当然要对应一个服务端程序,客户端才能正常运行,毕竟客户端程序需要与服务端程序进行交互他才能正常工作.通常人脸识别服务端程序需要和人脸识别的相关处理库在一起, ...

  6. 如何通过C#修改Windows操作系统时间

    C#的System.DateTime类提供了对日期时间的封装,用它进行时间的转换和处理很方便,但是我没有在其中找到任何可以用来修改系统时间的成员.用过VC.VB等的朋友可能知道,我们可以调用Win32 ...

  7. 在Eclipse配置并编译worldwind java2.1.0源码,选中Src目录下gov.nasa.worldwindx.examples包下ApplicationTemplate.java类文件run时提示“javax.xml.parsers.DocumentBuilderFactory.setFeature(Ljava/lang/String;Z)V”异常的解决办法

    问题现象: 在Eclipse配置并编译worldwind java2.1.0源码,选中Src目录下gov.nasa.worldwindx.examples包下ApplicationTemplate.j ...

  8. 探探的IM长连接技术实践:技术选型、架构设计、性能优化

    本文由探探服务端高级技术专家张凯宏分享,原题"探探长链接项目的Go语言实践",因原文内容有较多错误,有修订和改动. 1.引言 即时通信长连接服务处于网络接入层,这个领域非常适合用G ...

  9. Diary -「PKUSC 2022」浅谈一类 emo 文学在 OI 游记中的运用

      我突然发现这是我第一次完成这样一篇游记--   一篇记录了绝对意义上"爆炸"的游记.   SC 的前几天,我被一些奇怪的理由说服停课.省选已经过去了吧,机房里除了我全是省队.不 ...

  10. 单点登录-CAS原理

    1.首先了解几个概念 1).TGC:Ticket-granting cookie,存放用户身份认证凭证的cookie,在浏览器和CAS Server间通讯时使用.2).TGT:ticket grant ...