安装harbor,制作镜像,测试上传下载,数据库部署,准备网站数据/安装harbor,制作镜像,测试上传下载,数据库部署,准备网站数据

该文详细介绍了如何在Linux环境中安装和部署Harbor私有仓库,包括创建HTTPS证书、配置文件修改、启动服务等步骤。同时,文中还涵盖了MySQL数据库、Redis服务和Nacos服务的部署,以及RocketMQ的安装,所有服务均通过ELB进行负载均衡发布,并进行了访问和功能测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

一、安装harbor

一、安装部署


1、部署harbor

#安装部署
[root@jumpserver ~]# ssh -p2222 operation@192.168.1.252
operation@192.168.1.252's password: 
                运维人员,  JumpServer 开源堡垒机

        1) 输入 部分IP,主机名,备注 进行搜索登录(如果唯一).
        2) 输入 / + IP,主机名,备注 进行搜索,如:/192.168.
        3) 输入 p 进行显示您有权限的主机.
        4) 输入 g 进行显示您有权限的节点.
        5) 输入 d 进行显示您有权限的数据库.
        6) 输入 k 进行显示您有权限的Kubernetes.
        7) 输入 r 进行刷新最新的机器和节点信息.
        8) 输入 s 进行中英日语言切换.
        9) 输入 h 进行显示帮助.
        10) 输入 q 进行退出.
Opt> p
  ID  | 主机名                                   | IP            | 平台     | 组织     | 备注     
------+------------------------------------------+---------------+----------+----------+----------
  1   | harbor                                   | 192.168.1.30 | Linux    | Default  |          
  2   | nacos                                    | 192.168.1.13  | Linux    | Default  |          
  3   | rocketmq                                 | 192.168.1.14  | Linux    | Default  |          
  4   | test                                     | 192.168.1.101 | Linux    | Default  |         
页码:1,每页行数:21,总页数:1,总数量:2
提示:输入资产ID直接登录,二级搜索使用 // + 字段,如://192 上一页:b 下一页:n
搜索:
[Host]> 1
[op@harbor ~]$ sudo -s
# 安装部署 docker 及 compose 组件
[root@harbor op]# yum install -y docker-ce docker-compose-plugin
[root@harbor harbor]# systemctl enable --now docker

拷贝harbor-v2.7.0.tgz 到 harbor 主机 
[root@jumpserver ~]# scp /root/s4/public/harbor-v2.7.0.tgz 192.168.1.30:/root/

#创建 https 证书,后期harbor使用https的方式访问,使用openssl工具生成一个RSA密钥对,放到/root/tls/,名称为cert.key,秘钥位数2048位;使用openssl工具生成一个有效期为10年的证书,私钥使用之前生成的/root/tls/cert.key文件,将生成的证书保存到/root/tls/cert.crt文件中,并设置证书的主题信息
[root@harbor op]# cd /root/
[root@harbor ~]# tar -xf harbor-v2.7.0.tgz -C /usr/local/
[root@harbor ~]# cd /usr/local/harbor
[root@harbor harbor]# mkdir /root/tls
[root@harbor harbor]# openssl genrsa -out /root/tls/cert.key 2048
[root@harbor harbor]# openssl req -new -x509 -days 3650 -key /root/tls/cert.key -out /root/tls/cert.crt -subj "/C=CN/ST=BJ/L=BJ/O=Tedu/OU=NSD/CN=harbor"

# 修改配置文件
[root@harbor harbor]# cp harbor.yml.tmpl harbor.yml
[root@harbor harbor]# vim harbor.yml
  5 hostname: harbor               #harbor地址
  8 #http:                         #加上注释
 10   #port: 80                    #加上注释
 17   certificate: /root/tls/cert.crt    #nginx的证书文件位置
 18   private_key: /root/tls/cert.key    #nginx的秘钥文件位置


