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. 构建镜像

docker build --build-arg JAR_FILE=tensquare_eureka_server-1.0-SNAPSHOT.jar -t eureka:v1 .

4. 查看镜像是否创建成功

docker images

5. 给镜像打上标签

docker tag eureka:v1 192.168.2.6:85/tensquare/eureka:v1

这里harbor服务器地址是192.168.2.6和端口改为85

6. 把Harbor地址加入到Docker信任列表

vi /etc/docker/daemon.json

Harbor地址加入到Docker信任列表

{
	"registry-mirrors": ["https://zydiol88.mirror.aliyuncs.com"],
	"insecure-registries": ["192.168.2.6:85"]
}

重启Docker

systemctl restart docker

7. 登录 Harbor

docker login -u 用户名 -p 密码 192.168.2.6:85

8. 执行推送命令

docker push 192.168.2.6:85/tensquare/eureka:v1

6. 从Harbor下载镜像

1. 安装Docker,并启动

systemctl status docker

2. 把Harbor地址加入到Docker信任列表

vi /etc/docker/daemon.json

写入如下配置

{
	"registry-mirrors": ["https://zydiol88.mirror.aliyuncs.com"],
	"insecure-registries": ["192.168.2.6:85"]
}

重启docker

systemctl restart docker

3. 先登录,再从Harbor下载镜像

docker login -u 用户名 -p 密码 192.168.2.6:85
docker pull 192.168.2.6:85/tensquare/eureka:v1


posted @ 2020-05-16 13:33  if年少有为  阅读(2135)  评论(0编辑  收藏  举报