1、搭建配置harbor私有仓库
harbor网址参考
vmware官方开源服务地址:https://github.com/vmware/
harbor官方github地址:https://github.com/goharbor/harbor
harbor官方网址:https://goharbor.io/
Harbor安装步骤
1、安装docker
2、安装docker-compost
3、上传离线安装包至/usr/local/src下
下载harbor二进制包地址
https://github.com/goharbor/harbor/releases/download
安装前准备
# 上传安装包 harbor-offline-installer-v2.6.2.tg 至 /usr/local/src 下
tar xvf harbor-offline-installer-v2.6.2.tg
ln -sv /usr/local/src/harbor /usr/local
优化harbor.yml配置文件
1、主机名 harbor.gaolinfei.com
2、注释 HTTPS
3、修改Harbor密码
4、数据库密码
5、data_volume 数据盘 /data/harbor
6、harbor log日志地址
开始安装
# 安装harbor
[root@gaolinfei harbor]# ./install.sh
# 如需开启扫描器添加--with-trivy参数
[root@gaolinfei harbor]# ./install.sh --with-trivy
登录harbor
# 浏览器登录UI页面
http://192.168.1.9 输入用户名和密码
宿主机登录就即可上传包
docker login -u admin -p 123456 http://192.168.1.9
2、掌握docker网络
三种不同类型的网络
[root@node01 harbor]# docker network list
NETWORK ID NAME DRIVER SCOPE
fa8ef4dca12d bridge bridge local
f7212943a3d2 host host local
09c649080c9a none null local
bridge模式: 使用参数 -net=bridge指定
- 桥接,使用自定义IP
- docker的默认模式及不指定任何模式就是bridge模式,也是使用比较多的模式,此模式创建的容器会为每一个容器分配自己的网络IP等信息,并将容器连接到一个虚拟网桥与外界通信。
host模式: 使用参数 -net=host指定
- 启动的容器如果指定了使用host模式,那么新创建的容器不会创建自己的虚拟网卡
- 直接使用宿主机的网卡和IP地址
- 在容器里面查看到的IP信息就是宿主机的信息,访问容器的时候直接使用宿主机IP+容器端口即可
- 此模式的网络性能最高,但是各容器之间端口不能相同,适用于运行容器端口比较固定的业务
- 使用主机网络模式时,将丢弃已指定的端口docker run -d --name net_host --net=host
harbor.gaolinfei.com/y73/centos-nginx:1.22.1
none模式: 使用参数 -net=none指定
- 使用none模式后,Docker容器不会进行任何网络配置,其没有网卡、没有IP也没有路由
- 默认无法与外界通信,需要手动添加网卡配置IP等,所以极少使用
- 命令使用方式,进入容器后无IP地址docker run -d --name net_none --net=none
harbor.gaolinfei.com/y73/centos-nginx:1.22.1
3、安装docker-compose并利用它组装一个多容器的服务:如nginx、mysql、php
完整Dockerfile
[root@harbor-server2 y73]# grep -v "^#" docker-compose.yml
version: '2.3'
services:
haproxy-service-y73:
image: harbor.gaolinfe.com/y73/centos-haproxy-base:v2.2.11
networks:
- backend
container_name: gaolinfe-haproxy-y73
expose:
- 80
- 443
- 9999
ports:
- "80:80"
- "443:443"
- "9999:9999"
links:
- nginx-service
nginx-service:
image: gaolinfei/y73/centos-nginx:1.22.1
networks:
- backend
container_name: nginx-web1
expose:
- 80
- 443
ports:
- "80:80"
- "443:443"
links:
- tomcat-service-app1
- tomcat-service-app2
tomcat-service-app1:
image: harbor.gaolinfei.com/y73/centos-tomcat-app1:v1
container_name: tomcat-web1
networks:
- backend
tomcat-service-app2:
image: gaolinfei/y73/centos-tomcat-app2:v1
container_name: tomcat-web2
networks:
- backend
networks:
front:
driver: bridge
backend:
driver: bridge
default:
external:
name: bridge
执行docker-compse构建命令
root@harbor-server2 y73]# pwd
/opt/y73
[root@harbor-server2 y73]# ll
total 4
-rw-r--r-- 1 root root 1336 Dec 1 21:01 docker-compose.yml
[root@harbor-server2 y73]# docker-compose up -d