Docker实践——天池篇
参考零基础入门Docker-cuda练习场_学习赛_天池大赛-阿里云天池的赛制 (aliyun.com)
在Docker零基础入门-CSDN博客中我已经安装了docker,现在开始创建自己的镜像仓库。
1. 开通阿里云容器镜像服务(镜像仓库)
进入容器镜像服务 (aliyun.com)
1.1. 创建个人实例
点击“个人实例”
创建个人版
设置登录密码
1.2. 创建命名空间
切换标签页到命名空间,创建地址唯一的命名空间
创建成功
1.3. 创建镜像仓库
切换标签页到镜像仓库,创建镜像仓库
填写相关信息后点击“下一步”
选择代码源为本地仓库,灵活度大,完成创建。
1.4. 合理利用“仓库的基本信息”页面
创建后出现仓库基本信息页面
容器镜像服务 (aliyun.com)https://cr.console.aliyun.com/repository/cn-shenzhen/winky_tianchi/logical_reasoning/details仓库地址一般使用公网地址即可
点击管理也可以进入仓库基本信息页面
Q:docker的个人实例、命名空间和仓库名称是什么关系?
A:
在 Docker 中,个人实例、命名空间和仓库名称存在如下关系:
一、个人实例
可以理解为你在使用 Docker 时所操作的具体环境。它包含了你本地运行的 Docker 守护进程以及与之相关的各种配置和资源。个人实例是你进行 Docker 操作的基础,你可以在这个实例中创建、管理和运行容器和镜像。
二、命名空间
- 命名空间通常与特定的用户或组织相关联。它是一种对 Docker 资源进行分组和隔离的方式。对于个人用户而言,你的用户名往往就是一个命名空间。
- 命名空间为你的 Docker 资源提供了一个范围。它有助于区分不同用户或组织的资源,避免冲突。例如,如果两个不同的用户都创建了一个名为 “my_app” 的镜像,通过命名空间可以明确区分它们是属于不同用户的资源。
三、仓库名称
- 仓库名称用于标识特定的 Docker 镜像或容器的存储位置。一个完整的仓库名称通常由命名空间和具体的仓库名称组成。例如,“your_username/my_app”,其中 “your_username” 是命名空间,“my_app” 是具体的仓库名称。
- 仓库名称在命名空间的范围内唯一标识一个特定的 Docker 镜像或容器。它允许你在不同的命名空间中使用相同的仓库名称,只要它们不产生冲突。
关系总结:
- 个人实例是你操作 Docker 的实际环境,其中包含了你对命名空间和仓库名称的使用和管理。
- 命名空间为仓库名称提供了一个上下文,确定了资源的所有者或所属范围。它帮助你在个人实例中组织和管理你的 Docker 资源。
- 仓库名称在命名空间的范围内唯一标识一个具体的 Docker 镜像或容器。通过命名空间和仓库名称的组合,你可以准确地引用和管理特定的 Docker 资源,无论是在本地还是在远程仓库中。
例如,在你的个人实例中,你可以使用自己的命名空间创建多个不同的仓库名称,以存储不同的应用镜像。这样可以方便地管理和部署你的应用,同时避免与其他用户的资源产生冲突。
1.5. 登录仓库,拉取镜像
打开“Windows PowerShell”,发出登录命令,再输入密码
docker login --username=是Winky啊 crpi-uqt5r8sjpug6463b.cn-shenzhen.personal.cr.aliyuncs.com
登陆成功!
PS C:\Users\吴伊晴> docker login --username=是Winky啊 crpi-uqt5r8sjpug6463b.cn-shenzhen.personal.cr.aliyuncs.com
Password:
Login Succeeded
PS C:\Users\吴伊晴>
为简化构建镜像的难度,天池已准备了常用的Python基础镜像,可直接拉取使用,更多基础镜像说明点击。
自行构建镜像请确保安装curl.这里选择python3镜像为例:
docker pull registry.cn-shanghai.aliyuncs.com/tcc-public/python:3
PS C:\Users\吴伊晴> docker login --username=是Winky啊 crpi-uqt5r8sjpug6463b.cn-shenzhen.personal.cr.aliyuncs.com
Password:
Login Succeeded
PS C:\Users\吴伊晴> docker pull registry.cn-shanghai.aliyuncs.com/tcc-public/python:3
3: Pulling from tcc-public/python
c5e155d5a1d1: Pull complete
221d80d00ae9: Pull complete
4250b3117dca: Pull complete
3b7ca19181b2: Pull complete
425d7b2a5bcc: Pull complete
dc3049ff3f44: Pull complete
472a6afc6332: Pull complete
5f79c90f8d7c: Pull complete
1051ee813012: Pull complete
Digest: sha256:6268ecdce5f04d54bd411cba64e49c714589e53ae482a49c6c12eaf91a5d0425
Status: Downloaded newer image for registry.cn-shanghai.aliyuncs.com/tcc-public/python:3
registry.cn-shanghai.aliyuncs.com/tcc-public/python:3
What's next:
View a summary of image vulnerabilities and recommendations → docker scout quickview registry.cn-shanghai.aliyuncs.com/tcc-public/python:3
PS C:\Users\吴伊晴>
从操作记录来看,我成功登录了阿里云的 Docker 镜像仓库,并拉取了特定的 Python 镜像。
Q:这些操作是在系统自带的终端windows powershell中完成,还是在自己创建的anaconda的环境中完成啊?
A:
这些操作是在系统自带的终端 Windows PowerShell 中完成的,而不是在 Anaconda 的环境中完成。
Anaconda 主要是用于管理 Python 环境和相关的包,但
docker login
和docker pull
这些操作是针对 Docker 引擎的命令,与 Anaconda 环境没有直接关系。这些命令需要在系统能够访问 Docker 引擎的环境中执行,通常是系统的命令行终端,如 Windows PowerShell。
Q:主要是因为这句“自行构建镜像请确保安装curl”,因为anaconda的“LLM”环境是配置好了的,所以我当时以为是要在anaconda中执行这些指令。
A:
理解你的困惑了。实际上,