Docker学习笔记——私有仓库部署

1、系统环境:CentOS 7.3

172.16.0.44  registry  已安装docker

172.16.0.45  client    已安装docker

2、未加密仓库部署

下载registry镜像

  docker pull registry

启动一个registry容器

  docker run -d -p 5000:5000 -v /opt/registry/:/tmp/registry registry

下载一个需要私有部署的镜像

  docker pull redis

修改镜像的tag

  docker tag redis 172.16.0.44:5000/redis

上传打完tag的镜像到私有仓库

  docker push 172.16.0.44:5000/redis
  The push refers to a repository [172.16.0.44:5000/redis]
  Get https://172.16.0.44:5000/v2/: http: server gave HTTP response to HTTPS client

因为从 docker1.3.2 开始,docker registry 默认都是使用v2,使用 https 协议而不是 http

解决办法:

在/etc/docker目录下,创建daemon.json文件,添加如下内容:

  { "insecure-registries":["172.16.0.44:5000"] }

保存退出

  systemctl daemon-reload
  systemctl restart docker

重启后再次上传镜像,会提示如下错误

  The push refers to a repository [172.16.0.44:5000/redis]
  Get http://172.16.0.44:5000/v2/: dial tcp 172.16.0.44:5000: getsockopt: connection refused

这是因为重启docker服务后,刚才创建的registry仓库的容器停止了,重启启动容器,就可以上传成功了

  docker push 172.16.0.44:5000/redis
  The push refers to a repository [172.16.0.44:5000/redis]
  2bf5fdee0818: Pushed 
  e23ed9242cd7: Pushed 
  32f085a1e7bb: Pushed 
  05d392f56700: Pushed 
  2b0fb280b60d: Pushed 
  latest: digest: sha256:ee24c6a68d9ce22df1aa743ea4c624cdc74e4d99b78e199d480292675249ebca size: 1364

检查私有仓库是否配置成功

  curl http://172.16.0.44:5000/v2/_catalog
  {"repositories":["redis"]}

在客户端下载私有仓库上的镜像查看成功

  docker pull 172.16.0.44:5000/redis

3、加密仓库部署

上传或生产自己的证书文件到仓库服务器上

把证书文件server.key server.pem上传到certs目录下

  mkdir -p /etc/docker/certs

启动registry容器

  docker run -d -it -p 5000:5000 --restart=always --name zx_registry -v `pwd`/certs:/etc/docker/certs/ -v /opt/registry/:/tmp/registry -e REGISTRY_HTTP_TLS_CERTIFICATE=/etc/docker/certs/server.pem -e REGISTRY_HTTP_TLS_KEY=/etc/docker/certs/server.key registry

拷贝证书文件到客户端

  scp certs/server.pem [email protected]:/etc/pki/ca-trust/source/anchors/

客户端更新证书文件

  cd /etc/pki/ca-trust/source/anchors
  update-ca-trust

后面的操作就同未加密仓库部署一样,下载镜像,镜像打tag,上传镜像到本地仓库,客户端下载私有镜像

知行办公,专业移动办公平台 https://zx.naton.cn/
【总监】十二春秋之,[email protected];
【Master】zelo,[email protected];
【运营】狼行天下,[email protected]
【产品设计】流浪猫,[email protected];
【体验设计】兜兜,[email protected];
【iOS】淘码小工,[email protected];iMcG33K,[email protected];
【Android】人猿居士,[email protected];思路的顿悟,[email protected];
【java】首席工程师MR_W,[email protected];
【测试】土镜问道,[email protected];
【数据】喜乐多,[email protected];
【安全】保密,你懂的。

时间: 2024-11-05 21:34:47

Docker学习笔记——私有仓库部署的相关文章

Docker 学习笔记【2】 Docker 基础操作实,Docker仓库、数据卷,网络基础学习

Docker 学习笔记[3] Docker 仓库实操,创建私有仓库,实操数据卷.数据卷容器,实操 网络基础  ---------高级网络配置和部分实战案例学习 ============================================================= Docker 学习笔记[1]Docker 相关概念,基本操作--------实操记录开始 ============================================================= 被

Docker学习笔记——镜像、容器、仓库

