Docker技术:Harbor私服搭建和使用
前言
公司技术体系逐步基于DDD领域驱动设计结合DevOps,最终在技术实现中转向于微服务+k8s的体系。
再此,就记录一下操作过程,分享给道友,避免浪费时间。
Harbor
优点:
- 本身自代 docker 私有仓库
- 支持基于角色的权限管理
- 支持LDAP认证:Harbor的用户授权可以使用已经存在的用户。
- 图形化用户界面
- 审计管理:所有这怒地镜像仓库的错都可以被记录追溯,用于审计管理
- 镜像删除和垃圾回收:image可以被删除并且回收image占用的空间。
- 简单的部署功能:harbor提供了online、offline安装,此外还提供了virtualappliance安装
- ......
说白了,就是好,等等好像是公司要用因此不能不会~
安装
1、前置条件
(1)需要安装docker
#安装一些必要的系统工具
yum -y install yum-utils device-mapper-persistent-data lvm2
#添加docker镜像源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#安装docker-ce
yum -y list docker-ce.x86_64 --showduplicates | grep stable | sort -r
yum -y install docker-ce-18.03.1.ce-1.el7.centos
#开启docker服务
systemctl start docker
#查看docker版本
docker version
(2)需要安装docker-compose
yum install docker-compose
2、下载安装包
直接选择编译好的包
harbor-offline-installer-v2.4.2.tgz
harbor-offline-installer-v2.5.0-rc4.tgz
GitHub下载太慢?有教程~点击
这里有两个包Harbor offline installer
和 Harbor online installer
,两者的区别的是 Harbor offline installer
里就包含的 Harbor 需要使用的镜像文件。
下载成功,并解压
tar -zxvf harbor-offline-installer-v2.5.0-rc4.tgz
进入解压的目录,并 ll
harbor.v2.5.0.tar.gz
里就是 Harbor 用到的镜像
3、编辑yml文件
(1)解压完成后在当前目录生成harbor目录,复制和修改harbor目录下的harbor.yml
cp harbor.yml.tmpl harbor.yml
(2)注释掉htps的配置内容,配置htp相关的参数,主要是hostname,port,其他都可以不用动。
\# vim harbor.yml
hostname: 192.168.239.11
\# htp related config
htp:
\# port for htp, default is 80. If htps enabled, this port will redirect to htps port
port: 80
温馨提示
:https需注掉,否则会在启动时失败
4、运行
修改完配置文件后,运行 ./prepare
,它会哪所配置文件修改一文件
运行 ./install.sh
5、启动
安装完成后在本地生成docker-compose.yml
文件,此时可以启动harbor服务;
docker-compose up -d
温馨提示
:密码配置文件有,默认Harbor12345
6、登录
初始的默认用户是admin
,密码是Harbor12345
,登录成功:
镜像上传与拉取
1、准备
(1)万物皆hello-world,准备hello-world镜像
docker pull hello-world
(2)新增项目
2、登录
docker login 192.168.239.11:80
user:admin
password:
Login Succeeded
3、标记
在项目中标记需要上传的镜像
docker tag hello-world 192.168.239.11:80/test1/hello-world:1.0
温馨提示
:端口被忘带了,这不是浏览器!!!
4、推送
将标记好的镜像,推送镜像到当前项目
docker push 192.168.239.11:80/test1/hello-world:1.0
5、拉取
docker pull 192.168.239.11:80/test1/hello-world:1.0
温馨提示
:拉取之前记得login
其他常见问题
当进行login时,会出现如下报错:
此时,需要将私服的htp地址配置到docker的不安全register中
\# vim /etc/docker/daemon.json
{
"insecure-registries": ["192.168.239.11:80"]
}
温馨提示
:端口别忘带了,这不是浏览器!!!
重启docker服务后可以正常login进docker私服 重启docker服务后可以正常login进docker私服 重启docker服务后可以正常login进docker私服
systemctl daemon-reload && systemctl restart docker
相关文章
- k8s学习七:使用本地docker镜像仓库部署服务
- 一文掌握 Docker 技术体系
- Docker镜像详解(手拉手教你上传至阿里云,发布到私有库)
- docker安装oracle11g
- ERROR: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon runn
- docker 离线安装_docker 离线安装
- Docker-compose容器编排
- Docker 软件安装
- 「 【Docker】利用宝塔docker管理器搭建为知笔记(docker安装为知笔记) 」
- 【ES三周年】在Docker环境下部署EFK日志收集系统
- 【Docker 系列】docker 学习十,Compose 编写规则及wp 实战
- Windows系统安装Docker遇到error during connect: In the default daemon configuration on Windows, the docker
- 4 个超实用的 Docker 镜像构建技巧
- 容器技术-Docker的优点
- 无需依赖 Docker 环境制作 Java 应用镜像
- 使用Docker安装Redis,一步到位!(docker安装redis)
- docker从Abp到MySQL,使用Docker快速部署(abpmysql)
- flannel概述-每天5分钟玩转 Docker 容器技术(58)
- 容器如何访问外部世界?- 每天5分钟玩转 Docker 容器技术(36)
- 理解容器之间的连通性 – 每天5分钟玩转 Docker 容器技术(34)
- 一张图搞懂容器所有操作 – 每天5分钟玩转 Docker 容器技术(26)
- Docker 镜像小结 – 每天5分钟玩转 Docker 容器技术(21)
- 使用 Docker 轻松安装 MySQL 数据库(docker安装mysql)
- 利用Docker搭建本地RedisLabs镜像(创建本地的redis镜像)
- 【CI/CD技术专题】「Docker实战系列」使用Maven插件构建Docker镜像的方法