docker私有仓库搭建

Jenkins与Docker的自动化CI/CD实战

送分小仙女□ 提交于 2019-12-05 17:52:54
在互联网时代,对于每一家公司,软件开发和发布的重要性不言而喻,目前已经形成一套标准的流程,最重要的组成部分就是持续集成(CI)及持续部署、交付(CD)。本文基于Jenkins+Docker+Git实现一套CI自动化发布流程。 一、发布流程设计 工作流程: 开发人员提交代码到Git版本仓库; Jenkins人工/定时触发项目构建; Jenkins拉取代码、代码编码、打包镜像、推送到镜像仓库; Jenkins在Docker主机创建容器并发布。 环境规划如下: | 角色 | IP | | :-------- | ::--------:| | Jenkins/Docker | 192.168.0.217 | | Docker | 192.168.0.218 | | Git/Registry | 192.168.0.219 | 操作系统:CentOS7.4 二、部署Git仓库 # yum install git -y 创建Git用户并设置密码 # useradd git # passwd git 创建仓库 # su - git # mkdir solo.git # cd solo.git # git --bare init 访问创建的这个仓库 # git clone git@192.168.0.212:/home/git/solo.git 三、准备Jenkins环境

05-Docker私有仓库

大城市里の小女人 提交于 2019-12-05 15:38:01
一、介绍 私有仓库顾名思义,如果我们不想把docker镜像公开放到公有仓库中,只想在部门或团队内部共享docker镜像,这时私有仓库就来了。 二、私有仓库搭建与配置 1.拉取私有仓库镜像,这里说明一下,私有仓库也是一个镜像。 docker pull registry 2.启动私有仓库容器 docker run -di --name=registry -p 5000:5000 registry 3.打开浏览器输入http://192.168.220.128:5000/v2/_catalog看到{"repositorites":[]}表示私有仓库搭建成功并且内容为空 4.修改daemon.json vi /etc/docker/daemon.json 添加内容,保存退出。 {"insecure-registries":["192.168.220.128:5000"]} 此步用于让docker信任私有仓库地址 5.重启docker服务 systemctl restart docker 三、镜像上传到私有仓库 1.标记此镜像为私有仓库的镜像 docker tag jdk1.8 192.168.220.128:5000/jdk1.8 2.上传标记的镜像 docker push 192.168.220.128:5000/jdk1.8 这是因为你的私有仓库容器没有启动,我们启动一下:

Docker操作

北城以北 提交于 2019-12-05 14:26:33
1 Docker简介 1.1 什么是虚拟化 在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储。 ​ 在实际的生产环境中,虚拟化技术主要用来解决高性能的物理硬件产能过剩和老的旧的硬件产能过低的重组重用,透明化底层物理硬件,从而最大化的利用物理硬件 对资源充分利用 ​ 虚拟化技术种类很多,例如:软件虚拟化、硬件虚拟化、内存虚拟化、网络虚拟化(vip)、桌面虚拟化、服务虚拟化、虚拟机等等。 1.2 什么是Docker Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google 公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub 上进行维护。 ​ Docker 自开源后受到广泛的关注和讨论,以至于 dotCloud 公司后来都改名为 Docker Inc。Redhat 已经在其 RHEL6.5 中集中支持 Docker;Google 也在其 PaaS

docker--docker仓库

自闭症网瘾萝莉.ら 提交于 2019-12-05 14:08:32
8 docker仓库 Docker仓库(Repository)类似与代码仓库,是Docker集中存放镜像文件的地方。 8.1 docker hub 1、打开https://hub.docker.com/2、注册账号:略3、创建仓库(Create Repository):略4、设置镜像标签docker tag local‐image:tagname new‐repo:tagname(设置tag)eg:docker tag hello‐world:latest 108001509033/test‐hello‐world:v1docker tag hello-world:latest eadela/hello-world:v15、登录docker hubdocker login(回车,输入账号以及密码)6、推送镜像docker push new‐repo:tagnameeg:docker push 108001509033/test‐hello‐world:v1docker push eadela/hello-world:v1 Error response from daemon: manifest for hello-world:v1 not found: manifest unknown: manifest unknown加登陆账号昵称 Error: No such image:

