docker搭建harbor私有镜像库
创建harbor私有镜像库
在部署节点上:
[root@cicd kubernetes]# cd harbor
[root@cicd harbor]# ls
common docker-compose.notary.yml ha harbor.v1.4.0.tar.gz LI
docker-compose.clair.yml docker-compose.yml harbor.cfg install.sh
root@cicd kubernetes]# mv harbor /opt/
[root@cicd kubernetes]# cd /opt/
[root@cicd opt]# ls
harbor
[root@cicd /]# mkdir data
[root@cicd data]# mkdir harbor
然后cd到kubernetes目录下解压ca.tar.gz,将解压后的ca目录移动到创建的/data/harbor/目录并重命名为cert
[root@cicd harbor]# cd /root/kubernetes
[root@cicd kubernetes]# ls
bash ca.tar.gz harbor-offline-installer-v1.4.0.tgz image image.tar.gz k8s197.tar.gz
[root@cicd kubernetes]# tar zxf ca.tar.gz
[root@cicd kubernetes]# ls
bash ca ca.tar.gz harbor-offline-installer-v1.4.0.tgz image image.tar.gz k8s197.tar
[root@cicd kubernetes]# mv ca /data/harbor/cert
[root@cicd kubernetes]# cd /data/harbor/cert/
[root@cicd cert]# ls
ca.crt ca.key ca.srl harbor.crt harbor.csr harbor.key
[root@cicd harbor]# cat docker-compose.clair.yml
volumes:
- /data/harbor/clair-db:/var/lib/postgresql/data:z
volumes:
- /data/harbor/notary-db:/var/lib/mysql:z
volumes:
- /data/harbor/var/log/harbor/:/var/log/docker/:z
- ./common/config/log/:/etc/logrotate.d/:z
volumes:
- /data/harbor/registry:/storage:z
- ./common/config/registry/:/etc/registry/:z
volumes:
- /data/harbor/database:/var/lib/mysql:z
volumes:
- /data/harbor/config/:/etc/adminserver/config/:z
- /data/harbor/secretkey:/etc/adminserver/key:z
- /data/harbor/:/data/:z
volumes:
- /data/harbor/secretkey:/etc/ui/key:z
- /data/harbor/ca_download/:/etc/ui/ca/:z
- /data/harbor/psc/:/etc/ui/token/:z
volumes:
- /data/harbor/job_logs:/var/log/jobs:z
- ./common/config/jobservice/app.conf:/etc/jobservice/app.conf:z
- /data/secretkey:/etc/jobservice/key:z
4)编辑harbor.cfg文件
三、安装harbor程序:
(1)cd到 /opt/harbor/目录下,执行
✔ ----Harbor has been installed and started successfully.---- Now you should be able to visit the admin portal at https://reg.yunwei.edu.
For more details, please visit https://github.com/vmware/harbor .
(2)验证harbor是否部署成功:
[root@cicd opt]# docker-compose ps
ERROR:
Can't find a suitable configuration file in this directory or any
parent. Are you in the right directory? #此报错就是因为没有再/opt/harbor目录下执行 Supported filenames: docker-compose.yml, docker-compose.yaml [root@cicd opt]# cd harbor/
[root@cicd harbor]# docker-compose ps
Name Command State Ports
------------------------------------------------------------------------------------------------------------------------------
harbor-adminserver /harbor/start.sh Up
harbor-db /usr/local/bin/docker-entr ... Up /tcp
harbor-jobservice /harbor/start.sh Up
harbor-log /bin/sh -c /usr/local/bin/ ... Up 127.0.0.1:->/tcp
harbor-ui /harbor/start.sh Up
nginx nginx -g daemon off; Up 0.0.0.0:->/tcp, 0.0.0.0:->/tcp, 0.0.0.0:->/tcp
registry /entrypoint.sh serve /etc/ ... Up /tcp
可以看到所有容器的状态都为启动,即为成功部署了harbor。
四、各节点设置登陆harbor私有镜像仓库:
/ # ansible all -m shell -a 'mkdir -p /etc/docker/certs.d/reg.yunwei.edu'
[WARNING]: Consider using file module with state=directory rather than running
mkdir 192.168.253.9 | SUCCESS | rc= >> 192.168.253.10 | SUCCESS | rc= >> 192.168.253.11 | SUCCESS | rc= >> 192.168.253.14 | SUCCESS | rc= >>
可以看到四个节点都创建目录成功。注意此操作是在下载了ansible的容器里面。
[root@cicd reg.yunwei.edu]# cp ca.crt /etc/docker/certs.d/reg.yunwei.edu/
192.168.253.9 reg.yunwei.edu
[root@cicd ~]# docker login reg.yunwei.edu
Username: admin
Password:
Login Succeeded
注意需要命令行登陆了镜像库之后,才可以推送或者下载镜像从私有仓库中。
登陆用户名和密码后会有一个默认的library项目,可以选择新建项目。
五、上传镜像到harbor私有镜像仓库:
[root@cicd ~]# docker tag nginx reg.yunwei.edu/test/nginx:latest
[root@cicd ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
reg.yunwei.edu/test/nginx latest 719cd2e3ed04 days ago 109MB
nginx latest 719cd2e3ed04 days ago 109MB
。。。
[root@cicd ~]# docker push reg.yunwei.edu/test/nginx
The push refers to repository [reg.yunwei.edu/test/nginx]
d7acf794921f: Pushed
d9569ca04881: Pushed
cf5b3c6798f7: Pushed
latest: digest: sha256:079aa93463d2566b7a81cbdf856afc6d4d2a6f9100ca3bcbecf24ade92c9a7fe size:
私有镜像库的使用
[root@cicd ~]# docker pull reg.yunwei.edu/test/nginx:latest
latest: Pulling from test/nginx
Digest: sha256:079aa93463d2566b7a81cbdf856afc6d4d2a6f9100ca3bcbecf24ade92c9a7fe
Status: Downloaded newer image for reg.yunwei.edu/test/nginx:latest
[root@node1 ~]# docker pull reg.yunwei.edu/test/nginx:latest
docker搭建harbor私有镜像库的更多相关文章
- docker部署harbor私有镜像库(3)
一.harbor介绍 在实际生产运维中,往往需要把镜像发布到几十.上百台或更多的节点上.这时单台Docker主机上镜像已无法满足,项目越来越多,镜像就越来越多,都放到一台Docker主机上是不行的,我 ...
- 03: 使用docker搭建Harbor私有镜像仓库
1.1 harbor介绍 1.Harbor简介 1. Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器. 2. 镜像的存储harbor使用的是官方的docker regi ...
- 搭建Harbor私有镜像仓库--v1.5.1
搭建Harbor私有镜像仓库--v1.5.1 1.介绍 Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境 ...
- 第4篇创建harbor私有镜像库
一.部署准备: 1.准备harbor软件包 在部署节点上: 2.挂载一个磁盘,专门存储harbor镜像和文件 3.进入到/etc/docker/harbor/目 ...
- Docker部署Registry私有镜像库
拉取镜像 docker pull registry:2.6.2 生成账号密码文件,这里采用htpasswd方式认证 docker run --rm --entrypoint htpasswd re ...
- 利用docker搭建本地私有镜像仓库
主机名 角色 sht-sgmhadoopcm-01 Docker Repository sht-sgmhadoopnn-01 Docker Client 1. 在两台节点分别安装docker http ...
- kubernetes第三章--创建harbor私有镜像库
- harbor私有镜像仓库的搭建与使用与主从复制
harbor私有镜像仓库,私有仓库有两种,一种是harbor,一种是小型的私有仓库,harbor有两种模式,一种是主 从,一种是高可用仓库,项目需求,需要两台服务器,都有docker.ldap权限统一 ...
- 如何在K8S中优雅的使用私有镜像库 (Docker版)
前言 在企业落地 K8S 的过程中,私有镜像库 (专用镜像库) 必不可少,特别是在 Docker Hub 开始对免费用户限流之后, 越发的体现了搭建私有镜像库的重要性. 私有镜像库不但可以加速镜像的拉 ...
随机推荐
- React中配置Sass引入.scss文件无效
React中配置Sass引入.scss文件无效 在react中使用sass时,引入.scss文件失效尝试很多方法没法解决,最终找到解决方法,希望能帮助正在坑里挣扎的筒子~ 在node_modules文 ...
- vue elementui 切换语言
1.安装插件:npm install vue-i18n --save 2.src下新建i18n文件夹, i18n文件夹下创建langs文件夹和i18n.js文件 langs文件夹下创建cn.js; ...
- Java web项目搭建系列之一 Eclipse中新建Maven项目
前提条件: 已经安装好JDK 已经安装好Maven 已经安装好Eclipse 已经安装好Maven插件 在Eclipse中新建Maven项目 [File]→[New]→[Other...] [Mave ...
- 管线命令(Pipe)
管线命令接受|前面传来的stdout,管线示意图如下所示: 管线两个需要注意的地方: 1.管线仅会处理stdout,忽略对stderr的处理 2.管线必须接受前个指令的stdin才是 那么,如果我想接 ...
- Django发送邮件功能
以126邮箱为例 1 首先进126邮箱设置,开启: POP3/SMTP服务 IMAP/SMTP服务 成功开启后会获得一个授权码. 2. setting.py配置: # 配置发送邮箱 # 需要登录网 ...
- Linux架构之Nginx 高可用
第53章 Nginx之高可用Keepalived 一.Keepalived高可用基本概述 1.1)什么是高可用 一般是指2台机器启动着完全相同的业务系统,当有一台机器down机了,另外一台服务器就能快 ...
- 使用HashSet实现不重复的随机数
package demo; import java.util.HashSet; import java.util.Random; public class RandomDemo { public st ...
- Saving James Bond - Easy Version
题目来源: 浙江大学在慕课网上开设的<数据结构>课,陈越老师.何钦铭老师主讲,课后作业的一道题. 题目描述: 题目思路: 这道题目本质上讲就是列出图的连通集,但是这个连通集的起点是有约束的 ...
- MySQL基础day03 存储引擎和外键MySQL 5.6
MySQL基础day03_存储引擎和外键-MySQL 5.6 外键的条件: 1,表的存储引擎为innodb存储引擎 2,表中外键字段的类型要与参考表的字段类型一致 3,外键字段要是索引类型中的一种 M ...
- SpringBoot整合表单验证注解@Validated,以及分组验证
首先引入jar包 <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate ...