(十六)、把镜像推送到私有化 Docker 仓库

文章目录

    • [Docker 镜像如何区分推送远程和本地](#Docker 镜像如何区分推送远程和本地)
    • [1、拉取并启动 Docker Registry 镜像](#1、拉取并启动 Docker Registry 镜像)
    • 2、验证本地仓库容器状态
    • [3、编辑 daemon.json](#3、编辑 daemon.json)
    • [4、restart Docker](#4、restart Docker)
    • [5、为本地镜像打 tag](#5、为本地镜像打 tag)
    • [6、推送 tag 到本地镜像仓库](#6、推送 tag 到本地镜像仓库)

Docker 镜像如何区分推送远程和本地

镜像标签格式

Docker 镜像标签通常遵循以下格式:

[registry/][namespace/]repository:tag
  • registry/(可选): 指定镜像仓库的地址。如果不指定,则默认为 Docker Hub(Docker 官方的公共仓库)。
  • namespace/(可选): 通常用于组织或用户的命名空间。
  • repository: 镜像仓库的名称。
  • tag: 镜像的标签,通常用于标识镜像的版本(如 latest、v1.0 等)。

当你使用 localhost:5001 作为镜像标签的一部分时,Docker 客户端会知道你要推送到本地的 Docker Registry。

1、拉取并启动 Docker Registry 镜像

本地 5001 映射 容器 5000 端口

 docker run -d -p 5001:5000 --name registry registry:2

2、验证本地仓库容器状态

curl http://localhost:5001/v2/_catalog

返回

{"repositories":[]}

3、编辑 daemon.json

 vi~/.docker/daemon.json

添加内容

{
  "insecure-registries": ["localhost:5000"]
}

4、restart Docker

之后记得启动

 docker run -d -p 5001:5000 --name registry registry:2

5、为本地镜像打 tag

版本号 0.0.1

前缀 localhost:5001

 docker tag image_name:0.0.1 localhost:5001/image_name:0.0.1

6、推送 tag 到本地镜像仓库

通过指定 ip和端口,可以把tag推送到本地仓库

 docker push localhost:5001/tag_name
相关推荐
ken_coding3 小时前
Windows11 WSL2的ubuntu 22.04中拉取镜像报错
linux·ubuntu·docker
自律的kkk6 小时前
docker配置镜像加速器
运维·docker·容器
陈小唬7 小时前
云服务器docker中Hbase整合java-api需要放行的接口
服务器·docker·hbase
苏少朋7 小时前
Docker安装 ▎Docker详细讲解 ▎数据卷挂载 ▎Nginx安装理解
linux·nginx·docker·容器
晚枫20008 小时前
kafka发送事件的几种方式
spring boot·分布式·docker·容器·kafka·intellij-idea·linq
StevenZeng学堂9 小时前
【Kubernetes笔记】为什么DNS解析会超时?
网络协议·docker·云原生·kubernetes
开着奔驰种地9 小时前
PaddleNLP本文分类及docker部署流程
深度学习·docker·文本分类·paddle
_院长大人_10 小时前
SpringBoot 整合docker,执行容器服务
java·docker·springboot
云计算练习生10 小时前
深入剖析Docker容器安全:挑战与应对策略
安全·docker·容器
wellshake12 小时前
在 Docker 中部署无头 Chrome:在 Browserless 中运行
chrome·docker·容器