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



浙公网安备 33010602011771号