首页 > 其他分享 > docker之安装部署Harbor

docker之安装部署Harbor

时间:2023-02-12 21:01:14浏览次数:53  
标签:ssl Harbor 0.3 192.168 部署 harbor docker root

1、提前准备好docker环境

安装好openssl 后面使用

yum install openssl openssl-devel -y

2、下载harbor包 并解压

我这边直接官网找到 2.7.0比较新的版本 

​https://github.com/goharbor/harbor/releases/tag/v2.7.0​

 docker之安装部署Harbor_docker

操作命令

wget "https://github.com/goharbor/harbor/releases/download/v2.7.0/harbor-offline-installer-v2.7.0.tgz"  
# 若是下载慢,直接电脑下载后上传到服务器。

tar xvf harbor-offline-installer-v2.7.0.tgz -C /usr/local/

cd /usr/local/harbor/

3、加载镜像

加载镜像
[root@localhost harbor]# docker load <harbor.v2.7.0.tar.gz

 docker之安装部署Harbor_部署harbor_02

4、生成ca证书

#  mkdir /opt/ssl
# cd /opt/ssl
# pwd #当前目录:/opt/ssl

[root@ecs-songrytest /opt/ssl]# openssl genrsa -out ca.key 4096

[root@ecs-songrytest /opt/ssl]# openssl req -x509 -new -nodes -sha512 -days 36500 \
-subj "/C=CN/ST=ShangHai/L=ShangHai/O=Oldboy/OU=Linux/CN=192.168.0.3" \
-key ca.key \
-out ca.crt
#### 上述 ip换成自己的ip
# O代表组织
# OU代表组织别名
# CN代表域名,没有的可以用IP

5、生成服务器端证书

 ssl]# openssl genrsa -out 192.168.0.3.key 4096
ssl]# openssl req -sha512 -new \
-subj "/C=CN/ST=ShangHai/L=ShangHai/O=Oldboy/OU=Linux/CN=192.168.0.3" \
-key 192.168.0.3.key \
-out 192.168.0.3.csr

6、生成x509 v3服务文件

# cat > v3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = IP:192.168.0.3
EOF

7、使用该​​v3.ext​​文件为您的 Harbor 主机生成证书。

将192.168.0.3 CRS 和 CRT 文件名中的 替换为 Harbor 主机名

openssl x509 -req -sha512 -days 36500 \
-extfile v3.ext \
-CA ca.crt -CAkey ca.key -CAcreateserial \
-in 192.168.0.3.csr \
-out 192.168.0.3.crt

8、将192.168.0.3.csr转换成192.168.0.3.cert,给予docker使用

openssl x509 -inform PEM -in 192.168.0.3.crt -out 192.168.0.3.cert

9、创建docker证书存放目录

ssl]# mkdir -p /etc/docker/certs.d/192.168.0.3

ssl]# cp 192.168.0.3.key /etc/docker/certs.d/192.168.0.3/
ssl]# cp 192.168.0.3.cert /etc/docker/certs.d/192.168.0.3/
ssl]# cp ca.crt /etc/docker/certs.d/192.168.0.3/

ssl]# systemctl restart docker
[root@ecs-songrytest ssl]# ll
total 32
-rw-r--r-- 1 root root 2061 Feb 12 18:31 192.168.0.3.cert
-rw-r--r-- 1 root root 2061 Feb 12 18:30 192.168.0.3.crt
-rw-r--r-- 1 root root 1700 Feb 12 18:28 192.168.0.3.csr
-rw------- 1 root root 3243 Feb 12 18:27 192.168.0.3.key
-rw-r--r-- 1 root root 2049 Feb 12 18:22 ca.crt
-rw------- 1 root root 3243 Feb 12 18:19 ca.key
-rw-r--r-- 1 root root 41 Feb 12 18:30 ca.srl
-rw------- 1 root root 0 Feb 12 18:25 privkey.pem
-rw-r--r-- 1 root root 203 Feb 12 18:29 v3.ext

[root@ecs-songrytest ssl]# ll /etc/docker/certs.d/192.168.0.3/
total 12
-rw-r--r-- 1 root root 2061 Feb 12 18:32 192.168.0.3.cert
-rw------- 1 root root 3243 Feb 12 18:32 192.168.0.3.key
-rw-r--r-- 1 root root 2049 Feb 12 18:32 ca.crt

10、修改Harbor的配置文件

harbor]# pwd
/usr/local/harbor

[root@localhost harbor]# cp harbor.yml.tmpl harbor.yml
[root@localhost harbor]# vim harbor.yml
hostname: 192.168.0.3
port: 80 ##后面网站使用此端口

https:
# https port for harbor, default is 443
port: 443
certificate: /opt/ssl/192.168.0.3.crt
private_key: /opt/ssl/192.168.0.3.key

11、生成配置

 harbor]# ./prepare

 docker之安装部署Harbor_docker之安装部署Harbor_03

12、开始安装

harbor]# ./install.sh

 docker之安装部署Harbor_docker之安装部署Harbor_04

13、访问HTTPS

ip:80端口

用户名:admin
密码: Harbor12345
请记得及时修改默认密码

 docker之安装部署Harbor_部署harbor_05

