热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

Docker:私有仓库的搭建

:本篇文章主要介绍了Docker:私有仓库的搭建,对于PHP教程有兴趣的同学可以参考一下。
继续,本文描述私有仓库的搭建最简步骤。

概要来说:

  1. 安装registry镜像,启动容器。
  2. CA证书(还有一种办法是直接用HTTP也行,可以省略此步)
  3. 制作镜像,发布。

安装Registry的最简方法是直接Pull一个现成的Registry镜像即可。

docker pull registry

然后启动它。

docker run -p5000:5000-v /home/registry:/tmp/registry registry

暴露5000端口对外服务,同时,装载宿主机的/home/registry目录作为仓库目录。

现在可以push自己的镜像到这个仓库了,需要先给一个镜像打个标签,然后PUSH即可,命令如下:

docker tag java:7-jre hub.wo.cn/yancheng/java
docker push hub.wo.cn/yancheng/java

此时,必然会报一个安全错误:
Docker:私有仓库的搭建

从错误描述来看,有两种解决办法,一是使用HTTP,二是安装CA证书。

方法一,配置成HTTP,速度会稍快,也简单。只需要修改一下 /etc/default/docker 文件,加上一句话:

DOCKER_OPTS="$DOCKER_OPTS --insecure-registry=hub.open.wo.cn"

然后重启Docker,sudo service docker restart,即可正常push了。

方法二,配置安全证书,略显麻烦,尤其是我们的docker registry在nginx后面。

首先,需要生成自己的证书(到服务器上操作),命令如下:

openssl genrsa -des3 -out hub.key2048
openssl rsa -in hub.key -out hub_nopwd.key
openssl req -new -key hub_nopwd.key -out hub.csr
openssl x509 -req -days 3650 -in hub.csr -signkey hub_nopwd.key -out hub.crt

然后,我们配置一下Nginx,增加对HTTPS的支持。

server {
   listen       443;
   server_name  hub.wo.cn;
   ssl  on;
   ssl_certificate      /usr/local/nginx/conf/hub.crt;
   ssl_certificate_key  /usr/local/nginx/conf/hub_nopwd.key;

   location / {
        proxy_pass http://10.250.251.20:5000;
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header x-forwarded-for$remote_addr;
   }
}

注意hub.crt和hub_nopwd.key的位置。重启nginx。

现在,需要将这个hub.crt弄到本地,按前面截图的提示放到相应目录下。即:/etc/docker/certs.d/hub.open.wo.cn

再次重启docker,再push就正常了。

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('
  • ').text(i)); }; $numbering.fadeIn(1700); }); });

    以上就介绍了Docker:私有仓库的搭建,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

  • 推荐阅读
    • Docker的安全基准
      nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
    • 深入解析Serverless架构模式
      本文将详细介绍Serverless架构模式的核心概念、工作原理及其优势。通过对比传统架构,探讨Serverless如何简化应用开发与运维流程,并介绍当前主流的Serverless平台。 ... [详细]
    • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
    • 本文探讨了如何在日常工作中通过优化效率和深入研究核心技术,将技术和知识转化为实际收益。文章结合个人经验,分享了提高工作效率、掌握高价值技能以及选择合适工作环境的方法,帮助读者更好地实现技术变现。 ... [详细]
    • 科研单位信息系统中的DevOps实践与优化
      本文探讨了某科研单位通过引入云原生平台实现DevOps开发和运维一体化,显著提升了项目交付效率和产品质量。详细介绍了如何在实际项目中应用DevOps理念,解决了传统开发模式下的诸多痛点。 ... [详细]
    • 本文深入探讨了MySQL中常见的面试问题,包括事务隔离级别、存储引擎选择、索引结构及优化等关键知识点。通过详细解析,帮助读者在面对BAT等大厂面试时更加从容。 ... [详细]
    • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
    • 网络攻防实战:从HTTP到HTTPS的演变
      本文通过一系列日记记录了从发现漏洞到逐步加强安全措施的过程,探讨了如何应对网络攻击并最终实现全面的安全防护。 ... [详细]
    • 使用Vultr云服务器和Namesilo域名搭建个人网站
      本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
    • 深入解析 Spring Security 用户认证机制
      本文将详细介绍 Spring Security 中用户登录认证的核心流程,重点分析 AbstractAuthenticationProcessingFilter 和 AuthenticationManager 的工作原理。通过理解这些组件的实现,读者可以更好地掌握 Spring Security 的认证机制。 ... [详细]
    • 本文详细介绍如何通过修改配置文件来隐藏Apache、Nginx和PHP的版本号,从而增强网站的安全性。我们将提供具体的配置步骤,并解释这些设置的重要性。 ... [详细]
    • 阿里云ecs怎么配置php环境,阿里云ecs配置选择 ... [详细]
    • 本文探讨如何配置 Nginx 以将传入请求反向代理到运行在本地绑定端口上的 Docker 容器,并解决常见的路径重定向问题。 ... [详细]
    • 本文详细介绍了如何使用Docker运行最简单的镜像,并创建第一个容器。通过具体的操作步骤和命令解释,帮助初学者快速上手Docker。完整课程请点击:Docker入门教程。 ... [详细]
    • 优化Flask应用的并发处理:解决Mysql连接过多问题
      本文探讨了在Flask应用中通过优化后端架构来应对高并发请求,特别是针对Mysql 'too many connections' 错误的解决方案。我们将介绍如何利用Redis缓存、Gunicorn多进程和Celery异步任务队列来提升系统的性能和稳定性。 ... [详细]
    author-avatar
    期待眺望未来_974
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有