Docker -- 镜像仓库(搭建私有镜像仓库、向镜像仓库推送镜像、从镜像仓库拉取镜像)

本文介绍如何搭建私有的Docker镜像仓库,并提供两种方案:基础版本的简化镜像仓库和推荐的带有图形界面版本。文章还详细讲解了配置流程、镜像的推送与拉取方法。

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

1. 镜像仓库


1.1 镜像仓库概念

在这里插入图片描述


2. 搭建私有镜像仓库

搭建镜像仓库可以基于Docker官方提供的DockerRegistry来实现。

官网地址

2.1.简化版镜像仓库(不推荐)

Docker官方的Docker Registry是一个基础版本的Docker镜像仓库,具备仓库管理的完整功能,但是没有图形化界面。

搭建方式比较简单,命令如下:

docker run -d \
    --restart=always \
    --name registry	\
    -p 5000:5000 \
    -v registry-data:/var/lib/registry \
    registry

命令中挂载了一个数据卷registry-data到容器内的/var/lib/registry目录,这是私有镜像库存放数据的目录。

访问http://YourIp:5000/v2/_catalog 可以查看当前私有镜像服务中包含的镜像

YourIp是你的镜像仓库所在的电脑的ip

我们先查看linuxip
在这里插入图片描述

这是我电脑ip

192.168.135.130

2.2 带有图形化界面版本(推荐)


2.2.1 配置Docker信任地址

我们的私服采用的是http协议,默认不被Docker信任,所以需要做一个配置:

# 打开要修改的文件
vim /etc/docker/daemon.json
# 添加内容:
"insecure-registries":["http://yourIp:8080"]
# 重加载
systemctl daemon-reload
# 重启docker
systemctl restart docker

在这里插入图片描述


2.2.2 使用DockerCompose部署带有图象界面的DockerRegistry

我们先新建一个文件夹,然后进入这个文件内部,然后新建一个docker-compose.yml文件

# 新建一个文件夹registry-ui
mkdir registry-ui
# 进入这个文件内部
cd ./registry-ui
# 新建一个docker-compose.yml文件
touch docker-compose.yml

然后docker-compose.yml文件写入下面的命令

version: '3.0'
services:
  registry:
    image: registry
    volumes:
      - ./registry-data:/var/lib/registry
  ui:
    image: joxit/docker-registry-ui:static
    ports:
      - 8080:80
    environment:
      - REGISTRY_TITLE=CodeJiao的私有镜像仓库
      - REGISTRY_URL=http://registry:5000
    depends_on:
      - registry

然后执行: docker-compose up -d在这里插入图片描述

然后使用docker-compose logs -f去查看日志,发现镜像仓库已经启动起来了:在这里插入图片描述

然后去访问:http://yourIp:8080/即可以访问到镜像仓库。

在这里插入图片描述


3. 向镜像仓库推送镜像

推送镜像到私有镜像服务必须先tag,步骤如下:
重新tag本地镜像,名称前缀为私有仓库的地址:yourIp:8080/

nginx镜像为例子

docker tag nginx:latest 192.168.135.130:8080/nginx:1.0

在这里插入图片描述

然后就可以推送镜像了:docker push 192.168.135.130:8080/nginx:1.0

在这里插入图片描述


4. 从镜像仓库拉取镜像

我们先把刚刚本地的镜像删除:docker rmi 192.168.135.130:8080/nginx:1.0

然后去复制拉取的命令:
在这里插入图片描述
这是我拉取的命令docker pull 192.168.135.130:8080/nginx:1.0
,然后在控制台输入这个命令即可。



当然可以!下面是一个简单的私有Docker镜像仓库搭建教程: 1. 安装DockerDocker Compose:首先,确保你的主机上已经安装了DockerDocker Compose。你可以根据你的操作系统文档中的步骤进行安装。 2. 创建一个目录:在你的主机上创建一个目录来存储你的私有镜像仓库的数据。例如,你可以创建一个名为`docker-registry`的目录。 3. 编写docker-compose.yml文件:在你的`docker-registry`目录下创建一个名为`docker-compose.yml`的文件,并添加以下内容: ```yaml version: '3.8' services: registry: restart: always image: registry:2 ports: - 5000:5000 volumes: - ./data:/var/lib/registry ``` 这将启动一个名为`registry`的容器,使用Docker官方提供的`registry:2`镜像。容器将通过`5000`端口对外提供服务,并将数据存储在`./data`目录中。 4. 启动私有镜像仓库:在你的`docker-registry`目录下运行以下命令启动私有镜像仓库: ```bash docker-compose up -d ``` 这将在后台启动私有镜像仓库容器,并将其绑定到`5000`端口。 5. 配置客户端:现在你的私有镜像仓库已经启动,你可以配置Docker客户端来使用它。在你的客户端主机上执行以下命令: ```bash echo "{ \"insecure-registries\": { \"localhost:5000\": {} } }" > /etc/docker/daemon.json sudo systemctl restart docker ``` 这将在`/etc/docker/daemon.json`文件中添加一个配置,以允许Docker客户端信任私有镜像仓库的地址。 现在,你就可以使用私有镜像仓库了。你可以使用`docker push`命令将本地构建的镜像推送私有仓库,使用`docker pull`命令从私有仓库镜像。 希望这个教程对你有所帮助!如果你有任何其他问题,请随时提问。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CodeJiao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值