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