docker私有仓库搭建

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

送分小仙女□ 提交于 2019-11-28 05:33:28
在互联网时代,对于每一家公司,软件开发和发布的重要性不言而喻,目前已经形成一套标准的流程,最重要的组成部分就是持续集成(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环境

docker之镜像管理——仓库使用

天大地大妈咪最大 提交于 2019-11-28 01:40:05
仓库使用 docker 官方仓库 注册 https://hub.docker.com 自由注册,邮件激活即可使用 命令使用 Docker pull/search/login/push/tag tag [ 镜像名:版本 ] [ 仓库 ] /[ 镜像名:版本 ] : 标记本地镜像,将其归入某一仓库 Push [ 仓库 ] /[ 镜像名:版本 ] : 推送镜像到仓库 -- 需要登陆 Search [ 镜像名 ] :在仓库中查询镜像 – 无法查询到 tag 版本 Pull [ 镜像名:版本 ] : 下载镜像到本地 Login :登陆仓库 1 、命令登陆 dockerhub 2 、再使用 tag 命令标记一个镜像,指定自己的仓库 3 、使用 push 命令推送此镜像到仓库里 4 、打开查询自己仓库的镜像 私有仓库 搭建 下载 registry 镜像: docker pull registry ----- 可配置加速器加速下载 启动 docker run -d --name reg -p 5000:5000 registry 然后可以通过 restful 接口查看仓库中的镜像(当前仓库是空的) 配置 http 传输 私服默认只能使用 https ,需要配置开放 http 配置完毕重启下 docker 服务 systemctl daemon-reload systemctl restart

Docker镜像加速器配置、私有仓库搭建及加密、认证

余生长醉 提交于 2019-11-28 00:49:44
Docker仓库 Docker 仓库是用来包含镜像的位置,Docker提供一个注册服务器(Register)来保存多个仓库,每个仓库又可以包含多个具备不同tag的镜像。 Docker运行中使用的默认仓库是 Docker Hub 公共仓库。 使用docker hub公共仓库 docker hub是一个docker镜像的公共仓库,你可以注册后免费使用,而且也可以通过命令登陆,去管理个人仓库,但是,国内建议使用阿里云镜像加速器去拉取需要的镜像,docker hub的访问速度有些感人。 需要internet连接,速度慢; 所有人都可以访问; 由于安全原因企业不允许将镜像放到外网。 阿里云镜像加速 需要注册阿里云帐号后,登陆控制台—>>>选择容器镜像服务—>>>选择镜像加速器—>>>根据参考文档配置 配置docker daemon文件: sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://pmel5lap.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker 私有仓库搭建本地仓库 docker hub虽然方便,但是还是有限制

Docker私有仓库

半城伤御伤魂 提交于 2019-11-27 20:03:43
一、前言    Docker hub为我们提供了很多官方镜像和个人上传的镜像,我们可以下载机构或个人提供的镜像(如ubuntu,busybox...),也可以上传我们自己的本地镜像,然后我们需要的时候也可以随时下载。看着很是方便,但是也有不方便的地方: (1)那就是我们在从dockerhub上下载和上传镜像速度可能受影响,有时可能docker主页都打不开。 (2)我们在生产上所使用的docker镜像可能存放着我们的code,tools,不想被外部人员获取,只允许内网的开发人员下载。如果上传到dockerhub上所有人都可以看到。这和github上的公共库是一样的。 (3)在内部网络搭建docker私有仓库可以使内网人员下载和上传都非常快速,不受外网带宽等因素的影响,同时不在内网的人员无法下载我们的镜像,上述两个缺点都很好的解决了 二、搭建docker私有仓库   1.下载registry镜像 docker pull registry 默认情况下,会将仓库存放于容器内的/var/lib/registry目录下,这样如果容器被删除,则存放于容器中的镜像也会丢失,所以我们一般情况下会指定本地一个目录 2. 创建本地存储目录 mkdir -p /data/docker_registry 3. 启动镜像容器并挂载本地目录 docker run -d -p 5000:5000 -v /data

docker创建私有仓库

爷,独闯天下 提交于 2019-11-27 20:03:30
由于网速和大中华局域网效果,使得我们在DockerHub下载镜像的速度很慢,甚至一些国内的镜像仓库,也感觉速度不是很好。所以,很有必要在本地或者一个我们访问很快速的地方(自己的云服务器)搭建一套镜像仓库。有了这样一个仓库,不仅可以提高下载速度,而且可以增加我们个性化定制的镜像,以备后续使用。这篇将介绍怎样搭建本地镜像。 话外篇,配置docker代理 如果有一个很快的代理,当然也可以直接通过配置docker代理,以达到快速下载镜像的目的。在搭建本地镜像的过程也需要从DockerHub上下载完整镜像文件,如果访问缓慢的话,下载将会非常缓慢。设置代理的方法非常简单,这里以CentOS6.5为例。 找到/etc/default/docker,打开编辑,找到下面export http_proxy部分,去掉注释并修改为自己的代理即可。 # Docker Upstart and SysVinit configuration file # Customize location of Docker binary (especially for development testing). #DOCKER="/usr/local/bin/docker" # Use DOCKER_OPTS to modify the daemon startup options. #DOCKER_OPTS="--dns

初识Docker

久未见 提交于 2019-11-27 16:12:47
什么是Docker 说实话关于Docker是什么并太好说,下面我通过四点向你说明Docker到底是个什么东西。 Docker是世界领先的软件容器平台。 Docker使用Google公司推出的Go语言进行开发实现,基于Linux内核的cgroup,namespace,以及AUFS类的UnionFS等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。Docke最初实现是基于LXC。 Docker能够自动执行重复性任务,例如搭建和配置开发环境,从而解放了开发人员以便他们专注在真正重要的事情上:构建杰出的软件。 用户可以方便地创建和使用容器,把自己的应用放入容器。容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。 为什么要使用Docker Docker的镜像提供了除内核外完整的运行时环境,确保了应用运行环境一致性,从而不会再出现“这段代码在我机器上没问题啊”这类问题;——一致的运行环境 可以做到秒级、甚至毫秒级的启动时间。大大的节约了开发、测试、部署的时间。——更快速的启动时间 避免公用的服务器,资源会容易受到其他用户的影响。——隔离性 善于处理集中爆发的服务器使用压力;——弹性伸缩,快速扩展 可以很轻易的将在一个平台上运行的应用,迁移到另一个平台上,而不用担心运行环境的变化导致应用无法正常运行的情况。—

docker 概念 | 安装 | 基本使用

半城伤御伤魂 提交于 2019-11-27 15:51:55
Docker 是世界领先的软件容器平台,所以想要搞懂Docker的概念我们必须先从容器开始说起。 一 先从认识容器开始 先来看看容器较为官方的解释 一句话概括容器:容器就是将软件打包成标准化单元,以用于开发、交付和部署。 容器镜像是轻量的、可执行的独立软件包 ,包含软件运行所需的所有内容:代码、运行时环境、系统工具、系统库和设置。 容器化软件适用于基于Linux和Windows的应用,在任何环境中都能够始终如一地运行。 容器赋予了软件独立性 ,使其免受外在环境差异(例如,开发和预演环境的差异)的影响,从而有助于减少团队间在相同基础设施上运行不同软件时的冲突。 再来看看容器较为通俗的解释 如果需要通俗的描述容器的话,我觉得容器就是一个存放东西的地方,就像书包可以装各种文具、衣柜可以放各种衣服、鞋架可以放各种鞋子一样。我们现在所说的容器存放的东西可能更偏向于应用比如网站、程序甚至是系统环境。 二 再来谈谈Docker的一些概念 2.1 什么是Docker? 说实话关于Docker是什么并太好说,下面我通过四点向你说明Docker到底是个什么东西。 Docker 是世界领先的软件容器平台。 Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核 的cgroup,namespace,以及AUFS类的UnionFS等技术,对进程进行封装隔离

Docker技术入门与实战下载

喜欢而已 提交于 2019-11-27 15:25:10
下载地址: http://www.gqylpy.com/di/8 《Docker技术入门与实战.pdf》PDF高清完整版-下载 本书从Docker基本原理开始,深入浅出地讲解Docker的构建与操作,内容系统全面,可帮助开发人员、运维人员快速部署Docker应用。本书分为四大部分:基础入门、实战案例、进阶技能、开源项目,部分(第1~8章)介绍Docker与虚拟化技术的基本概念,包括安装、镜像、容器、仓库、数据卷、端口映射等;第二部分(第9~16章)通过案例介绍Docker的应用方法,包括与各种操作系统平台、SSH服务的镜像、Web服务器与应用、数据库的应用、各类编程语言的接口、容器云等,还介绍了作者在容器实战中的思考与经验总结;第三部分(第17~21章)介绍一些进阶技能,如Docker核心技术实现原理、安全、高级网络配置、libnetwork插件化网络功能等;第四部分(第22~28章)介绍与容器开发相关的开源项目,包括Etcd、Docker Machine、Docker Compose、Docker Swarm、Mesos、Kubernetes等。第3版根据 Docker 18.x 系列版本对全书内容进行了全面修订。 作者简介 杨保华,博士,现为甲骨文架构师。研究方向包括分布式系统、大数据和算法设计等,是容器、网络虚拟化、区块链等技术的早期研究者和布道者。他倡导技术创新与产品

Docker技术入门与实战下载

╄→尐↘猪︶ㄣ 提交于 2019-11-27 15:21:47
下载地址: http://www.gqylpy.com/di/8 《Docker技术入门与实战.pdf》PDF高清完整版-下载 本书从Docker基本原理开始,深入浅出地讲解Docker的构建与操作,内容系统全面,可帮助开发人员、运维人员快速部署Docker应用。本书分为四大部分:基础入门、实战案例、进阶技能、开源项目,部分(第1~8章)介绍Docker与虚拟化技术的基本概念,包括安装、镜像、容器、仓库、数据卷、端口映射等;第二部分(第9~16章)通过案例介绍Docker的应用方法,包括与各种操作系统平台、SSH服务的镜像、Web服务器与应用、数据库的应用、各类编程语言的接口、容器云等,还介绍了作者在容器实战中的思考与经验总结;第三部分(第17~21章)介绍一些进阶技能,如Docker核心技术实现原理、安全、高级网络配置、libnetwork插件化网络功能等;第四部分(第22~28章)介绍与容器开发相关的开源项目,包括Etcd、Docker Machine、Docker Compose、Docker Swarm、Mesos、Kubernetes等。第3版根据 Docker 18.x 系列版本对全书内容进行了全面修订。 作者简介 杨保华,博士,现为甲骨文架构师。研究方向包括分布式系统、大数据和算法设计等,是容器、网络虚拟化、区块链等技术的早期研究者和布道者。他倡导技术创新与产品

docker registry的搭建并结合k8s使用

家住魔仙堡 提交于 2019-11-27 13:57:14
一、搭建docker registry 1、安装docker 由于使用docker容器安装docker registry: yum install -y yum-utils yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum -y install docker-ce docker-ce-selinux 2、下载docker registry镜像 docker pull registry 3、添加用户验证,启动docker-registry 使用htpasswd,生成用户名对应的密码加密文件: yum install httpd htpasswd -Bbn username passwd > /usr/local/auth/passwd 启动docker registry: docker run -d \ -p 5000:5000 \ -v /data/registry:/var/lib/registry \ -v /usr/local/auth:/auth \ -e REGISTRY_AUTH=htpasswd \ -e REGISTRY_AUTH_HTPASSWD_REALM=Registry_Realm \ -e REGISTRY