Docker三个基本概念 镜像(image) 容器(container) 仓库(Repository) 镜像(image) 搜索镜像 docker search nginx 获取镜像 docker pull nginx 指定Registry地址和具体的仓库名下载镜像,没有指定Registry地址,默认从Docker Hub上下载 docker pull jwilder/nginx-proxy 查看镜像 docker images  REPOSITORY          TAG         

Docker 学习笔记【3】 Docker 仓库、数据卷、数据卷容器,网络基础实操。高级网络配置学习

Docker 学习笔记[4] 高级网络配置实操,实战案例实验 =========================================================================== Docker 学习笔记[2] Docker 仓库实操,创建私有仓库,实操数据卷.数据卷容器,记录开始 =========================================================================== 被格式化的脚本内容: #开头代表

Docker私有仓库部署和管理

Docker私有仓库部署和管理 本章结构: Harbor介绍 部署Harbor所依赖的Docker Compose服务 部署Harbor服务 Harbor日常操作管理 Harbor管理生命周期 Harbor介绍 Harbor是VMware公司开源的企业级Docker Registry项目 Harbor的优势 基于角色控制 基于镜像的复制策略 支持LDAP目录服务/AD域服务 图像删除和垃圾收集 图形UI(可以访问Web界面) 审计 RESTful API Harbor架构组成 Proxy: 通过

Docker学习笔记(3) — docker仓库的镜像怎么删除

docker越来越炙手可热,如果你的团队已经准备开始使用docker,那么私有仓库是必不可少的东西,首先是可以帮助你加快从服务器pull镜像的速度,其次也可以帮助你存放私有的镜像,本文主要为大家介绍如何从公用服务器上讲开放的images备份到本地私有服务器上.docker images往往不知不觉就占满了硬盘空间,为了清理冗余的image,可采用以下方法: 1.进入root权限 sudo su 2.停止所有的container,这样才能够删除其中的images: docker stop $(do

Docker学习笔记(一)什么是Docker

Docker学习笔记(一)什么是Docker Docker:容器技术是虚拟化技术的一种,是操作系统的虚拟化. 传统硬件虚拟化:虚拟硬件,事先分配资源,在虚拟的硬件上安装操作系统,虚拟机启动起来以后资源就会被完全占用. 操作系统虚拟化:docker是操作系统虚拟化,借助操作系统内核特性(命名空间.cgroups)实现,不需要模拟硬件行为,不需要安装操作系统. 优点: 硬件虚拟化需要安装操作系统占用空间大. 硬件虚拟化需要模拟硬件系统行为,内存和cpu消耗更大. 缺点: 容器进程崩溃,可能影响宿主机

个人--Docker学习笔记

Docker学习笔记 docker让应用分发,测试,部署变得前所未有的高效和轻松 docker利用率很高,一台主机上可以同时运行数千个docker容器 docker容器除了运行其中应用外,基本不消耗额外的系统资源 docker容器不需要额外的hypervisor支持,是内核级的虚拟化 docker容器几乎可以在任意平台上运行 docker的三个基本概念 镜像(image) 容器(container) 仓库(repository) 以上是docker的整个生命周期 镜像的作用是用来创建容器的.镜像

Docker 学习笔记【1】Docker 相关概念,基本操作

计划:Docker 学习笔记[2] Docker 基础操作实操记录,Docker仓库.数据卷,网络基础学习---40 注:所有操作在root下执行 --1--概念: 1.Docker镜像: 镜像就是一个只读的模板,用于创建docker容器. Docker提供了简单的机制创建或者更新现有镜像,也可以从别处拿来现成镜像直接使用. 2.Docker容器: 可以认为是精简版的linux运行环境包含 [root权限,进程空间,用户空间,网络空间等]和应用程序 另外:镜像是只读的,容器基于镜像启动后创建一层

Maven学习笔记之——仓库(中)

Maven学习笔记之--仓库(中) 1.    远程仓库的配置 当出现默认的中央仓库无法满足我们的需求或者连接不上的时候.我们可以通过POM文件来指定远程仓库. <repositories> <repository> <id>jboss-maven2-release-repository</id> <name>JBoss Repository</name> <url>http://repository.jboss.org/