【Linux】【Services】【SaaS】Docker+kubernetes(7. 安装Docker私有镜像仓库)
1. 简介
1.1. 自己做个私有镜像,方便上传和下载,我也在docker官网注册了一个账号,做好的镜像可以传上去
1.2. Redhat自带私有镜像的功能,需要安装包,这是howto:
https://access.redhat.com/documentation/enus/red_hat_enterprise_linux_atomic_host/7/html/getting_started_with_containers/get_started_with_docker_formatted_container_images#creating_a_private_docker_registry_optional
1.3. IBM的howto:https://www.ibm.com/developerworks/linux/library/l-docker-private-reg/index.html(主要流程按照这个做的)
1.4. docker的官方网网站:https://www.docker.com/
2. 环境
2.1. docker-distribution:2.6.2-1.git48294d9.el7
2.2. docker:2:1.12.6-68.gitec8512b.el7
3. 安装与配置
3.1. 使用yum安装
yum install docker-distribution
3.2. 启动服务
systemctl start docker-distribution && systemctl enable docker-distibution
3.3. 给镜像仓库来个独立磁盘
# lvcreate -n lv_docker_registry -L 20G vg_system
# mkfs.xfs /dev/mapper/vg_system-lv_docker_registry
# mkdir /data_docker_registry
# echo "/dev/mapper/vg_system-lv_docker_registry /data_docker_registry xfs defaults 0 0" >> /etc/fstab
# mount -a
3.4. 使用htpasswd工具进行认证
# yum install -y httpd-tools
# htpasswd -Bc /etc/docker-distribution/registry/egistry_passwd admin
3.5. 给http服务加上一个ssl
# mkdir /etc/docker/certs.d/hctjosadm01.hccos.cn/
# openssl req -newkey rsa:4096 -nodes -sha256 -keyout /etc/docker/certs.d/hctjosadm01.hccos.cn/hccos.key -x509 -days 365 -out /etc/docker/certs.d/hctjosadm01.hccos.cn/hccos.crt 注意:服务名字和机器名字要一致,其他都默认就好
# update-ca-trust
# systemctl restart docker
注意:如果出现不能重启docker情况,吧原始数据删掉就好,rm -rf /var/lib/docker/*
3.6. 修改yml配置文件 /etc/docker-distribution/registry/config.yml
version: 0.1
log:
fields:
service: registry
storage:
cache:
layerinfo: inmemory
filesystem:
rootdirectory: /data_docker_registry
http:
addr: hctjosadm01.hccos.cn:5000
host: https://hctjosadm01.hccos.cn:5000
tls:
certificate: /etc/docker/certs.d/hctjosadm01.hccos.cn/hccos.crt
key: /etc/docker/certs.d/hctjosadm01.hccos.cn/hccos.key
auth:
htpasswd:
realm: basic-realm
path: /etc/docker-distribution/registry/registry_passwd
3.7. 重启docker-distribution服务
systemctl restart docker-distribution
3.8. 由于是私建CA,所有客户端访问的时候会不信任,需要在启动时候加上这个选项或者修改/usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd-current \
--insecure-registry hctjosadm01.hccos.cn:5000
3.9. 记得reload systemd
systemctl daemon-reload
3.10. 试试吧
~]# docker login https://hctjosadm01.hccos.cn:5000
Username: admin
Password:
Login Succeeded
4. 常用命令
# docker pull # docker push # docker login # docker logout
# docker search
# docker image
5. 使用Vmware harbor搭建带UI功能的docker hub
5.1. 官方网站:https://github.com/vmware/harbor
5.2. 安装手册:https://github.com/vmware/harbor/blob/master/docs/installation_guide.md
5.3. 说实话这个写的已经非常的全了,而且搭建起来非常简单,以后有项目需要的话我再写在博客里
【Linux】【Services】【SaaS】Docker+kubernetes(7. 安装Docker私有镜像仓库)的更多相关文章
- 【Docker】(4)搭建私有镜像仓库
[Docker](4)搭建私有镜像仓库 说明 1. 这里是通过阿里云,搭建Docker私有镜像仓库. 2. 这里打包的镜像是从官网拉下来的,并不是自己项目创建的新镜像,主要测试功能 一.搭建过程 首先 ...
- 安装harbor私有镜像仓库
有朋友安装harbor的过程中遇到很多问题,为此写一篇最简单安装harbor的文档,希望能帮助所有刚开始接触harbor的新手.harbor的架构不做探究. 实验验环境:os --> cento ...
- Linux 安装 Harbor 私有镜像仓库
下载 最新发行:https://github.com/goharbor/harbor/releases # 下载文件 wget https://github.com/goharbor/harbor/r ...
- 【Docker】 CentOS7 安装 Docker 及其使用方法 ( 一 )
系列目录: [Docker] CentOS7 安装 Docker 及其使用方法 ( 一 ) [Docker] 使用Docker 在阿里云 Centos7 部署 MySQL 和 Redis (二) [D ...
- Docker笔记--ubuntu安装docker
Docker笔记--ubuntu安装docker 1.更换国内软件源,推荐中国科技大学的源,稳定速度快(可选) sudo cp /etc/apt/sources.list /etc/apt/sourc ...
- Docker深入浅出系列 | 5分钟搭建你的私有镜像仓库
Docker已经上市很多年,不是什么新鲜事物了,很多企业或者开发同学以前也不多不少有所接触,但是有实操经验的人不多,本系列教程主要偏重实战,尽量讲干货,会根据本人理解去做阐述,具体官方概念可以查阅官方 ...
- 利用docker实现私有镜像仓库
利用docker实现私有镜像仓库 在linux服务器上安装了docker过后,可以拉取docker镜像仓库: docker pull registry 再执行命令让镜像run起来: docker ru ...
- [Docker]Harbor部署私有镜像仓库
Harbor部署私有镜像仓库 认识: Harbor 是一个用于存储和分发 Docker 镜像的企业级 Registry 服务器. 部署环境: CentOS7 Python2.7.5 Docker CE ...
- Docker 构建私有镜像仓库
在使用Docker一段时间后,往往会发现手头积累了大量的自定义镜像文件,这些文件通过公有仓库进行管理并不方便,另外有时候只是希望在内部用户之间进行分享,不希望暴露出去.这种情况下,就有必要搭建一个本地 ...
- 03: 使用docker搭建Harbor私有镜像仓库
1.1 harbor介绍 1.Harbor简介 1. Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器. 2. 镜像的存储harbor使用的是官方的docker regi ...
随机推荐
- 四. 几个Promise常用API的介绍与使用
四. 几个常用API的介绍与使用 1. Promise构造函数:Promise(excutor){} excutor函数:同步执行 (resolve, reject) => {} resolve ...
- vue修改启动的端口和host
打开vue项目(dev) dev/config/ 路径修改index.js文件 然后对host和pord修改指定的即可 host: 'localhost', // can be overwritten ...
- go条件语句
1. if else package main import "fmt" func main(){ a :=123 if a>100{ fmt.prinln("大于 ...
- HCNP Routing&Switching之BGP路由过滤和AS-Path-Filter
前文我们聊了下通过修改BGP路由属性来影响路由,从而达到控制BGP路由的目的:回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15495585.html:今天我们 ...
- [第二章]c++学习笔记4(复制构造函数)
性质 (1)只有一个参数,即被同类对象的引用. 注 起作用的三种情况 注 常量引用参数
- 问题 N: 非洲小孩
题目描述 家住非洲的小孩,都很黑.为什么呢? 第一,他们地处热带,太阳辐射严重. 第二,他们不经常洗澡.(常年缺水,怎么洗澡.) 现在,在一个非洲部落里,他们只有一个地方洗澡,并且,洗澡时间很短,瞬间 ...
- UE4中C++编程(一)
一: C++工程和Gameplay框架 GameInstance 它适合放置独立于关卡的信息,比如说显示UI. GameMode 表示游戏玩法, 包含游戏进行的规则和胜利条件等等信息,游戏模式是和关卡 ...
- 在 Kubernetes 上安装 Gitlab CI Runner Gitlab CI 基本概念以及 Runner 的安装
简介 从 Gitlab 8.0 开始,Gitlab CI 就已经集成在 Gitlab 中,我们只要在项目中添加一个.gitlab-ci.yml文件,然后添加一个Runner,即可进行持续集成.在介绍 ...
- [atARC094D]Worst Case
首先,容易证明满足条件的$ip_{i}$必然是一个前缀 将其看成一张二分图,$i$向满足$ip_{i}<xy$的$p_{i}$连边,即找到一个前缀满足其有完美匹配 二分枚举前缀长度$k$,根据h ...
- [loj3367]装饼干
先考虑如何判定一个$y$是否可行--从高位开始,记录这一位所需要的$2^{i}$数量$t$,若$y$的这一位为1,则$t+=x$,之后分两类讨论:1.$t\le a_{i}$,令$t=0$:2.$b& ...