Docker 私有仓库高级配置

烈酒焚心 提交于 2019-12-05 11:10:37
上一节我们搭建了一个具有基础功能的私有仓库,本小节我们来使用 Docker Compose 搭建一个拥有权限认证、TLS 的私有仓库。 新建一个文件夹,以下步骤均在该文件夹中进行。 准备站点证书 如果你拥有一个域名,国内各大云服务商均提供免费的站点证书。你也可以使用 openssl 自行签发证书。 这里假设我们将要搭建的私有仓库地址为 docker.domain.com,下面我们介绍使用 openssl 自行签发 docker.domain.com 的站点 SSL 证书。 第一步创建 CA 私钥。 $ openssl genrsa -out "root-ca.key" 4096 第二步利用私钥创建 CA 根证书请求文件。 $ openssl req -new -key "root-ca.key" -out "root-ca.csr" -sha256 -subj '/C=CN/ST=Shanxi/L=Datong/O=Your Company Name/CN=Your Company Name Docker Registry CA' 以上命令中 -subj 参数里的 /C 表示国家,如 CN;/ST 表示省;/L 表示城市或者地区;/O 表示组织名;/CN 通用名称。 第三步配置 CA 根证书,新建 root-ca.cnf。 [root_ca] basicConstraints =

docker学习笔记

随声附和 提交于 2019-12-05 09:05:10
docker笔记 docker的定义: Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。 注解:docker 可以让开发者把已经部署好的应用以及依赖包打包到一个容器中,这个容器可以直接运行在任何流行的Linux机器上。即该应用一经部署,被docker打包后即可随意移植。 docker内容: Docker简化了开发流程中最复杂的事情:构建环境 Docker的镜像称为 image,容器称为container 镜像:一个静态文件系统,可类比ISO镜像文件。 容器:一个可运行的动态文件系统,是镜像的实例。 docker与虚拟的区别 Docker是一个轻量级容器技术,类似于虚拟机(xen kvm vmware virtual)。docker是直接运行在当前操作系统(Linux)上的,而不是运行在虚拟机中,但是也实现了虚拟机技术的资源隔离,性能远远高于虚拟机技术。 Docker支持将软件编译成一个镜像(image),在这个镜像里做好对软件的各种配置,然后发布这个镜像,使用者可以运行这个镜像,运行中的镜像称之为容器(container) docker的组成部分 docker的安装与启动 docker的安装 更新yum包 yum update

Docker从入门到实践(2)

℡╲_俬逩灬. 提交于 2019-12-05 07:02:53
二、基本概念 Docker 包括三个基本概念 镜像( Image ) 容器( Container ) 仓库( Repository ) 理解了这三个概念,就理解了 Docker 的整个生命周期。 Docker 镜像 我们都知道,操作系统分为内核和用户空间。对于 Linux 而言,内核启动后,会挂载 root 文件系统为其提供用户空间支持。而 Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:18.04 就包含了完整的一套 Ubuntu 18.04 最小系统的 root 文件系统。 Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。 分层存储 因为镜像包含操作系统完整的 root 文件系统,其体积往往是庞大的,因此在 Docker 设计时,就充分利用 Union FS 的技术,将其设计为分层存储的架构。所以严格来说,镜像并非是像一个 ISO 那样的打包文件,镜像只是一个虚拟的概念,其实际体现并非由一个文件组成,而是由一组文件系统组成,或者说,由多层文件系统联合组成。 镜像构建时,会一层层构建,前一层是后一层的基础。每一层构建完就不会再发生改变

05docker仓库---搭建本地仓库

