首页 > 其他分享 >docker如何建立本地私有仓库,并将docker镜像推到私有仓库

docker如何建立本地私有仓库,并将docker镜像推到私有仓库

时间:2024-10-15 19:17:25浏览次数:9  
标签:5000 私有 仓库 registry 镜像 docker

在 Docker 中,您可以通过 Docker Registry 创建本地私有仓库,并将 Docker 镜像推送到这个私有仓库。以下是具体步骤:

步骤 1:启动一个本地 Docker 私有仓库

  1. 拉取 registry 镜像
    Docker 官方提供了一个 registry 镜像,可以用来运行私有仓库。首先,您需要从 Docker Hub 拉取这个镜像:

    docker pull registry
    
  2. 启动私有仓库容器
    使用 docker run 启动 registry 容器,映射到主机的 5000 端口:

    docker run -d -p 5000:5000 --name my-private-registry registry
    

    这将启动一个 Docker 容器,在本地的 5000 端口上运行私有仓库。

步骤 2:构建或标记 Docker 镜像

  1. 构建 Docker 镜像
    如果您还没有 Docker 镜像,可以通过 Dockerfile 构建镜像:

    docker build -t my-app:1.0 .
    
  2. 为镜像打标签
    Docker 需要通过特定的 URL 格式来识别私有仓库,因此您需要为镜像打上私有仓库的标签。格式为:<registry-ip>:<port>/<image-name>:<tag>

    假设私有仓库在本地运行,标签可以像这样:

    docker tag my-app:1.0 localhost:5000/my-app:1.0
    

步骤 3:推送镜像到私有仓库

  1. 推送镜像
    将打过标签的镜像推送到本地私有仓库:

    docker push localhost:5000/my-app:1.0
    
  2. 查看仓库中的镜像
    您可以通过以下命令验证仓库中是否有刚推送的镜像:

    curl http://localhost:5000/v2/_catalog
    

    这会列出当前私有仓库中所有可用的镜像。

步骤 4:从私有仓库拉取镜像

  1. 从私有仓库拉取镜像
    在其他机器或本地的 Docker 环境中,您可以使用以下命令从私有仓库拉取镜像:

    docker pull localhost:5000/my-app:1.0
    

步骤 5:配置仓库的持久化存储(可选)

如果您想让仓库中的镜像持久化存储在磁盘上,可以通过挂载主机目录到容器中实现:

docker run -d -p 5000:5000 --name my-private-registry \
  -v /path/to/your/local/storage:/var/lib/registry \
  registry

这样,所有推送到私有仓库的镜像将保存在 /path/to/your/local/storage 目录中。

步骤 6:配置 HTTPS(可选)

为了确保私有仓库的安全性,建议配置 HTTPS。简要步骤如下:

  1. 使用证书管理工具(如 openssl)生成 SSL 证书。

  2. 修改 registry 容器启动命令,挂载证书文件并启用 HTTPS:

    docker run -d -p 5000:5000 --name my-private-registry \
    -v /path/to/your/certs:/certs \
    -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \
    -e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \
    registry
    

此时,您可以通过 HTTPS 推送和拉取镜像。

总结

  1. 启动本地私有仓库 docker run -d -p 5000:5000 --name my-private-registry registry
  2. 为镜像打标签 docker tag my-app:1.0 localhost:5000/my-app:1.0
  3. 将镜像推送到仓库 docker push localhost:5000/my-app:1.0
  4. 从私有仓库拉取镜像 docker pull localhost:5000/my-app:1.0

这就完成了创建本地私有 Docker 仓库并推送镜像的流程。

标签:5000,私有,仓库,registry,镜像,docker
From: https://blog.csdn.net/weixin_45056021/article/details/142926871

