docker私有仓库搭建

微服务容器架构工程师

偶尔善良 提交于 2020-02-03 00:24:35
第一部分 Docker 与 Kubernetes 基础 第1章 Docker 容器 4 1.0 什么是 Docker? 4 1.2 Docker 发行版本 5 1.3 Docker基本实现原理 5 1.4 Docker 优势与局限性 8 1.5 容器与虚拟机区别 9 1.6 Dokcer 架构与术语 9 1.7 Docker 基本安装 10 1.8 Docker C/S 模式 13 1.9 Docker应用程序运行条件 15 第2章 Docker镜像 16 2.0 容器运行基础 16 2.1 Docker 加载镜像流程 17 2.2 Docker 镜像基本操作 17 2.4 Docker镜像和Overlay2关系 20 第3章 Docker镜像存储机制 21 3.1 Linux系统运行基础 21 3.2 OverlayFS存储原理 21 3.3 分析镜像存储结构 22 3.4 运行中容器的存储结构 24 3.5 容器每层文件存储详细解析 24 3.6 验证OverlayFS存储文件机制 26 第4章 容器基本操作 27 4.0 查看Docker 命令行帮助 27 4.1 常用基本操作列表 28 4.2 容器操作命令详解 29 第5章 Docker 基本网络管理 31 5.0 网络模式基本介绍 31 5.1 Docker 网络模式详解 31 5.2 容器网络操作 33 第6章

Harbor仓库搭建管理

流过昼夜 提交于 2020-02-01 05:18:01
简介: Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器。 harbor以docker-compose的规范形式组织各个组件,并通过docker-compose工具进行启停。 Registry是Dcoker官方的一个私有仓库镜像,可以将本地的镜像打标签进行标记然后push到以Registry起的容器的私有仓库中。企业可以根据自己的需求,使用Dokcerfile生成自己的镜像,并推到私有仓库中,这样可以大大提高拉取镜像的效率。 主要组件 : Proxy:对应启动组件nginx。它是一个nginx反向代理,代理Notary client(镜像认证)、Docker client(镜像上传下载等)和浏览器的访问请求(Core Service)给后端的各服务; UI(Core Service):对应启动组件harbor-ui。底层数据存储使用mysql数据库,主要提供了四个子功能: UI:一个web管理页面ui; API:Harbor暴露的API服务; Auth:用户认证服务,decode后的token中的用户信息在这里进行认证;auth后端可以接db、ldap、uaa三种认证实现; Token服务:负责根据用户在每个project中的role来为每一个docker push/pull命令issuing一个token,如果从docker

通过Jenkins与Docker构建CI/CD基础架构

孤街醉人 提交于 2020-01-29 23:48:41
前言 提到容器平台,最早接触的便是LXC(Linux Container),是2010年刚刚接触虚拟化平台的时候,当时开源解决方案是xen的天下(后来KVM才后来者居上),且性能各方面都不弱,价值当时还不是移动互联网时代,业务量远远没有那么大,大部分公司都是物理机部署应用,用虚拟化平台的公司也是寥寥无几,可想而知,没有业务,没有场景,那就没有技术的用武之地了,所以,LXC生而伟大而用不逢时,Docker之所以能够青出于蓝而胜于蓝,取得如此大的成功的原因还是归咎于移动互联网带来的流量大爆炸,普通基于物理机,虚拟机甚至云主机(虽然弹性伸缩应该是云主机的特性,但是当时国内看起来根本没有做到的,比起AWS来,差距之大,只能意会)的业务架构已经不能满足目前的应用场景了。 关于Docker,在2013年的时候就开始接触了,当时在一家做私有云解决方案的公司里面以Openstack/Cloudstack私有云管理平台+VMWare/Xen/KVM等虚拟化平台在各大行业进行云平台的推广与实施,Docker当时对我们而言就是个实验室里面的Demo产品,并没有作过多的关注。 后来于2014年在腾讯游戏任职业务运维,中心有一个部门就已经专门研究Docker技术,我也跟着凑了一把热闹,只是当时比较火的还是云主机,而且腾讯云当时才刚刚起步,加之当时维护的更多的还是端游业务,考虑到游戏的稳定性

服务计算--docker学习实验报告

杀马特。学长 韩版系。学妹 提交于 2020-01-28 05:14:30
Docker 简单使用 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。接下里我们就一步步了解一些Docker的使用 安装docker 首先安装依赖 sudo apt-get install \ ​ apt-transport-https \ ​ ca-certificates \ ​ curl \ ​ software-properties-common 添加Docker官方的GPG密钥 安装stable存储库: 接着检查合适docker版本。 最后安装docker Docker运行 docker run -d -p 80:80 httpd 接着直接在浏览器中访问我们机器本地ip:127.0.0.1 运行第一个镜像检查是否成功安装 sudo docker run hello-world docker基本操作 安装镜像ubuntu:latest sudo docker run -it ubuntu bash 显示本地镜像 sudo docker images 获得docker帮助 docker help 显示运行中的容器 sudo docker ps 显示所有容器 sudo docker ps -a

docker常用命令详解

匆匆过客 提交于 2020-01-26 17:37:37
docker logs -t --since="2018-12-26 06:39:22" --until "2018-12-26 06:39:55" c-front 本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备忘记录下来。 根据自己的理解,总的来说分为以下几种: Docker环境信息 — docker [info|version] 容器生命周期管理 — docker [create|exec|run|start|stop|restart|kill|rm|pause|unpause] 容器操作运维 — docker [ps|inspect|top|attach|wait|export|port|rename|stat] 容器rootfs命令 — docker [commit|cp|diff] 镜像仓库 — docker [login|pull|push|search] 本地镜像管理 — docker [build|images|rmi|tag|save|import|load] 容器资源管理 — docker [volume|network] 系统日志信息 — docker [events|history|logs] 从docker命令使用出发,梳理出如下命令结构图: -Docker环境信息 --info命令