泄露秘密 提交于 2019-12-04 15:57:09
Docker仓库 仓库(Repository)是集中存放镜像的地方,分别公有仓库和私有仓库. 注册服务器是存放仓库的具体服务器。一个注册服务器上可以有多个仓库,每一个仓库里面可以有多个镜像。 eg:仓库地址private-docker. com/ubuntu来说,private-docker.com是注册服务器地址,ubuntu是仓库名。 1:https://hub.docker.com/ 公共镜像仓库 2:登录:docker login 注册登录后:会在本地家目录创建一个 .docker/config.json ,保存用户的认证信息。 2:搜索官方仓库中的镜像 ubuntu@ubuntu:~$ docker search centos NAME DESCRIPTION STARS OFFICIAL AUTOMATED centos The official build of CentOS. 5674 [OK] ansible/centos7-ansible Ansible on Centos7 125 [OK] 3:搭建本地私有仓库 私有仓库 ,也就是在本地(局域网)搭建的一个类似公共仓库的东西,搭建好之后,我们可以将镜像提交到私有仓库中。 环境 准备两台安装好docker的服务器redhat7: 服务端机器 ( 主机名为registry ):docker私有仓库服务器

docker私有仓库

微笑、不失礼 提交于 2019-12-04 10:22:38
应用场景 docker有公共仓库,相当于在公共仓库中存在着大量的镜像资源,但是如果本地要使用这些镜像,需要手动pull到本地,如果下次再用还需要pull,并且docker的公共仓库是在国外的,这样频繁的pull一个镜像很耗时,而且网路受限,经常容易断掉,很麻烦。所以有两个应对策略,第一个就是使用daocloud加速器,第二个就是本地搭建私有仓库,当从公共仓库中pull下来的镜像,存到本地私有仓库,下次还需要使用直接从本地下载,那速度就快很多了。 操作步骤 1. 准备 服务器IP地址为192.168.199.31(私有仓库服务器) 虚拟机名为docker1 客户端IP地址为192.168.199.32(你们的工作机) 虚拟机名为docker2 2. 操作 2.1 安装daocloud 由于httpd镜像非常难下载,单用docker很难成功,这里采用docker加速器——daocloud, 访问地址 ,进行账户注册,登录点开控制台,点加速器,具体操作daocloud会一步一步的引导,十分方便。Daocloud同时还可以作为docker的Web UI Manager对docker的容器,镜像进行管理。 下面进行一步一步详解操作步骤: 1、登录http://www.daocloud.io/ 进行注册,如下图所示,然后点击加速器; 2、点击立即开始,进入界面 3、这里选择centos

docker——harbor

老子叫甜甜 提交于 2019-12-04 07:51:29
为什么要用harbor? 在实际生产运维中,往往需要把镜像发布到几十、上百台或更多的节点上。这时单台Docker主机上镜像已无法满足,项目越来越多,镜像就越来越多,都放到一台Docker主机上是不行的,我们需要一个像Git仓库一样系统来统一管理镜像。这里介绍的是一个企业级镜像仓库Harbor,将作为我们容器云平台的镜像仓库中心。 Habor是由VMWare公司开源的容器镜像仓库。事实上,Habor是在Docker-Registry上进行了相应的企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性包括:管理用户界面,基于角色的访问控制 ,AD/LDAP集成以及审计日志等,足以满足基本企业需求。 Harbor和Registry的比较: Harbor和Registry都是Docker的镜像仓库,但是Harbor作为更多企业的选择,是因为相比较于Regisrty来说,它具有很多的优势。 1、提供分层传输机制,优化网络传输 Docker镜像是是分层的,而如果每次传输都使用全量文件(所以用FTP的方式并不适合),显然不经济。必须提供识别分层传输的机制,以层的UUID为标识,确定传输的对象。 2、提供WEB界面,优化用户体验 只用镜像的名字来进行上传下载显然很不方便,需要有一个用户界面可以支持登陆、搜索功能,包括区分公有、私有镜像。 3、支持水平扩展集群