相关文章

  • DolphinScheduler快速上手:基于Docker Compose的安装与配置全攻略
    DolphinScheduler是一款强大的开源分布式任务调度系统,广泛应用于大数据领域,用于管理复杂的工作流。本文将详细介绍如何通过DockerCompose安装和配置DolphinScheduler,以便快速搭建并使用这一系统。1.环境准备首先,确保你的系统已经安装了Docker和DockerCompose。Docker......
  • docker-compose安装mysql/redis/nacos环境
    dockerdocker-compose安装查看上一篇文章1.新建目录并创建docker-compose.yaml文件文件内容services:mysql:image:mysql:8.2.0container_name:mysqlenvironment:MYSQL_ROOT_PASSWORD:1qaz@WSXMYSQL_DATABASE:nacosMYSQL_USER:......
  • linux抓取docker内部服务网络包
    docker内应用抓包分析1、获取docker的网络信息dockernetworkls2、查看docker网络的网段dockernetworkinspectxxx3、找到docker的虚拟网卡ifconfig对网卡的端口进行抓包处理tcpdump-ibr-0c8b954bbb83port9962-w./test1.captcpdump-ieth0port9401-w./......
  • Docker镜像仓库关闭:运维的无奈与吐槽
    近期,国内外多个Docker镜像仓库陆续发布停止服务的公告,这对于广大依赖Docker进行开发、部署的运维人员来说,无疑是一场突如其来的噩梦。原本顺畅的镜像拉取流程,如今却变得异常艰难,让人不禁要问:这究竟是怎么了?事情的起因似乎可以追溯到一段时间前,中国科学技术大学(中科大)的Docker......
  • 收下这份Docker命令备忘录,Linux运维早下班!
    本文给大家分享Docker的命令备忘录,希望对做运维的小伙伴有所帮助!1.Docker简介Docker是一个开源平台,旨在帮助开发人员和运维人员通过容器技术加速应用的开发、测试和部署。它提供了轻量级的隔离环境,使应用程序及其依赖能够快速打包并运行在任何环境中。Docker的核心组......
  • Docker 学习笔记
    目录快速入门:镜像与容器:dockerrun命令:选项详解:Docker基础:基础命令:演示:数据卷:案例1-利用Nginx容器部署静态资源:案例2-MySQL容器数据挂载:自定义镜像:简介:Dockerfile:镜像构建:网络:项目部署:DockerCompose:快速入门:镜像与容器:​ 当利用Docker安装应用时,Docker会自动搜索并下载应用镜......
  • Docker部署最新版本EMQX服务,上干货不废话
    1.拉取emqx镜像:dockerpullemqx/emqx:latest 显示如上即代表拉取成功2.使用dockerimages 查看镜像 4.启动emqx服务dockerrun-d-v/etc/localtime:/etc/localtime:ro-p18083:18083-p1883:1883-p8083:8083emqx/emqx:latest 说明已经成功启动5.去......
  • Docker 使用Mysql 部署Baget
    一、建立配置文件1.新建文件夹mkdir/panel/docker/baget-data/packages2.新建配置文件mk/panel/docker/baget-data/baget.envApiKey=APISSSSSStorage__Type=FileSystemStorage__Path=/panel/docker/baget-data/packagesDatabase__Type=MySqlDatabase__ConnectionS......
  • docker 容器指定utf-8编码,解决中文乱码
    在运行Docker容器的时候,如果容器内应用需要使用UTF-8编码来正常处理中文,你可以通过设置环境变量来指定编码。可以使用-e或者--env标志来设置环境变量。比如,设置LANG和LC_ALL环境变量为C.UTF-8或者en_US.UTF-8:dockerrun-eLANG=C.UTF-8-eLC_ALL=C.UTF-8-it<......
  • 推荐几种主流数据仓库:深度剖析与对比
    引言 随着数据量的不断增长,数据仓库技术在企业的数据管理和分析中扮演着越来越重要的角色。不同的数据仓库系统在性能、架构、功能和适用场景上各有特点。本文将详细介绍目前市场上几种主流的数据仓库,帮助你更好地了解各个数据仓库的特性,选择最适合的方案。1.AmazonRe......