专属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推送镜像,公网、内网均可以。
从公网推送
首先将您的镜像retag为英博云的专属Repository的url,示例如下:
docker tag my_image:my_tag registry-cn-huabei1.ebcloud.com/tenant-xxxxxxxx/my_image:my_tag
然后执行:docker login
,docker 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
,系统会自动进行鉴权。