harbor的安装使用
下载
https://github.com/goharbor/harbor/releases/download/v2.0.0/harbor-offline-installer-v2.0.0.tgz
安装
yum install docker-compose -y
rpm -qa docker-compose
tar xf harbor-offline-installer-v2.0.0.tgz -C /opt
cd /opt/harbor
./install
注意:此处使用443端口,需要自签证书,
浏览器访问:
192.168.11.138,并登录harbor
配置客户端仓库地址
vim /etc/docker/daemon.json
{"insecure-registries":["192.168.11.138"]}
systemctl daemon-reload
systemctl restart docker
客户端登录harbor私有仓库,账admin,密 Harbor12345
docker login 192.168.11.138
替换镜像标签,并推送
docker tag ubuntu:latest 192.168.11.138/test/ubuntu:v1
docker push 192.168.11.138/test/ubuntu:v1
docker push 192.168.11.138/test/linux:v1
Dockerfile
FROM ubuntu:latest
MAINTAINER bq-test
ADD test.file /
EXPOSE 22
docker镜像的导出与导入
导出:
docker save -o 要保存的文件名 要保存的镜像
导入镜像:
docker load --input 文件
docker load < 文件名
eg:
docker save -o ./test.tar test:v1
docker load --input test.tar
docker load < ubuntu.tar
docker镜像的制作
-
基于dockerfile的制作
# 基础镜像 FROM centos # 维护者信息 MAINTAINER lemon # 设置环境变量 ENV PATH /usr/local/nginx/sbin:$PATH # 文件放在当前目录下,拷过去会自动解压 ADD nginx-1.8.0.tar.gz /usr/local/ # 执行以下命令 RUN rpm -ivh /usr/local/epel-release-latest-7.noarch.rpm RUN yum install -y wget lftp gcc gcc-c++ make openssl-devel pcre-devel pcre && yum clean all RUN useradd -s /sbin/nologin -M www # 映射端口 EXPOSR 80 -
在原有基础上制作
1、进入到镜像生成的容器中进行修改,修改后,保存退出镜像 2、查找修改的容器信息,并构建新的镜像 3、上传仓库
QA
Q:一次客户端登录harbor时,出现以下错误,
Error response from daemon: Get https://192.168.11.120:80/v2/: http: server gave HTTP response to HTTPS client
Error response from daemon: Get https://192.168.11.120/v2/: dial tcp 192.168.11.120:443: connect: connection refused
A:首先清处原有的镜像,然后重起docker,重新登录
systemctl restart docker
# docker login 192.168.11.120
Username: admin
Password:
harbor管理helm-chart
harbor安装的时候默认没有helm charts的仓库,启用 harbor 的 chart repository 服务
docker-compose stop
./install.sh --with-chartmuseum
helm 二进制安装
#从官网下载最新版本的二进制安装包到本地:https://github.com/kubernetes/helm/releases
tar -zxvf helm-v3.2.1-linux-amd64.tar.gz # 解压压缩包
# 把 helm 指令放到bin目录下
mv linux-amd64/helm /usr/bin/helm
helm help # 验证
安装helm插件
helm plugin install https://github.com/chartmuseum/helm-push
添加chart仓库
helm repo add docker --username admin --password=Harbor12345 http://192.168.11.120:80/chartrepo/docker
helm repo list
创建chart
helm create test-app
cd test-app
chart文件结构此处以test-app为例
./
├── charts
├── Chart.yaml
├── templates
│ ├── deployment.yaml
│ ├── _helpers.tpl
│ ├── hpa.yaml
│ ├── ingress.yaml
│ ├── NOTES.txt
│ ├── serviceaccount.yaml
│ ├── service.yaml
│ └── tests
│ └── test-connection.yaml
└── values.yaml
打包:
helm package test-app
推送仓库
helm repo list
helm push test-app-0.1.0.tgz
[root@test-k8s-01 templates]# helm repo list
NAME URL
mylibrary http://192.168.11.120:80/chartrepo/library
stable https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
myrepo http://192.168.11.120:80/chartrepo/test
docker http://192.168.11.120:80/chartrepo/docker
[root@test-k8s-01 ~]# helm push test-app-0.1.0.tgz docker
Pushing test-app-0.1.0.tgz to docker...
Done.
[root@test-k8s-01 ~]#
下载
helm fetch stable/redis-ha