# 安装harbor
[root@harbor harbor]# ./install.sh 
[root@harbor harbor]# docker compose ps     # 查看容器状态,全部是healthy
NAME                COMMAND                  SERVICE             STATUS              PORTS
harbor-core         "/harbor/entrypoint.…"   core                running (healthy)   
harbor-db           "/docker-entrypoint.…"   postgresql          running (healthy)   
harbor-jobservice   "/harbor/entrypoint.…"   jobservice          running (healthy)   
harbor-log          "/bin/sh -c /usr/loc…"   log                 running (healthy)   127.0.0.1:1514->10514/tcp
harbor-portal       "nginx -g 'daemon of…"   portal              running (healthy)   
nginx               "nginx -g 'daemon of…"   proxy               running (healthy)   0.0.0.0:80->8080/tcp, :::80->8080/tcp, 0.0.0.0:443->8443/tcp, :::443->8443/tcp
redis               "redis-server /etc/r…"   redis               running (healthy)   
registry            "/home/harbor/entryp…"   registry            running (healthy)   
registryctl         "/home/harbor/start.…"   registryctl         running (healthy) 


1、发布 harbor 服务

通过ELB发布,ELB发布时监听443端口即可

 

 点击提交,点击返回列表


3、访问测试

通过浏览器访问:https://ELB地址

 4、制作镜像,测试上传下载

制作启动jar的基础镜像

通过test主机制作镜像,测试上传下载
[root@harbor harbor]# exit
[op@harbor ~]$ logout
[Host]> 4
开始连接到 普通用户op@192.168.1.101  0.1
...
[op@test ~]$ sudo -s
[root@test op]# vim /etc/hosts          #配置主机名解析
192.168.1.30   harbor
[root@test op]# yum -y install docker-ce
[root@test op]# mkdir -p /etc/docker
[root@test op]# vim /etc/docker/daemon.json
{
   "registry-mirrors": ["https://harbor:443"],
   "insecure-registries": ["harbor:443"]
}
[root@test op]# systemctl enable --now docker


# 登录 harbor 仓库,用户名密码可能和自己的环境不一样,使用直接设置的用户名和密码
[root@test op]# docker login harbor:443
Username: admin     #用户名admin
Password:           #密码Harbor12345


# 认证信息记录文件在/root/.docker/config.json文件中

制作启动jar的基础镜像
[root@test op]# scp 192.168.1.252:/root/s4/public/myos.tar.xz /root/
[root@test op]# docker load -i /root/myos.tar.xz 
[root@test op]# mkdir /root/jar-package
[root@test op]# cd /root/jar-package/
[root@test jar-package]# vim Dockerfile
FROM myos:8.5
RUN yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel && yum clean all
CMD ["/bin/bash"]
[root@harbor jar-package]# docker build -t  jar:base .

打标签上传jar:base镜像
[root@test jar-package]# docker tag jar:base harbor:443/myimg/jar:base
[root@test jar-package]# docker push harbor:443/myimg/jar:base

打标签上传myos:nginx镜像
[root@test jar-package]# docker tag myos:nginx harbor:443/myimg/tea:nginx
[root@test jar-package]# docker push harbor:443/myimg/tea:nginx

在harboor的web页面可以看到myimg项目中有两个镜像 

测试下载

[root@test jar-package]# docker rmi jar:base 
[root@test jar-package]# docker rmi harbor:443/myimg/jar:base 
[root@test jar-package]# docker pull harbor:443/myimg/jar:base      #下载成功

如果harbor停止了,可以使用如下命令启动
[root@harbor k8s]# cd /usr/local/harbor/
[root@test harbor]# docker compose start

可以看到下载次数为1
二、数据库部署

一、购买MySQL数据库


1、部署后端MySQL数据库

下载https://gitee.com/cc-0001/tea项目到自己真机本地,使用华为云的RDS数据库

 


1、准备学茶网数据库

创建存放学茶网站数据的数据库tarena_tp_tea

创建授权用户teauser,任意主机可以连接,密码Taren123,并授权

导入数据


2、准备验证码数据库

创建存放学茶登录网站验证码数据库cs_mall_passport
创建用户cs_mall_user,任意主机可以连接,密码Taren123,并授权

 

  导入数据 

 
