Harbor安装和基本使用

Harbor

Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器。
如:
gitlab : git 私服
nexus : maven 私服
harbor: docker 私服

下载

下载链接:https://github.com/goharbor/harbor.
压缩包下载地址:https://github.com/goharbor/harbor/releases.
在这里插入图片描述
百度网盘链接:https://pan.baidu.com/s/1y3pQUfhVfLlsbeNssgmYfw.
提取码:hhg5
在这里插入图片描述
关闭防火墙和启动docker

systemctl stop firewalld
systemctl start docker

上传至linux并解压

tar -zxvf harbor-offline-installer-v1.8.0.tgz.tar

修改配置文件

cd harbor
vim harbor.yml 

# 修改为域名或你服务器 IP	
hostname: 192.168.**.**

在这里插入图片描述

执行安装脚本。注:执行之前要安装 docker-compose

./install.sh

验证是否安装成功

通过浏览器访问 http://192.168.**.** 																												
输入账号 admin,密码 Harbor12345,登录成功后可以创建项目

在这里插入图片描述

harbor 的启动和停止

# 启动										
docker-compose start										
# 停止										
docker-comose stop										
# 重启										
docker-compose restart										

设置集成服务器

设置私服(这里配置harbor服务器的ip)

在 /etc/docker/daemon.json 中增加如下内容(如果文件不存就新建该文件)
修改后记得重启docker

[root@base ~]# cd /etc/docker
[root@base docker]# ls
daemon.json  key.json
[root@base docker]# vim daemon.json
[root@base docker]# cat daemon.json 
{
    "registry-mirrors":["https://plxiqtpg.mirror.aliyuncs.com"],
    "insecure-registries":["192.168.182.131"]
}
[root@base docker]# systemctl restart docker
# 设置密码
[root@base docker]# vim harbor_pw
[root@base docker]# cat harbor_pw 
Harbor12345
登录harbor
[root@base docker]# cat /etc/docker/harbor_pw  | docker login 192.168.182.131 -u admin --password-stdin
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

查看本地的镜像

docker images

标记想推送的镜像(镜像名按如下要求)
在这里插入图片描述

docker tag  镜像id   harbor的ip/项目名/镜像名:tag
docker tag  5c9f0869c789   192.168.182.131/demo/image:1.0

推送镜像

docker push 镜像名:tag

拉去镜像

docker pull 镜像名:tag

具体操作流程

[root@base docker]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
image        1.0       5c9f0869c789   27 hours ago   332MB
openjdk      8-jre     26ac3f63d29f   3 days ago     273MB
mysql        5.7       c20987f18b13   4 days ago     448MB
mysql        latest    3218b38490ce   4 days ago     516MB
[root@base docker]# docker tag  5c9f0869c789   192.168.182.131/demo/image:1.0
[root@base docker]# docker images
REPOSITORY                   TAG       IMAGE ID       CREATED        SIZE
192.168.182.131/demo/image   1.0       5c9f0869c789   27 hours ago   332MB
image                        1.0       5c9f0869c789   27 hours ago   332MB
openjdk                      8-jre     26ac3f63d29f   3 days ago     273MB
mysql                        5.7       c20987f18b13   4 days ago     448MB
mysql                        latest    3218b38490ce   4 days ago     516MB
[root@base docker]# docker push 192.168.182.131/demo/image:1.0
The push refers to repository [192.168.182.131/demo/image]
79ba94021d45: Pushed 
2c95a0eeb72b: Pushed 
b4cfcb8385a8: Pushed 
2b730cf18c09: Pushed 
edeaba958753: Pushed 
8bf42db0de72: Pushed 
31892cc314cb: Pushed 
11936051f93b: Pushed 
1.0: digest: sha256:e18ed06a6d233dda2afce649f3ac809fe270108f8c045ad70422f84507ecafd9 size: 2000

在harbor上查看
在这里插入图片描述
拉取镜像

