使用 Docker Compose 部署 Docker Registry

这篇具有很好参考价值的文章主要介绍了使用 Docker Compose 部署 Docker Registry。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在内网环境中,我们期望能够在本地共享镜像。为了解决这一问题,Docker Registry成为了我们的救星。Docker Registry是一个用于存储和管理Docker镜像的开源工具。通过在本地部署Docker Registry,您可以轻松地构建、存储和分享自己的Docker镜像。本文将详细介绍如何使用Docker Compose快速部署Docker Registry,并开始轻松应对这一镜像管理问题。此外,我们还将介绍如何将您的镜像传输到阿里云容器镜像服务,为您提供更广泛的镜像管理和分发选项。

使用 Docker Compose 部署 Docker Registry,docker,docker,eureka,容器

第一步:创建docker-compose.yml文件

首先我们创建一个Registry的部署目录 Registry,在目录registry 下创建一个 docker-compose.yml 文件,内容如下:

version: "3.8"
services:
  registry:
    privileged: true     #这里把权限配置成true
    image: registry      #镜像来源
    restart: always      #开机后自己启动
    container_name: registry   #自定义服务名
    ports:               #暴露端口
      - 5000:5000
    volumes:            #挂载目录配置
      - ./data:/var/lib/registry
  web:
    image: konradkleine/docker-registry-frontend:v2
    restart: always
    ports:
      - 8035:80
    environment:
      - ENV_DOCKER_REGISTRY_HOST=192.168.10.106
      - ENV_DOCKER_REGISTRY_PORT=5000

registry服务就是我们镜像仓库的服务,web服务会给我们提供一个可视化的web页面,方便我们查看镜像,web服务中配置的环境变量就是我们仓库服务registry的ip和端口

第二步:启动服务

在docker-compose.yml统计目录下执行如下命令启动容器:

docker-compose up -d 

查看容器启动日志

docker-compose logs -f 

如果不出意外的话我们的服务就启动了

第三步:使用仓库

配置 Docker 客户端

