Loading

寒武纪平台上传 Docker 镜像

前言

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

安装Docker

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

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

image

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

  "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 中找到所需的镜像,复制右侧的命令到终端执行。

image

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

image

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

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

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

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

image

容器使用

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

image

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

进入到 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 完成后就可以在平台中看到。要注意的是,只有为其设置 适用功能 后才可以在对应功能中使用。

image

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

注意

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

参考

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

利用 Docker 配置 Pytorch 镜像流程

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

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

posted @ 2023-05-10 16:29  KoiC  阅读(298)  评论(0编辑  收藏  举报