专属Repository

专属Repository介绍

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

# 公网推送地址
registry-{region-label}.ebcloud.com/tenant-{user-code}

# 内网推送地址
registry-{region-label}-internal.ebcloud.com/tenant-{user-code}

其中region-label为每个分区独有,华北一区的region-label为:cn-huabei1

{user-code}为每个租户专属的识别码,为8位数字,一个示例为:tenant-63636668。

推送镜像至专属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

注意:

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