从零搭建docker私有仓库的步骤

下面是从零搭建Docker私有仓库的步骤的完整攻略:

准备工作

在开始搭建Docker私有仓库之前,需要完成以下准备工作:

  1. 安装Docker:在使用Docker的过程中,首先需要在主机上安装Docker,可以参考Docker官方文档进行安装。

  2. 申请域名:需要一个域名用来访问私有仓库,默认域名为registry.local,可以自定义域名。

搭建私有仓库

  1. 创建一个新的目录用于存放仓库数据,并进入该目录。
$ mkdir registry && cd registry
  1. 创建一个新的Docker容器,用于搭建私有仓库。
$ docker run -d -p 5000:5000 --restart=always --name registry \
  -v `pwd`/data:/var/lib/registry \
  -v `pwd`/auth:/auth \
  -e "REGISTRY_AUTH=htpasswd" \
  -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
  -e "REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd" \
  registry:2

解释:

  • -d:以后台运行的方式启动容器。
  • -p 5000:5000:将容器的5000端口映射到宿主机的5000端口。
  • --restart=always:容器在挂掉后会自动重启。
  • --name registry:指定容器的名字为registry
  • -v:映射数据卷,将/var/lib/registry/auth目录挂载到宿主机的./data./auth目录。
  • -e:设置环境变量,指定使用htpasswd访问私有仓库,以及用户名和密码的路径。

  • 创建用户名和密码

./auth目录下创建一个新的用户名和密码,并将其加入到./auth/htpasswd中。

$ mkdir auth
$ docker run --entrypoint htpasswd registry:2 -Bbn your_username your_password >> auth/htpasswd
  1. 配置域名解析

需要将注册表的域名解析到本机的IP地址。可以通过修改/etc/hosts文件来实现。

$ echo "127.0.0.1 registry.local" >> /etc/hosts
  1. 配置Docker客户端

在Docker客户端中配置daemon.json文件,以便能够认证并推送到私有仓库。如果没有该文件,则需要手动创建。

$ sudo mkdir -p /etc/docker
$ sudo tee /etc/docker/daemon.json <<EOF
{
  "insecure-registries" : ["registry.local:5000"],
  "auths": {
    "registry.local:5000": {
      "auth": "$(echo -n your_username:your_password | base64)"
    }
  }
}
EOF
$ sudo systemctl restart docker
  1. 验证

最后,我们可以通过以下命令,验证是否能够成功访问私有仓库。

$ docker pull alpine
$ docker tag alpine registry.local:5000/my-alpine
$ docker push registry.local:5000/my-alpine

这是一个基础示例。下面我们来看一个更加实际的示例,如何将本地编写好的Docker镜像推送到私有仓库。

将本地的Docker镜像推送到私有仓库

  1. 创建Docker镜像

首先我们需要创建一个Docker镜像,可以使用以下命令创建。

$ cd app
$ docker build --tag my-app:1.0 .

在这个示例中,使用了一个名为my-app的本地Docker镜像。

  1. 标记Docker镜像

Docker推送镜像时需要先将本地镜像标记,并指定要推送的仓库和镜像标签版本。如下所示,将本地的my-app:1.0标记为私有仓库里的my-app:1.0

$ docker tag my-app:1.0 registry.local:5000/my-app:1.0
  1. 推送镜像到私有仓库

最后,我们通过以下命令将标记后的镜像推送到私有仓库。

$ docker push registry.local:5000/my-app:1.0

好了,以上就是从零搭建Docker私有仓库的完整攻略,包含了基础示例和推送本地Docker镜像的实际示例的详细步骤。

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

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

相关文章

  • 基于docker和cri-dockerd部署k8sv1.26.3

    在 Kubernetes v1.24 及更早版本中,我们使用docker作为容器引擎在k8s上使用时,依赖一个dockershim的内置k8s组件;k8s v1.24发行版中将dockershim组件给移除了;取而代之的就是cri-dockerd(当然还有其它容器接口);简单讲CRI就是容器运行时接口(Container Runtime Interface,…

    2023年4月8日
    00
  • deepin/debian 安装docker

    简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。 关于Deepin中的Docker 深度官方deepin已经集成了docker,不过不是docker-ce这样的最新版。要想使用最新版可以参考官网d…

    Docker 2023年4月13日
    00
  • 详解使用Docker搭建Java Web运行环境

    下面我将为你详细讲解“详解使用Docker搭建Java Web运行环境”的完整攻略,并且为你提供两个示例说明。 1. 准备工作 在开始之前,需要在你的机器上安装Docker,确保安装成功,可以通过以下命令查看Docker版本: docker –version 2. 构建镜像 首先,需要编写Dockerfile,此文件定义了所需镜像的构建规则。Dockerf…

    Docker 2023年5月15日
    00
  • Docker轻量管理Dashboard

    欢迎关注【无量测试之道】公众号,回复【领取资源】,Python编程学习资源干货、Python+Appium框架APP的UI自动化、Python+Selenium框架Web的UI自动化、Python+Unittest框架API自动化、 资源和代码 免费送啦~文章下方有公众号二维码,可直接微信扫一扫关注即可。 前面两篇文章已经学习了如何安装Docker和在Doc…

    Docker 2023年4月13日
    00
  • Docker之设置加速器

    1. 创建一个Docker的配置文件。 sudo vim /etc/docker/daemon.json 2. 编写配置文件。 { “registry-mirrors”: [ “此处写镜像源地址” ] } Docker镜像源地址: 官方国内镜像 https://registry.docker-cn.com 网易 http://hub-mirror.c.163…

    Docker 2023年4月13日
    00
  • docker之点到点的容器网络的配置

    下面我将为你详细讲解“docker之点到点的容器网络的配置”的完整攻略,过程中包含两条示例说明: 点到点容器网络的配置 Docker支持多种网络模式,其中一种是点到点(p2p)网络,它将每个容器直接连接起来,使得它们之间可以进行无需外部干预的通信。下面我们将以两个容器之间的通信为例,来讲解如何配置点到点容器网络。 步骤一:准备工作 在进行网络配置之前,需要准…

    Docker 2023年5月15日
    00
  • 使用 Bitnami Helm 安装 Kafka

    服务器端 K3S 上部署 Kafka Server Kafka 安装 ?️ Quote: charts/bitnami/kafka at master · bitnami/charts (github.com) 输入如下命令添加 Helm 仓库: > helm repo add tkemarket https://market-tke.tencentc…

    Docker 2023年4月11日
    00
  • docker container 导入和导出

    目录 docker container 导入和导出 1、前言 2、docker container 的导出 3、docker container 的导入 4、镜像和容器 导出和导入的区别 1、前言 前提是现在有一个可以运行的docker 环境 2、docker container 的导出 [root@wxtest1607 lixr]# docker ps C…

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