二、购买redis数据库


1、Redis服务部署

使用云数据库GaussDB(for Redis)

  

 命令行连接redis,找到redis负载均衡的地址

使用jumpserver的主机测试
[root@jumpserver ~]# yum -y install redis
[root@jumpserver ~]# redis-cli -h 192.168.1.147 -p 6379 -a Taren123
192.168.1.147:6379> ping
PONG
192.168.1.147:6379> 


三、nacos部署
三、nacos服务部署

#通过jumpserver连接nacos
[root@jumpserver ~]# ssh -p2222 operation@192.168.1.252
operation@192.168.1.252's password: 
Opt> p          #输入p
  ID  | 主机名                                   | IP            | 平台     | 组织     | 备注    
------+------------------------------------------+---------------+----------+----------+---------
  1   | harbor                                   | 192.168.1.30 | Linux    | Default  |         
  2   | nacos                                    | 192.168.1.13  | Linux    | Default  |         
  3   | rocketmq                                 | 192.168.1.14  | Linux    | Default  |         
  4   | test                                     | 192.168.1.101 | Linux    | Default  |         
页码:1,每页行数:21,总页数:1,总数量:4
提示:输入资产ID直接登录,二级搜索使用 // + 字段,如://192 上一页:b 下一页:n
搜索:
[Host]> 2       #进入nacos主机
[op@nacos ~]$ sudo -s

#另开一个jumpserver终端,解压tar包
[root@jumpserver ~]# tar -xf package.tar.gz  -C /root

#安装nacos,上传nacos到jumpserver主机的root目录下,拷贝到nacoa主机
[root@nacos op]# scp 192.168.1.252:/root/package/nacos-server-2.0.2.tar.gz /root/
[root@nacos op]# tar xf /root/nacos-server-2.0.2.tar.gz -C /usr/local/

#安装JDK8环境并配置环境变量
[root@nacos op]# yum -y install java-1.8.0-openjdk-devel
[root@nacos op]# ln -s /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.372.b07-4.el8.x86_64/ /usr/lib/jvm/jdk8
[root@nacos op]# vim /etc/bashrc        #文件末尾添加
...
export JDK8_HOME="/usr/lib/jvm/jdk8"
export NACOS_HOME="/usr/local/nacos"
export PATH=${JDK8_HOME}/bin/:${NACOS_HOME}/bin/:$PATH
[root@nacos nacos]# source /etc/bashrc

#配置nacos
[root@nacos ~]#  cd /usr/local/nacos/
[root@nacos nacos]# vim conf/application.properties
 33 spring.datasource.platform=mysql
 36 db.num=1
 39 db.url.0=jdbc:mysql://192.168.1.12:3306/nacos?characterEncoding=utf8&connectTim    eout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&se    rverTimezone=UTC
 40 db.user.0=nacos
 41 db.password.0=Taren123


1、nacos服务部署


1、创建nacos库,存储注册中心数据

创建nacos库

创建nacos用户任意主机可以连接,密码Taren123,并授权

 

 导入数据

 

#修改nacos启动脚本
[root@nacos nacos]# vim bin/startup.sh 
 55 export MODE="standalone"
 87     JAVA_OPT="${JAVA_OPT} -Xms256m -Xmx256m -Xmn128m"

#启动nacos服务
[root@tea nacos]# ./bin/startup.sh 
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-1.el8_5.x86_64/bin/java  -Xms256m -Xmx256m -Xmn128m -Dnacos.standalone=true -Dnacos.member.list= -Djava.ext.dirs=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-1.el8_5.x86_64/jre/lib/ext:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-1.el8_5.x86_64/lib/ext -Xloggc:/usr/local/nacos/logs/nacos_gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M -Dloader.path=/usr/local/nacos/plugins/health,/usr/local/nacos/plugins/cmdb -Dnacos.home=/usr/local/nacos -jar /usr/local/nacos/target/nacos-server.jar  --spring.config.additional-location=file:/usr/local/nacos/conf/ --logging.config=/usr/local/nacos/conf/nacos-logback.xml --server.max-http-header-size=524288
nacos is starting with standalone
nacos is starting,you can check the /usr/local/nacos/logs/start.out