为了能够推送和拉取镜像,我们需要在 Docker 客户端(服务器)配置 Registry 地址。打开 Docker 配置文件(通常是 /etc/docker/daemon.json 并添加 Registry 地址:

{
  "insecure-registries": ["http://192.168.10.106:5000"]
}

重启docker,确保 Docker 客户端重新加载配置,以使更改生效。

sudo systemctl restart docker   

测试 Registry

查看本地镜像:

docker images

示例:

xiuji@xiuji:~/docker/registry$ docker images | grep jenkins
xj/jenkins                                            1.0            a7115c9ef551   3 weeks ago     1.51GB
xiuji@xiuji:~/docker/registry$

找到要上传的镜像,然后,将该镜像重新标记为本地 Registry 的地址:

docker tag a7115c9ef551 192.168.10.106:5000/xj/jenkins:1.0.0

示例:

xiuji@xiuji:~/docker/registry$
xiuji@xiuji:~/docker/registry$ docker tag a7115c9ef551 192.168.10.106:5000/xj/jenkins:1.0.0
xiuji@xiuji:~/docker/registry$
xiuji@xiuji:~/docker/registry$
xiuji@xiuji:~/docker/registry$
xiuji@xiuji:~/docker/registry$ docker images | grep jenkins
192.168.10.106:5000/xj/jenkins                        1.0.0          a7115c9ef551   3 weeks ago     1.51GB
xj/jenkins                                            1.0            a7115c9ef551   3 weeks ago     1.51GB
xiuji@xiuji:~/docker/registry$

最后,推送标记的镜像到本地 Registry:

docker push 192.168.10.106:5000/xj/jenkins:1.0.0

示例:

xiuji@xiuji:~/docker/registry$
xiuji@xiuji:~/docker/registry$ docker push 192.168.10.106:5000/xj/jenkins:1.0.0
The push refers to repository [192.168.10.106:5000/xj/jenkins]
5f70bf18a086: Mounted from xj/mdnice
a30b1d65deb1: Pushed
7746b0a769ee: Pushed
5d62eace5f20: Pushed
9c6b971806be: Pushed
f88a5e4ffedf: Pushed
083e56fe83eb: Pushed
cc1aa31be4c7: Pushed
e7542699c5f9: Pushed
7bda4b78c961: Pushed
32b6e276d5a8: Pushed
eabefec3772e: Pushed
e145a64deaba: Pushed
31dbd8e7ce5e: Pushed
ebb8d7205eaa: Pushed
cb23a9220de6: Pushed
734cd72d093f: Pushed
992e88d23f64: Pushed
2730a34737a7: Pushed
2cd46f43e9fc: Pushed
1c1312c0dc73: Pushed
3cb48b2a745d: Pushed
cd10e235b4bd: Pushed
92ebff64190b: Pushed
d8705911861f: Pushed
58fc268a6ace: Pushed
1a058d5342cc: Pushed
1.0.0: digest: sha256:53ce7a9be0e390799b1021e919b6cbadd11d277c6809fb813fd4a22ea34ac613 size: 5984
xiuji@xiuji:~/docker/registry$

推送之后我们就可以在web服务的页面中看到了:

访问web服务: http://192.168.10.106:8035/

使用 Docker Compose 部署 Docker Registry,docker,docker,eureka,容器

使用 Docker Compose 部署 Docker Registry,docker,docker,eureka,容器

使用 Docker Compose 部署 Docker Registry,docker,docker,eureka,容器

使用 Docker Compose 部署 Docker Registry,docker,docker,eureka,容器

推送到阿里云容器镜像

如果我们想把镜像推送到公网,那么我们就可以使用阿里云容器镜像,虽然个人容器镜像托管服务是限额使用的,但额度对于我们个人使用的话已经足够了

镜像服务地址: https://cr.console.aliyun.com/cn-hangzhou/instances

使用 Docker Compose 部署 Docker Registry,docker,docker,eureka,容器

上传操作阿里云仓库有详细的说明,我们此处简单列举下:

  • 登录阿里云Docker Registry
$ docker login --username=youname registry.cn-hangzhou.aliyuncs.com

用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码。

您可以在访问凭证页面修改凭证密码。

  • 从Registry中拉取镜像
$ docker pull registry.cn-hangzhou.aliyuncs.com/youname/jenkins:[镜像版本号]
  • 将镜像推送到Registry
$ docker login --username=youname registry.cn-hangzhou.aliyuncs.com
$ docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/younamew/jenkins:[镜像版本号]
$ docker push registry.cn-hangzhou.aliyuncs.com/youname/jenkins:[镜像版本号]

推送之后也可以设置镜像的权限

使用 Docker Compose 部署 Docker Registry,docker,docker,eureka,容器

删除tag

随着我们在服务器上 tag的增多,为了方便服务器上镜像的查看,我们也可以上传之后删除tag

docker image rm 192.168.10.106:5000/xj/jenkins:1.0.0

示例:

xiuji@xiuji:~/docker/registry$
xiuji@xiuji:~/docker/registry$
xiuji@xiuji:~/docker/registry$ docker images | grep jenkins
192.168.10.106:5000/xj/jenkins                        1.0.0          a7115c9ef551   3 weeks ago     1.51GB
xj/jenkins                                            1.0            a7115c9ef551   3 weeks ago     1.51GB
xiuji@xiuji:~/docker/registry$
xiuji@xiuji:~/docker/registry$
xiuji@xiuji:~/docker/registry$
xiuji@xiuji:~/docker/registry$ docker image rm 192.168.10.106:5000/xj/jenkins:1.0.0
Untagged: 192.168.10.106:5000/xj/jenkins:1.0.0
Untagged: 192.168.10.106:5000/xj/jenkins@sha256:53ce7a9be0e390799b1021e919b6cbadd11d277c6809fb813fd4a22ea34ac613
xiuji@xiuji:~/docker/registry$
xiuji@xiuji:~/docker/registry$
xiuji@xiuji:~/docker/registry$ docker images | grep jenkins
xj/jenkins                                            1.0            a7115c9ef551   3 weeks ago     1.51GB
xiuji@xiuji:~/docker/registry$
xiuji@xiuji:~/docker/registry$

对于docker 镜像操作不太熟悉的家人们也可以翻阅下我们之前的文章《深入了解Docker镜像操作》

总结

通过使用 Docker Compose,我们可以轻松地在本地部署 Docker Registry,并开始使用自己的私有镜像存储。这为团队协作和镜像管理提供了更多的灵活性。希望这篇文章对您部署 Docker Registry 有所帮助!

每日闲谈

今天是周末,透过窗外的晴朗天气,决定吃过饭出门晃晃,进行一些锻炼。在我们生活中,健康是最为重要的财富。尤其是在冬季,气候相对干燥,这时候更应该多喝水,多出门走走,增加活动量。保持一个健康的身体才是最明智的选择。与家人一同享受户外活动,呼吸新鲜空气,不仅有益于身体健康,也能在轻松愉悦的氛围中增进家庭成员之间的感情。

使用 Docker Compose 部署 Docker Registry,docker,docker,eureka,容器文章来源地址https://www.toymoban.com/news/detail-783416.html

到了这里,关于使用 Docker Compose 部署 Docker Registry的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • docker-compose容器编排使用详解+示例

    Docker-Compose是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。 Compose 是 Docker 公司推出的一个工具软件,可以管理多个 Docker 容器组成一个应用。你需要定义一个 YAML 格式的配置文件docker-compose.yml,写好多个容器之间的调用关系。然后,只要一个命令,就能同时启

    2023年04月22日
    浏览(42)
  • Docker_安装使用_容器镜像_Docker-compose_常用指令_网络配置

    相关概念 微服务虽然具备各种各样的优势,但服务的拆分通用给部署带来了很大的麻烦。 分布式系统中,依赖的组件非常多,不同组件之间部署时往往会产生一些冲突。 在数百上千台服务中重复部署,环境不一定一致,会遇到各种问题。 Docker解决依赖的兼容问题: Docker允

    2024年02月02日
    浏览(58)
  • 使用docker、docker-compose部署微服务

    这里已经在docker安装并启动好了Redis、nacos,配置好了“ruoyi-gateway-prod.yml”文件。 注意如果配置文件中有Redis、MySQL、nacos这些的连接信息,需要把IP地址改为服务器的公网地址或者内网地址,不会连接不到。 我这里以微服务版若依的网关服务为例,上传到指定目录。 官方文档

    2024年02月10日
    浏览(38)
  • 【Docker】(七)使用docker-compose一键部署环境

    本系列文章记录了从0开始学习Docker的过程,Docker系列历史文章: (一)基本概念与安装使用 (二)如何使用Docker发布一个SpringBoot服务 (三)使用registry远程镜像仓库管理镜像 (四)使用volume持久化Docker容器中的Redis数据 (五)使用bind mounts修改Docker容器中的Nginx配置 (六)

    2024年02月08日
    浏览(38)
  • Docker【部署 04】Docker Compose下载安装及实例Milvus Docker compose(CPU)使用说明分享

    Docker Compose 是一个用于定义和管理多个 Docker 容器的工具,旨在简化容器化应用程序的开发、部署和管理过程。通过 Docker Compose,您可以使用一个单独的配置文件(通常是 docker-compose.yml 文件)来描述应用程序中涉及的多个容器、网络设置、存储卷等。 Docker Compose 官网安装说

    2024年02月11日
    浏览(51)
  • docker部署(使用docker-compose)手把手教程

    docker-compose.yml 文件内容  安装成功后,运行 docker ps 出现如下报错  表示未启动docker,运行下列语句即可 安装完成后,运行 赋予权限即可 在服务器上单独新建文件夹名为ruoyi-admin dockerfile文件如下  执行如下命令 这就构建出本地的镜像了。   依次再构建出ruoyi/ruoyi-xxl-job-adm

    2024年02月01日
    浏览(42)
  • ThingsBoard使用docker compose集群部署

    今天我将讲解官方文档说的使用docker compose集群部署ThingsBoard,这种部署方式也是目前企业中常用的形式,希望大家能够掌握,我不是直接使用官方的镜像,我是自己拉起代码,然后自己构建镜像,在传到服务器上,使用自己的镜像来部署。而且这种部署中间有个大坑,我也会

    2024年02月02日
    浏览(41)
  • 同一台宿主机不同的docker-compose下的容器互相通信;查看docker的network使用情况

    我的 docker 版本: 24.0.2 docker-compose 版本: 1.29.2 linux 是 ubuntu 20.04 在使用 docker 部署环境的时候大多用 docker-compose 来编排,参数的配置会清晰一点。 通常一个容器一个 docker-compose.yml 文件。 这就使得不同 docker-compose 下的容器不能自动的互相通信。 那么顺着这个思路往下想,

    2024年02月08日
    浏览(45)
  • ubuntu使用docker compose一键部署项目

    1、将前面手动部署的容器和镜像全部删除 docker rmi hmall (hmall镜像名) docker rmi  image_id rmi 是删除多个  rm是删除一个 2、执行命令 docker compose up -d  http://192.168.79.129:18080/search.html 访问安装成功! 该ip是虚拟机ubuntu的ip 3、docker-compose.yml 文件  4、项目结构 mysql文件夹内容:

    2024年01月22日
    浏览(42)
  • 使用 docker-compose 部署 Jenkins

    注:我是在虚拟机(Ubuntu)上部署了 docker-compose,然后才使用 docker-compose 部署 Jenkins! 关于如何在 Ubuntu 部署 docker-compose,可以看我其它的文章。 docker_jenkins_compose 目录下创建 docker-compose.yml 文件: 进入 docker-compose.yml 文件: 按下键盘上的 i ,进入可以编写的模式。 将下面的

    2024年02月17日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包