【转载】docker 通过 registry 建立 私人仓库

本文详细介绍如何使用Docker和registry工具在本地搭建私有Docker仓库,包括配置步骤、镜像推送及拉取等关键操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【本文转载并整理自】http://www.jianshu.com/p/8f90b4a457d4,作者:灼灼2015,来源:简书

本文的仓库机和客户机是同一台:192.168.99.116


用 registry 建立私人仓库

从 docker hub 拉取 registry,默认是版本是 latest

docker pull registry

查看本地镜像

docker images

建立一个容器,运行 registry

docker run -d -p 5000:5000 -v /var/lib/registry:/var/lib/registry registry

-d: 后台运行容器,并返回容器ID
-p: 把容器的 5000 端口映射到主机的 5000 端口
-v: 把容器的路径 /var/lib/registry 映射到主机的路径 /var/lib/registry

查看所有容器

docker ps -a

从 docker hub 拉取 hello-world

docker pull hello-world

给 hello-world 更改一个 tag,便于推送

docker tag hello-world 192.168.99.116:5000/hello-world

按照 tag [192.168.99.116:5000/hello-world] 把 hello-world 推送到 192.168.99.116:5000

docker push 192.168.99.116:5000/hello-world

查询私人仓库中有哪些镜像

curl -X GET http://192.168.99.116:5000/v2/_catalog

在本机的如下目录下可以查看仓库中有哪些镜像

/var/lib/registry/docker/registry/v2/repositories

修改文件 /etc/sysconfig/docker,添加 OPTIONS='--insecure-registry 192.168.99.116:5000'

重启 docker 服务

service docker restart

开启已有的 registry 容器

docker start registry的容器ID

从私人仓库中拉取 hello-world 镜像

docker pull 192.168.99.116:5000/hello-world

一些删除操作

关闭本地的 hello-world 容器,ID为 177391bcf802

docker stop 177391bcf802

删除本地的 hello-world 容器,ID为 177391bcf802

docker rm 177391bcf802

删除本地的镜像 hello-world

docker rmi hello-world

删除本地的镜像 192.168.99.116:5000/hello-world

docker rmi 192.168.99.116:5000/hello-world

删除私人仓库中的镜像

(还没弄明白)
### 配置 Docker 使用阿里云私有容器 Registry 要在 Docker 中配置并使用阿里云的私有容器镜像仓库,需完成以下几个方面的操作: #### 1. 登录到阿里云 Docker Registry 为了能够推送或拉取镜像至阿里云私有镜像仓库,首先需要通过 `docker login` 命令登录到对应的 Registry 地址。命令如下所示[^1]: ```bash docker login --username=您的阿里云账号 registry.cn-hangzhou.aliyuncs.com ``` 在此过程中,系统会提示输入密码。如果设置了固定密码,则应使用该固定密码作为登录凭证[^4]。 #### 2. 构建本地 Docker 镜像 构建一个可以上传至阿里云私有镜像仓库Docker 镜像。假设已有一个名为 `my-app` 的应用,其 Dockerfile 文件位于当前目录下,可通过以下命令创建镜像: ```bash docker build -t my-app . ``` #### 3. 标记 (Tag) 镜像以便推送到阿里云 在推送之前,必须给本地镜像打上目标Registry地址的标签。例如,要将镜像标记为属于某个命名空间下的特定版本号,可执行以下命令[^2]: ```bash docker tag my-app registry.cn-hangzhou.aliyuncs.com/您的命名空间/my-app:v1.0 ``` #### 4. 推送镜像到阿里云私有仓库 当成功标记好镜像之后,即可利用 `docker push` 将其上传到阿里云私有镜像仓库中去: ```bash docker push registry.cn-hangzhou.aliyuncs.com/您的命名空间/my-app:v1.0 ``` #### 5. 拉取镜像到其他环境 一旦镜像被成功推送到了阿里云私有镜像仓库,在另一台机器或者服务端也可以轻松地将其下载下来加以使用。只需先重复前面提到过的登录步骤,再运行下面这条指令来获取所需资源: ```bash docker pull registry.cn-hangzhou.aliyuncs.com/您的命名空间/my-app:v1.0 ``` 以上流程涵盖了从基本概念介绍到实际动手实践整个过程中的关键环节[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值