#确认nacos服务启动
[root@nacos nacos]# tail -2 logs/start.out 
2023-07-05 02:37:20,239 INFO Nacos started successfully in stand alone mode. use external storage


[root@nacos nacos]# jps
3073 Jps
1122 WrapperSimpleApp
2827 nacos-server.jar

[root@nacos nacos]# ss -antpul | grep java
udp   UNCONN 0      0                                     *:52671            *:*    users:(("java",pid=5726,fd=68))         
udp   UNCONN 0      0                                     *:38540            *:*    users:(("java",pid=5726,fd=67))         
tcp   LISTEN 0      100                                   *:8848             *:*    users:(("java",pid=5726,fd=147))        
tcp   LISTEN 0      128                                   *:9848             *:*    users:(("java",pid=5726,fd=100))        
tcp   LISTEN 0      128                                   *:9849             *:*    users:(("java",pid=5726,fd=101))        
tcp   LISTEN 0      128                                   *:7848             *:*    users:(("java",pid=5726,fd=102))        
[root@tea nacos]# 

#设置nacos服务开机自启动,文件最后添加
[root@nacos nacos]# vim /etc/rc.d/rc.local
...
/usr/local/nacos/bin/startup.sh
[root@nacos nacos]# chmod +x /etc/rc.d/rc.local 


2、通过负载均衡ELB发布nacos

 

 

访问nacos,ELB的公网ip:8848/nacos访问,用户名nacos,密码nacos

 

创建新的名称空间project,用于后期使用 


四、RocketMQ服务部署


四、安装RockerMQ


1、安装RockerMQ

依然使用jumpserver管理机器
[root@jumpserver ~]# ssh -p2222 operation@192.168.1.252
operation@192.168.1.252's password: 
Opt> p          #输入p
  ID  | 主机名                                   | IP            | 平台     | 组织     | 备注    
------+------------------------------------------+---------------+----------+----------+---------
  1   | harbor                                   | 192.168.1.30 | Linux    | Default  |         
  2   | nacos                                    | 192.168.1.13  | Linux    | Default  |         
  3   | rocketmq                                 | 192.168.1.14  | Linux    | Default  |         
  4   | test                                     | 192.168.1.101 | Linux    | Default  |         
页码:1,每页行数:21,总页数:1,总数量:4
提示:输入资产ID直接登录,二级搜索使用 // + 字段,如://192 上一页:b 下一页:n
搜索:
[Host]> 3       #进入rocketmq主机
[op@rocketmq ~]$ sudo -s

#安装RocketMQ
[root@rocketmq op]# scp 192.168.1.252:/root/package/rocketmq-all-4.9.4-bin-release.zip /root/
[root@rocketmq op]# unzip /root/rocketmq-all-4.9.4-bin-release.zip 
[root@rocketmq op]# mv rocketmq-all-4.9.4-bin-release/ /usr/local/rocketmq
[root@rocketmq op]# ls /usr/local/rocketmq
benchmark  bin  conf  lib  LICENSE  NOTICE  README.md

#安装JDK8环境并RocketMQ环境变量
[root@rocketmq op]# yum -y install java-1.8.0-openjdk-devel
[root@rocketmq op]# ln -s /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.372.b07-4.el8.x86_64/ /usr/lib/jvm/jdk8
[root@rocketmq op]# vim /etc/bashrc     #文件末尾添加
...
export JDK8_HOME="/usr/lib/jvm/jdk8"
export ROCKETMQ_HOME="/usr/local/rocketmq"
export PATH=${JDK8_HOME}/bin/:${ROCKETMQ_HOME}/bin/:$PATH
[root@rocketmq op]# source /etc/bashrc

#配置RocketMQ服务
[root@rocketmq op]# cd /usr/local/rocketmq/
[root@rocketmq rocketmq]# vim conf/broker.conf  #文件末尾追加
...
namesrvAddr=0.0.0.0:9876    #指定RocketMQ Broker要连接的NameServer的地址和端口,0.0.0.0表示监听所有网络接口
brokerIP1=192.168.1.14      #指定Broker所在主机的IP地址,写自己本机eth0的ip
brokerIP2=127.0.0.1         #写自己本机127.0.0.1

#配置JVM虚拟机参数
[root@rocketmq rocketmq]# vim bin/runserver.sh
 71       JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m -XX:MetaspaceSiz    e=128m -XX:MaxMetaspaceSize=128m"
 
[root@rocketmq rocketmq]# vim bin/runbroker.sh 
 85 JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m"
 
#启动RocketMQ服务
[root@rocketmq rocketmq]# nohup bash /usr/local/rocketmq/bin/mqnamesrv -n 0.0.0.0:9876 &> /usr/local/rocketmq/bin/namesrv.log 2>&1 &
[root@rocketmq rocketmq]# nohup bash /usr/local/rocketmq/bin/mqbroker -n 192.168.1.14:9876 autoCreateTopicEnable=true -c /usr/local/rocketmq/conf/broker.conf &> /usr/local/rocketmq/bin/mqbroker.log 2>&1 &    #autoCreateTopicEnable=true 是否启用自动创建Topic的功能,地址改成自己本机eth0的ip

#验证RocketMQ启动结果
[root@rocketmq rocketmq]# jps
2787 Jps
1128 WrapperSimpleApp
2697 BrokerStartup
2378 NamesrvStartup
[root@rocketmq rocketmq]# ss -antplu | grep java
tcp   LISTEN 0      1024               *:9876             *:*    users:(("java",pid=2378,fd=94)) 
tcp   LISTEN 0      1024               *:10909            *:*    users:(("java",pid=2697,fd=129))
tcp   LISTEN 0      1024               *:10911            *:*    users:(("java",pid=2697,fd=128))
tcp   LISTEN 0      50                 *:10912            *:*    users:(("java",pid=2697,fd=124))


2、验证RocketMQ启动结果

#拷贝jar包到rocketmq主机,使用以下命令启动,用于启动RocketMQ控制台;--rocketmq.config.namesrvAddr=192.168.1.14:9876 是指定RocketMQ控制台连接的Name Server的地址和端口

[root@rocketmq rocketmq]# scp 192.168.1.252:/root/package/rocketmq-console-ng-1.0.0.jar /root/
[root@rocketmq rocketmq]# nohup java -jar /root/rocketmq-console-ng-1.0.0.jar --rocketmq.config.namesrvAddr=192.168.1.14:9876   &> /usr/local/rocketmq/bin/rocketmq-console.log 2>&1 &  #地址改成自己eth0的ip

另开一个终端查看
[root@rocketmq rocketmq]# ss -antlp     #有8080端口
...                                                
LISTEN     0           100                          *:8080                       *:* 


#设置RocketMQ服务开机自启动
[root@rocketmq rocketmq]# vim /etc/rc.d/rc.local    #文件末尾追加
nohup bash /usr/local/rocketmq/bin/mqnamesrv -n 0.0.0.0:9876 &> /usr/local/rocketmq/bin/namesrv.log 2>&1 &
nohup bash /usr/local/rocketmq/bin/mqbroker -n 192.168.1.14:9876 autoCreateTopicEnable=true -c /usr/local/rocketmq/conf/broker.conf &> /usr/local/rocketmq/bin/mqbroker.log 2>&1 &
nohup java -jar /root/rocketmq-console-ng-1.0.0.jar --rocketmq.config.namesrvAddr=192.168.1.14:9876 &> /usr/local/rocketmq/bin/rocketmq-console.log 2>&1 &
[root@rocketmq rocketmq]# chmod +x /etc/rc.d/rc.local


3、通过负载均衡发布rocketmq 

监听8080端口,浏览器访问  负载均衡ip:8080

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值