[root@base docker]# docker images
REPOSITORY                   TAG       IMAGE ID       CREATED        SIZE
192.168.182.131/demo/image   1.0       5c9f0869c789   27 hours ago   332MB
image                        1.0       5c9f0869c789   27 hours ago   332MB
openjdk                      8-jre     26ac3f63d29f   3 days ago     273MB
mysql                        5.7       c20987f18b13   4 days ago     448MB
mysql                        latest    3218b38490ce   4 days ago     516MB

[root@base docker]# docker rmi -f 192.168.182.131/demo/image:1.0 image:1.0

[root@base docker]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED      SIZE
openjdk      8-jre     26ac3f63d29f   3 days ago   273MB
mysql        5.7       c20987f18b13   4 days ago   448MB
mysql        latest    3218b38490ce   4 days ago   516MB

[root@base docker]# docker pull 192.168.182.131/demo/image:1.0
1.0: Pulling from demo/image
0e29546d541c: Already exists 
9b829c73b52b: Already exists 
cb5b7ae36172: Already exists 
99ce012bef04: Already exists 
22dc2a72d098: Already exists 
9c69a57e10d9: Already exists 
3fd945f3699a: Pull complete 
c59823f8d50a: Pull complete 
Digest: sha256:e18ed06a6d233dda2afce649f3ac809fe270108f8c045ad70422f84507ecafd9
Status: Downloaded newer image for 192.168.182.131/demo/image:1.0
192.168.182.131/demo/image:1.0
[root@base docker]# docker images
REPOSITORY                   TAG       IMAGE ID       CREATED        SIZE
192.168.182.131/demo/image   1.0       5c9f0869c789   27 hours ago   332MB
openjdk                      8-jre     26ac3f63d29f   3 days ago     273MB
mysql                        5.7       c20987f18b13   4 days ago     448MB
mysql                        latest    3218b38490ce   4 days ago     516MB
[root@base docker]# cd /usr/project/dockerfile/
[root@base dockerfile]# ls
data  docker-compose.yaml  Dockerfile  right.jar  share.jar  user.jar
[root@base dockerfile]# vim docker-compose.yaml 
[root@base dockerfile]# cat docker-compose.yaml 
version: '3.1'
services:
  mysql_linux:           # 服务的名称 
    restart: always   # 代表只要docker启动,那么这个容器就跟着一起启动
    image: mysql:5.7  # 指定镜像路径                      
    container_name: mysql_linux  # 指定容器名称
    ports:
      - 3308:3306   #  指定端口号的映射
    environment:
      MYSQL_ROOT_PASSWORD: root  # 指定MySQL的ROOT用户登录密码
      TZ: Asia/Shanghai        # 指定时区
    volumes:
     - ./data:/var/lib/mysql   # 映射数据卷
  springcloud_user:           # 服务的名称
    restart: always   # 代表只要docker启动,那么这个容器就跟着一起启动
    image: 192.168.182.131/demo/image:1.0  # 指定镜像路径
    container_name: springcloud_user  # 指定容器名称
    ports:
      - 7001:6001   #  指定端口号的映射
    environment:
      profiles: prod                                                                                     
      TZ: Asia/Shanghai        # 指定时区
[root@base dockerfile]# docker-compose  up -d
mysql_linux is up-to-date
Creating springcloud_user ... done
[root@base dockerfile]# docker ps
CONTAINER ID   IMAGE                            COMMAND                  CREATED          STATUS          PORTS                                                  NAMES
aac754ed9c71   192.168.182.131/demo/image:1.0   "java -jar user_imag…"   21 seconds ago   Up 20 seconds   0.0.0.0:7001->6001/tcp, :::7001->6001/tcp              springcloud_user
0458ea31025a   mysql:5.7                        "docker-entrypoint.s…"   27 hours ago     Up 16 minutes   33060/tcp, 0.0.0.0:3308->3306/tcp, :::3308->3306/tcp   mysql_linux

测试成功
在这里插入图片描述
整理一张流程图
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jsxllht

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值