Docker学习之私有仓库(day10)

Docker学习之私有仓库(day10)

文章目录

  • Docker学习之私有仓库(day10)
    • 前言
    • 一、问题描述
    • 二、具体内容
      • [1. 私有仓库搭建](#1. 私有仓库搭建)
      • [1.1 拉取私有仓库镜像](#1.1 拉取私有仓库镜像)
      • [1.2. 启动私有仓库容器](#1.2. 启动私有仓库容器)
      • [1.3. 验证私有仓库是否搭建成功](#1.3. 验证私有仓库是否搭建成功)
      • [1.4 配置 Docker 信任私有仓库](#1.4 配置 Docker 信任私有仓库)
    • [2. 将镜像上传至私有仓库](#2. 将镜像上传至私有仓库)
      • [2.1 标记镜像为私有仓库的镜像](#2.1 标记镜像为私有仓库的镜像)
      • [2.2 上传标记的镜像](#2.2 上传标记的镜像)
    • [3. 从私有仓库拉取镜像](#3. 从私有仓库拉取镜像)
    • 三、总结

前言

在使用 Docker 的过程中,默认的镜像仓库是 Docker Hub,但有时候我们希望搭建自己的私有仓库,来存储和管理自己的镜像。本文将介绍如何搭建 Docker 私有仓库,并演示镜像的上传和拉取操作。

一、问题描述

在企业或团队开发过程中,出于安全性或效率考虑,我们通常需要搭建自己的 Docker 私有仓库,而不是使用公共的 Docker Hub。本篇文章将介绍如何搭建 Docker 私有仓库,并进行镜像的上传和下载。

二、具体内容

1. 私有仓库搭建

Docker 提供了 registry 作为官方的私有仓库实现,我们可以使用以下命令快速搭建一个私有仓库:

1.1 拉取私有仓库镜像

cpp 复制代码
docker pull registry

1.2. 启动私有仓库容器

cpp 复制代码
docker run -id --name=registry -p 5000:5000 registry

这将会启动一个监听 5000 端口的私有仓库。

1.3. 验证私有仓库是否搭建成功

打开浏览器,输入 http://私有仓库服务器ip:5000/v2/_catalog,如果返回 {"repositories":[]},则表示私有仓库搭建成功。

私有仓库服务器ip查询:

cpp 复制代码
ip a

1.4 配置 Docker 信任私有仓库

编辑 Docker 配置文件:

bash 复制代码
sudo nano /etc/docker/daemon.json

在上述文件中添加以下内容(请将 私有仓库服务器ip 替换为真实的 IP 地址):

json 复制代码
{
  "insecure-registries": ["私有仓库服务器ip:5000"]
}

保存并退出后,重启 Docker 服务并启动私有仓库:

bash 复制代码
systemctl restart docker
docker start registry

2. 将镜像上传至私有仓库

2.1 标记镜像为私有仓库的镜像

bash 复制代码
docker tag test_tomcat:1.0 私有仓库服务器IP:5000/test_tomcat:1.0

2.2 上传标记的镜像

bash 复制代码
docker push 私有仓库服务器IP:5000/test_tomcat:1.0

上传完成后,我们可以查看仓库中的镜像:

bash 复制代码
curl http://私有仓库服务器ip:5000/v2/_catalog

3. 从私有仓库拉取镜像

为了验证是否成功拉取,先将192.168.1.131:5000/test_tomcat:1.0删除:

cpp 复制代码
docker rmi 私有仓库服务器ip:5000/test_tomcat:1.0

如果要从私有仓库拉取镜像,首先需要确保本地已经启动 registry,然后执行:

cpp 复制代码
docker pull 私有仓库服务器ip:5000/test_tomcat:1.0

之后,我们可以使用 docker images 命令查看本地镜像。

三、总结

  • Docker 提供了 registry 作为官方的私有仓库方案。
  • 通过 docker tag 给镜像打上私有仓库的标签,然后使用 docker push 上传镜像。
  • 通过 docker pull 拉取私有仓库中的镜像。
  • 可以使用 curl http://私有仓库服务器ip:5000/v2/_catalog 查看仓库中的镜像。
  • 需要在 daemon.json 文件中添加 insecure-registries 以信任私有仓库地址,并重启 Docker 服务。

私有仓库的搭建可以提高安全性和效率,在企业内部开发中是非常常见的方案。

相关推荐
David爱编程19 分钟前
网络策略NetworkPolicy与RBAC授权机制: Kubernetes安全体系的双重防线
云原生·容器·kubernetes
山烛8 小时前
决策树学习全解析:从理论到实战
人工智能·python·学习·算法·决策树·机器学习
风已经起了9 小时前
FPGA学习笔记——简单的乒乓缓存(RAM)
笔记·学习·fpga开发
天上掉下来个程小白10 小时前
Docker-07.Docker基础-数据卷挂载
运维·docker·微服务·容器
迷失蒲公英10 小时前
Docker容器中文PDF生成解决方案
docker·容器·pdf
9命怪猫10 小时前
K8S服务发现原理及开发框架的配合
云原生·容器·kubernetes·服务发现
David爱编程12 小时前
理解Service的kube-proxy 实现原理
云原生·容器·kubernetes
zhangxiaomm12 小时前
pytorch 学习笔记(2)-实现一个线性回归模型
pytorch·笔记·学习
Yolanda_202212 小时前
k8s黑马教程笔记
笔记·容器·kubernetes