搭建好 Harbor 私有仓库后下面分享一下怎么使用。
1. 创建项目
Harbor的项目分为公开和私有的:
公开项目:所有用户都可以访问,通常存放公共的镜像,默认有一个library公开项目。
私有项目:只有授权用户才可以访问,通常存放项目本身的镜像。
我们可以为微服务项目创建一个新的项目:

2. 创建用户



3. 给私有项目分配用户
进入刚创建的项目->成员



角色
|
权限说明
|
访客
|
对于指定项目拥有只读权限
|
开发人员
|
对于指定项目拥有读写权限
|
维护人员
|
对于指定项目拥有读写权限,创建 Webhooks
|
项目管理员
|
除了读写权限,同时拥有用户管理/镜像扫描等管理权限
|
4. 以新用户登录Harbor

5. 制作并把镜像上传到Harbor
这里以一个Eureka服务为例
1. 上传Eureka的微服务jar包到linux
2. 编写Dockerfile
#FROM java:11
FROM openjdk:11-jdk
ARG JAR_FILE
COPY ${JAR_FILE} app.jar
EXPOSE 10086
ENTRYPOINT ["java","-jar","/app.jar"]
3. 把Harbor地址加入到Docker信任列表
vi /etc/docker/daemon.json
将Harbor地址加入到Docker信任列表
{
"insecure-registries": ["192.168.1.247:443"]
}
重启Docker
systemctl restart docker
4. 构建镜像
docker build --build-arg JAR_FILE=tensquare_eureka_server-1.0-SNAPSHOT.jar -t eureka:v1
5. 查看镜像是否创建成功
docker images
6. 给镜像打上标签
docker tag eureka:v1
192.168.1.247:443
/tensquare/eureka:v1
这里harbor服务器地址是192.168.1.247端口为443
7. 登录 Harbor
docker login -u 用户名 -p 密码 192.168.1.247:443
8. 执行上传tag打包后的镜像命令
docker push REPOSITORY ###
push 格式
docker push 192.168.1.247:443/tensquare/eureka:v1
6.远程机器使用Harbor下载镜像
1. 远程机器也需安装Docker,并启动
systemctl status docker
2. 把Harbor地址加入到Docker信任列表
vi /etc/docker/daemon.json
写入如下配置
{
"insecure-registries": ["192.168.1.247:443"]
}
重启docker
systemctl restart docker
3. 先登录,再从Harbor下载镜像
docker login -u 用户名 -p 密码 192.168.1.247:443
docker pull 仓库地址和镜像仓库里面的名称
192.168.1.247:443(
仓库地址
) /tensquare/eureka:v1(
镜像仓库里面的名称
)
docker pull 192.168.1.247:443/tensquare/eureka:v1