Docker基础-9-如何发布一个镜像到hub.docker仓库

落爺英雄遲暮 提交于 2020-01-25 01:15:20
这篇来学习Docker镜像的发布过程。前面我们学习了如何从docker hub网站pull一个镜像到本地,以及如何使用Dockerfile制作一个镜像。我们在从hub.docker网站pull镜像是不需要登录用户账户,但是如何使用push命令,就需要先登录账号。 发布镜像命令 没有权限的错误 我们前面文章我已经制作了一个镜像,hello-docker,就是下面红圈这个。 那么知道了如何push镜像,我们就来试一试。 这个错误是访问拒绝,到底是什么原因呢,第一个原因是没有登录,第二个原因原因就出在REPOSTORY这里,发现没有上面图红圈我制作出来的镜像的REPOSITORY的名称是anthony/hello-docker,问题就出在anthony,因为我在hub.docker.com上面注册的账号昵称是anthonytester,所以我们重新通过Dockerfile来build一个叫做anthonytester/hello-docker的镜像。 如何删除本地镜像 在重新build镜像之前,这里插入一个docker命令的学习。就是如何删除Image, 这里说一下,删除容器是docker rm container, 删除镜像是docker rmi image。 重新docker build一个镜像 发布镜像 这里我先通过docker login账号登录到hub.docker网站

Docker入门介绍

醉酒当歌 提交于 2020-01-24 13:55:30
Docker是一种虚拟化技术 刚開始看Docker,感觉非常抽象“An open platform for distributed applications for developers and sysadmins”这是Docker的标语。 “一个服务于分布式系统的开发人员和运维人员的开放平台”。不是非常好理解,直到文档中不断地和虚拟机做对照,才理解到它可能是和虚拟机相关的技术。Docker是LXC容器技术的典型代表,LXC技术能够实如今同一主机执行多个隔离的linux系统,通过linux内核功能实现轻量级的虚拟机。Docker技术尽管是虚拟化技术,却差点儿不消耗除容器中的应用程序外的其它资源,能够达到近乎裸机的执行能力,达到秒级/微秒级的部署。一台实体机能够执行几百甚至上千个docker容器。并且有非常高的移植性,能够在不论什么平台执行(包括物理机、虚拟机、云平台)。 普通虚拟机和Docker 容器的差别 每个虚拟机不仅包括程序、程序须要的包。并且还包括了一个操作系统,可是Docker容器是共享一个操作系统内核(kernel)的,这些容器通过命名空间相互独立,执行起来就像是在宿主机上的一个孤立的线程。并且他们的执行地点非常的多样化,不论什么设备都能够。 Docker的基本架构 Docker解决的问题 图中白色部分即为Docker Build

docker网络配置方法总结

孤街浪徒 提交于 2020-01-23 01:49:02
1. docker报【Error response from daemon: Error running DeviceCreate (createSnapDevice) dm_task_run failed】错 解决办法: # systemctl stop docker.service # thin_check /var/lib/docker/devicemapper/devicemapper/metadata If there were no errors then proceed with: # thin_check --clear-needs-check-flag /var/lib/docker/devicemapper/devicemapper/metadata # systemctl start docker.serviceIf there were errors, you are on your own, but 'man thin_check' and 'man thin_repair' may be helpful... ======================================================== 2. docker默认添加的iptables(ip相关的自己定制): docker nat表部分: docker0IP=

docker基本操作

ぐ巨炮叔叔 提交于 2020-01-22 12:43:24
1.安装yum源,/etc/yum.repos.d [docker] name=doker repo baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever enabled=1 gpgcheck=0 # yum update # yum -y install docker-engine 2.服务相关 # service docker restart  重启 # docker version  查看版本 3.镜像相关命令 # docker pull hello-world  获取镜像 # docker run -it ubuntu /bin/bash  运行镜像 # docker images  查看镜像信息 # docker tag hello-world:latest my-hello-world:my-latest  添加镜像标签 # docker inspect ubuntu  查看镜像详细信息 # docker history hello-world  查看镜像历史信息 # docker search --automated -s 3 nginx  查看镜像,--automated:显示自动创建的,-s:评价值 # docker rmi hello-world  删除镜像 # docker

Docker私有仓库详细搭建教程和遇到的坑

狂风中的少年 提交于 2020-01-21 15:54:22
7.1 私有仓库搭建与配置 公有仓库存储的都是公用镜像,jdk8啊,tomcat、mysql等等,私有仓库存放我们开发的应用,为了能在一个局域网共享这些镜像。 (1)拉取私有仓库镜像(如果有registry镜像,此步省略) docker私有仓库本身就是一个镜像,先pull下来 docker pull registry (2)根据镜像创建容器 docker run -di --name=registry -p 5000:5000 registry(镜像名) 把容器的5000端口映射成宿主机的5000端口。完成这步私有仓库就构建好了 (3)打开浏览器 输入地址 http://服务器ip地址:5000/v2/_catalog 看到 {"repositories":[]} 表示私有仓库搭建成功并且内容为空 (4)修改daemon.json 这一步是让docker信任这个私有仓库的地址,这样才能把docker本地的镜像上传到私有仓库。 添加配置 vi /etc/docker/daemon.json 先设置下镜像源,提高下载速度 { "registry-mirrors" : [ "https://docker.mirrors.ustc.edu.cn" ] } 然后添加以下内容,保存退出。 { "insecure-registries" : [ "你的ip地址:5000" ] }