专属Repository

专属Repository介绍

英博云在每个分区内,会为每个租户分配一个专属的Repository,其url前缀形如:

# 公网访问地址,目前仅支持push,不可以pull
registry-{region-label}.ebcloud.com/tenant-{user-code}

# 内网访问地址,可以支持push、pull
registry-{region-label}-internal.ebcloud.com/tenant-{user-code}

其中region-label为每个分区独有,华北一区的region-label为:cn-huabei1,其余分区可以参考这里

{user-code}为每个租户专属的识别码,为格式tenant-前缀 + 8位数字,一个示例为:tenant-83687594

查看我的专属Repository地址

可以在英博云控制台:镜像 -> 自定义镜像,进行查看,目前仅展示了内网访问地址,公网访问地址可以去掉-internal部分。如下所示:

专属Repository

推送镜像至专属Repository

英博云支持用户向专属Repository推送镜像,公网、内网均可以。

从公网推送

首先将您的镜像retag为英博云的专属Repository的url,示例如下:

docker tag my_image:my_tag registry-cn-huabei1.ebcloud.com/tenant-xxxxxxxx/my_image:my_tag

然后执行:docker logindocker push,示例如下:

docker login registry-cn-huabei1.ebcloud.com
# 输入用户名、密码

docker push registry-cn-huabei1.ebcloud.com/tenant-xxxxxxxx/my_image:my_tag

注意:

  • 关于docker login的用户名、密码,请联系技术支持获取。
从内网推送(开发机内)

英博云支持在开启了docker功能的开发机内,向自己的专属registry内推送镜像。用户可以基于系统内置镜像,制作自己的镜像并推送至专属registry中。

以下展示了一个例子,我们基于系统内置镜像,安装emacs,首先在开发机内准备Dockerfile如下:

# 基于指定的基础镜像
FROM registry-cn-huabei1-internal.ebsys/pytorch:2.5.1-cuda12.2-python3.10-ubuntu22.04-v09

# 设置环境变量以避免交互式提示
ENV DEBIAN_FRONTEND=noninteractive

# 更新包列表并安装emacs
RUN apt-get update && \
    apt-get install -y --no-install-recommends emacs && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*

# 重置环境变量(可选)
ENV DEBIAN_FRONTEND=

# 设置工作目录
WORKDIR /workspace

# 设置默认命令(可选)
CMD ["/bin/bash"]

然后执行命令,制作自己的镜像:

docker build -t registry-cn-huabei1-internal.ebcloud.com/tenant-xxxxxxxx/my-emacs-pytorch:v0.1 .

推送镜像自己的专属registry:

docker push registry-cn-huabei1-internal.ebcloud.com/tenant-xxxxxxxx/my-emacs-pytorch:v0.1

注意:

  • 在开发机内,推送及拉取自己专属Repository内的镜像,目前不需要docker login,系统会自动进行鉴权。