docker registry 私有仓库的搭建过程

一、什么是 Docker Registry 私有仓库?
Docker Hub是Docker官方提供的免费公共镜像仓库,我们可以在其中下载镜像。不过,下载速度无法保证,可能存在被封锁的情况,而且常用的官方镜像下载速度并不是特别快。所以,为了更稳定快速的获取到 Docker 镜像,我们可以使用Docker Registry仓库。然而,官方提供的 Docker Registry 也具有诸多限制,比如有托管镜像数量的限制,只能托管公共镜像等。因此,我们可以构建自己的私有仓库,供自己或公司内部使用。

二、如何配置 Docker Registry 私有仓库?

  1. 启动容器(默认监听5000端口)
docker run -d -p 5000:5000 --restart=always --name registry registry:2

这行命令指定我们使用的是registry:2镜像,参数-d表示在后台运行容器,-p 5000:5000 表示将容器内部的5000端口映射到主机的5000端口,--restart=always表示自动重启,--name registry则为我们指定了容器的名字registry。

  1. 验证操作是否成功

通过这个命令查看registry容器状态,就能看到是否成功运行了该容器:

docker ps

如果成功运行,你会看到类似于如下的输出

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                            PORTS                    NAMES
89473fcca935        registry:2          "/entrypoint.sh /etc…"   10 minutes ago      Up 10 minutes                     0.0.0.0:5000->5000/tcp   registry

可以看到,容器状态为 Up, 并且端口 0.0.0.0:5000->5000/tcp 也表示容器已在5000端口监听请求,即容器启动成功。

  1. 配置Docker客户端镜像仓库地址

Docker Registry私有仓库已经运行,但为了能够让 Docker 客户端正常操作该私有仓库,需要为其配置镜像仓库地址。

echo '{ "insecure-registries":["myregistrydomain.com:5000"] }' >> /etc/docker/daemon.json

其中, "myregistrydomain.com:5000" 对应的是 Docker Registry 运行的地址和端口号,你需要修改为你自己所创建的私有仓库地址。配置文件修改后,重启 Docker 服务。

sudo systemctl restart docker 

  1. 上传本地镜像到私有仓库
# 下载一个nginx的镜像
docker pull nginx
# 更改镜像标签
docker tag nginx myregistrydomain.com:5000/my-nginx
# 将标签上传至私有仓库
docker push myregistrydomain.com:5000/my-nginx
# 拉取私有仓库的镜像
docker pull myregistrydomain.com:5000/my-nginx
  1. 登录私有仓库
docker login myregistrydomain.com:5000

执行该命令后, 需要输入私有仓库的用户名和密码,也就是你在dockerhub上的账户名和密码。

  1. 私有仓库的创建和管理技巧

上述方法是构建一个简单且功能齐全的私有Docker仓库的过程。当然,如果你要在生产环境中使用它,你需要考虑更多的因素,如密钥管理,权限控制等,这些都是有关网络安全的方面。下面,我们将分享一些私有仓库创建和管理的技巧。

6.1 防止私有仓库的崩溃,可以在创建容器时将存储配置为主机路径:

docker run -d -p 5000:5000 --restart=always --name registry -v /path/on/host:/var/lib/registry registry:2

6.2 如果你想自己管理Docker Registry,那么你可以使用Docker Registry的Web界面。这个页面可以让你管理仓库中的镜像和tags。

docker run -d --name registry_ui -p 8080:80 --link registry_svr -e REGISTRY_URL=http://registry_svr:5000/v2 -e REGISTRY_NAME=local registry:2

访问 http://localhost:8080 即可访问Docker Registry的Web界面。

以上就是Docker Registry 私有仓库的搭建过程以及常用管理技巧的介绍。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:docker registry 私有仓库的搭建过程 - Python技术站

(0)
上一篇 2023年5月15日
下一篇 2023年5月15日

相关文章

  • 关于docker的15个小tip(技巧)

    关于 Docker 的 15 个小 TIP Tip 1:理解基本概念 Docker 是一种用于构建和管理容器化应用程序的开源平台。在 Docker 中,有一些基本概念需要了解: 镜像(Image):是一个静态的文件,包含了应用程序运行所需的所有文件和依赖。 容器(Container):是由镜像创建的运行时环境,可在其中运行一个或多个进程。 仓库(Reposi…

    Docker 2023年5月16日
    00
  • 30分钟带你了解Docker(推荐)

    介绍 Docker 是一个开源的应用程序容器引擎,可以轻松地将应用程序打包、分发和运行在任何操作系统中。它有助于开发人员将应用程序与底层系统隔离,使得应用能够快速而可靠地在不同的环境中运行。 本篇攻略将带你学习 Docker 的基础知识,包括如何创建、运行、打包和检查 Docker 容器。同时,我们将会通过两个示例说明这些基础概念。 步骤 步骤一:安装 Do…

    Docker 2023年5月16日
    00
  • [Linux] docker 方式安装和使用gitlab-ce

    gitlab就相当于我们自己内网搭建的git服务,相当于公司内的github。 拉取镜像docker pull gitlab/gitlab-ce 创建宿主机的数据目录mkdir -p /mnt/gitlab/etcmkdir -p /mnt/gitlab/logmkdir -p /mnt/gitlab/data 执行镜像并且把宿主机的端口与目录映射进容器do…

    Docker 2023年4月11日
    00
  • Docker Compose部署及基础使用详解

    Docker Compose部署及基础使用详解 Docker Compose是一个用于定义和运行多个Docker容器的工具,可以通过一个简单的YAML文件来配置多个容器之间的关系,从而实现容器的编排。这篇攻略将介绍Docker Compose的使用方法和示例,帮助大家更好地理解和运用Docker Compose。 安装Docker Compose 要使用Do…

    Docker 2023年5月16日
    00
  • Docker网络及容器通信原理详解

    Docker网络及容器通信原理详解 在 Docker 中,网络是容器运行的基石,想要实现 Docker 容器之间的通信,我们需要理解 Docker 的网络原理。下面我将详细讲解 Docker 网络及容器通信原理,并提供两条示例说明。 Docker网络 Docker 中有四种网络模式,分别为: bridge 模式 host 模式 none 模式 overlay…

    Docker 2023年5月16日
    00
  • 隔离 docker 容器中的用户

    笔者在前文《理解 docker 容器中的 uid 和 gid》介绍了 docker 容器中的用户与宿主机上用户的关系,得出的结论是:docker 默认没有隔离宿主机用户和容器中的用户。如果你已经了解了 Linux 的 user namespace 技术(参考《Linux Namespace : User》),那么自然会问:docker 为什么不利用 Linu…

    Docker 2023年4月12日
    00
  • Docker Manager for Docker Swarm deploy

    Swarm是Docker公司在2014年12月初发布的一套较为简单的工具,用来管理Docker集群,它将一群Docker宿主机变成一个单一的,虚拟的主机。Swarm使用标准的Docker API接口作为其前端访问入口,换言之,各种形式的Docker Client(docker client in Go, docker_py, docker等)均可以直接与Sw…

    Docker 2023年4月11日
    00
  • DOCKER 三架马车

    介绍 Docker Compose是Docker官方编排(Orchestration)项目之一,负责快速的部署分布式应用。其代码目前在https://github.com/docker/compose上开源。Compose 定位是 「定义和运行多个 Docker 容器的应用(Defining and running multi-container Docke…

    Docker 2023年4月13日
    00
合作推广
合作推广
分享本页
返回顶部