14、注册。

 docker之安装部署Harbor_docker_06


docker login 192.168.0.3

 docker之安装部署Harbor_docker_07

 docker之安装部署Harbor_部署harbor_08

15、推送镜像测试

ssl]# docker login 192.168.0.3      #### 服务器登录harbor
Authenticating with existing credentials...
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

ssl]# docker images ##查看当前镜像
192.168.0.3/ops/centos8.4-py3.11.1-worker v1 c6f318dc97f7 44 hours ago 1.73GB
192.168.0.3/ops1/centos8.4-py3.11.1-worker v1 c6f318dc97f7 44 hours ago 1.73GB
centos8.4-py3.11.1-worker latest c6f318dc97f7 44 hours ago 1.73GB

[root@ecs-songrytest ssl]# docker tag centos8.4-py3.11.1-worker:latest 192.168.0.3/ops/centos8.4-py3.11.1-worker_ne1:v1
# 本地一个镜像,添加tag,到远程的harbor上标记

[root@ecs-songrytest ssl]# docker images
192.168.0.3/ops1/centos8.4-py3.11.1-worker v1 c6f318dc97f7 44 hours ago 1.73GB
centos8.4-py3.11.1-worker latest c6f318dc97f7 44 hours ago 1.73GB
192.168.0.3/ops/centos8.4-py3.11.1-worker v1 c6f318dc97f7 44 hours ago 1.73GB
192.168.0.3/ops/centos8.4-py3.11.1-worker_ne1 v1 ##已标记了。 c6f318dc97f7 44 hours ago 1.73GB
[root@ecs-songrytest ssl]#
#### 推送 标记的镜像到 远程 harbor
[root@ecs-songrytest ssl]# docker push 192.168.0.3/ops/centos8.4-py3.11.1-worker_ne1:v1
The push refers to repository [192.168.0.3/ops/centos8.4-py3.11.1-worker_ne1]
dcdba9dc9357: Pushed
08fd0aa2a842: Pushing [====================================> ] 1.104GB/1.498GB
命令格式:
login xxxxip:端口 ####服务器登录。
docker images 查看本地镜像。
docker tag 本地镜像id:版本 远程harbor_ip:port/项目名称/镜像名称:版本
docker push 远程harbor_ip:port/项目名称/镜像名称:版本

16、docker 登录信息在家目录下的~.docker/config.json文件中

[root@ecs-songrytest ssl]# cat ~/.docker/config.json 
{
"auths": {
"192.168.0.3": {
"auth": "b3BzOjEyMxxxxxxxx"
},
"https://index.docker.io/v1/": {
"auth": "c29uZ3J5Oldxxxx5"
}
}
}[root@ecs-songrytest ssl]# docker logout 192.168.0.3
Removing login credentials for 192.168.0.3
[root@ecs-songrytest ssl]# cat ~/.docker/config.json
{
"auths": {
"https://index.docker.io/v1/": {
"auth": "c29uZ3J5Oldsaxxxx"
}
}
}[root@ecs-songrytest ssl]#

标签:ssl,Harbor,0.3,192.168,部署,harbor,docker,root
From: https://blog.51cto.com/sry2004/6052164

相关文章

  • Docker学习
    Docker学习Docker是一个开源的应用容器引擎,让开发者可以打包应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟......
  • docker-compose
    安装Docker-Compose:官方文档安装curl-L"https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname-s)-$(uname-m)"-o/usr/local/b......
  • docker-network
    DockerNetWork官网Docker容器和服务如此强大的原因之一是您可以将它们连接在一起,或者将它们连接到非Docker工作负载。Docker容器和服务甚至不需要知道它们部署在Do......
  • docker-run
    Dockerrun命令:--add-hostlistAddacustomhost-to-IPmapping添加一个host到ip的映射dockerrun-it--add-hosthostname1:192.168.1.2--add-hosthostname......
  • docker-volume
    dockervolume[root@localhost128home]#dockervolume--helpUsage:dockervolumeCOMMANDManagevolumesCommands:##创建一个容器卷createCreatea......
  • docker部署gitlab
    ---version:'3'services:gitlab:image:gitlab/gitlab-ce:latestrestart:alwaysports:-8443:443-8080:80-222:22container_......
  • docker 部署redis
    ---version:'3'services:redis:image:redis:7container_name:redisports:-6379:6379restart:alwaysvolumes:-./data:/......
  • 容器部署分布式zabbix
    之前有写过docker-compose部署zabbix的博客这里再总结下分布式部署zabbix的笔记,这里重点是部署zabbix-proxy同样需要准备数据库配置文件数据库配置文件差不多这里是doc......
  • ansible的部署和命令模块
    一、ansible的概述1、ansible简介Ansible是一款为类Unix系统开发的自由开源的配置和自动化工具。它用Python写成,类似于saltstack和Puppet,但是有一个不同和优点是我们......
  • Docker consul的容器服务更新与发现
    一、Consul概述(1)什么是服务注册与发现服务注册与发现是微服务架构中不可或缺的重要组件。起初服务都是单节点的,不保障高可用性,也不考虑服务的压力承载,服务之间调用单纯的......