目录

介绍

必要条件

私有Docker注册表设置

客户机上需要的操作


介绍

大多数IT公司都不会向生产系统提供互联网设施,但Docker hub需要互联网,而且安全性较低(所有人都可以使用)。为了保护我们的Docker镜像,我们必须在私有Docker注册表中本地化保存图像。

当我们的环境中有大量的docker主机时,在内部网络中创建我们自己的私有Docker 注册表有助于我们从私有服务器管理映像,而无需为docker客户端提供Internet访问。

必要条件

  • Docker注册表主机:k8s-master.com
  • 客户:k8s-client.com
  • 操作系统:CentOS
  • Docker版本:18.06
  • Internet:需要在注册表服务器上从Docker hub中提取映像

注意:对于Docker私有注册表,Docker注册表和客户机都必须安装Docker。

私有Docker注册表设置

1、如果您没有TTL证书,请创建一个目录并将TTL证书放在该目录中,创建SSL证书以保护我们的Docker私有注册表:

mkdir -p /data/certs
cp domain.crt domain.key /data/certs/
openssl req \-newkey rsa:4096 -nodes -sha256 -keyout /data/certs/domain.key \-x509 -days 365 -out /data/certs/domain.crt (if you don't have original TTL Certificates).

2、创建一个存储Docker镜像的目录:

mkdir -p /data/images

3、在docker主机中运行Docker注册表容器:

docker run -d -p 6000:5000 \
-v /data/images:/var/lib/registry \
-v /data/certs:/certs \
-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \
-e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \
--restart on-failure \
--name registry \
docker.io/registry

4、检查主机上的Docker注册表容器状态和linux中的侦听端口:

docker ps
netstat -tulpn | grep 6000

5、从Docker hub中提取图像并将其推送到私有Docker hub:

docker pull nginx
docker tag nginx localhost:6000/nginx

6、验证Docker镜像是否已推送到私有注册表:

ll data/images/docker/registry/v2/repositories/

7、将TTL证书从主机复制到客户端计算机:

scp -r /data/certs/* <IP-Addr-Clent>:/root/

客户机上需要的操作

1、Docker客户端使用我们的TTL / SSL证书。

mkdir -p /etc/docker/certs.d/k8s-master.com:6000/
cp -rf /root/tcsmkrishi.crt /etc/docker/certs.d/k8s-master.com:6000/

2、从docker私有注册表中提取图像并使用它。

docker pull k8s-master.com:6000/nginx
docker push k8s-master.com:6000/nginx

原文地址:https://www.codeproject.com/Tips/1277381/Docker-Private-Registry-on-CentOS

在CentOS上的Docker私有注册表相关推荐

  1. CentOS上安装Docker及docker常用命令

    这里写目录标题 一.在CentOS上安装Docker Engine 1.Docker Engine安装 1.1 卸载以前的docker 1.2 安装方法 1.2.1 用repository方法安装 0 ...

  2. win7 java注册表_使用JAVA和JNA在64位Win 7上读/写Windows注册表

    我正在尝试使用JAVA在64位Win7上读/写 Windows注册表. 首先,我尝试了JDK java.util.prefs.Preferences and its reflection usage. ...

  3. 史上很全的注册表修改大全

    史上很全的注册表修改大全 请使用 Ctrl+F 键来查找你想要的 不想别人使用你电脑的某些功能,或是在网吧想使用某些功能,或是让自己的电脑速度更快 怎么办 如果你有点注册表的知识就OK拉 没有多深奥 ...

  4. 在CentOS上安装Docker的步骤

    在CentOS上安装Docker的步骤如下: 更新系统: sudo yum update 添加Docker官方存储库: sudo yum install -y yum-utils sudo yum-c ...

  5. CentOS上安装Docker (图解)

    更简单的办法:三分钟装好 Docker ( 图解) 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. // 用上面那个办法吧,简单多了,下面这个方法看 ...

  6. 好累!iTunes安装不上,UNKNOW\Components...,以及注册表“注册表编辑器无法在当前所选的项及其部分子项上设置安全性”,注册表某项打不开、删不掉,所有问题,都在此终结!

    这个问题困扰了我好几天,每天网上各种搜方法,全都没有用! 本来只是想装一个低版本的iTunes,结果牵出来这么一大坨东西. 第一个问题:安装到一半,程序要写注册表的时候,提示UNKNOW\Compon ...

  7. 【Docker】在CentOS上安装Docker Engine

    前提条件 操作系统要求 要安装Docker Engine,您需要CentOS 7的维护版本.不支持或未测试存档版本. 该centos-extras库必须启用.默认情况下,此存储库是启用的,但是如果已禁 ...

  8. Docker系列 一. CentOS上安装Docker

    1.环境&工具: 阿里云轻量级服务器.Centos7系统.FinalShell(其他连接客户端也可以) 2.步骤: 2.1 安装docker 2.1.1 以root身份登录服务器 2.1.2查 ...

  9. CentOS上使用Docker安装Redis-Cluster (redis6.x)

    第一步 安装最新版Docker.Docker-Compose yum remove docker docker-client docker-client-latest docker-common do ...

最新文章

  1. ASP.NET MVC 4 中的JSON数据交互总结
  2. 查看文档(API) (NSString)
  3. Linux(内核和用户态的)动态内存管理
  4. thinkphp中mysql添加数据_thinkphp添加数据 add()方法
  5. C语言入夏标志,青岛真的入夏了吗?青岛20°C的梗是什么?
  6. Kryo为什么比Hessian快
  7. 数据科学和人工智能技术笔记 一、向量、矩阵和数组
  8. python静态方法和类方法的区别_python中类的静态方法和类的类方法
  9. Window.location.href命令在JS中跳转无效或自动忽略
  10. 2022电工杯:5G 网络环境下应急物资配送问题(优化)
  11. mysql建表与oracle_mysql和oracle建表语句以及数据类型的区别
  12. Word 转 PDF 后目录链接无效的解决办法
  13. 【金融市场基础知识】——中国的金融体系(二)
  14. 简单介绍线上点餐APP开发用途
  15. 数据仓库基本概念介绍
  16. 人工智能与智能的异同
  17. Mentor Graphics IPC-7351 LP Viewer 10.5使用说明
  18. android中bitmap压缩的几种方法详解
  19. scrapy splash模拟点击
  20. 5、求方程的根的两种方法

热门文章

  1. rx2700_第二代锐龙 7 2700X 台式处理器 | AMD
  2. 惠普服务器eth0的位置,HPUX下定位网卡位置
  3. python实现发送免费短信功能
  4. 面向过程(或者叫结构化)分析方法与面向对象分析方法到底区别
  5. mysql中union,左连接,右连接,与内连接
  6. ELF应用程序二进制接口
  7. Libbpf-tools: Tracing工具
  8. Linux系统实现ICMP ping功能,并计算时延
  9. CentOS 安装gnutls
  10. (2)Linux进程调度器-CPU负载