前边三篇文章对harbor项目的安装脚本进行展开说明.整个harbor项目将各个组件容器化,通过docker-compose编排工具进行容器编排.在本篇中将对docker-compose.yaml文件进行展开.
Compose 是 docker 提供的一个命令行工具,用来定义和运行由多个容器组成的应用。使用 compose,我们可以通过 YAML 文件声明式的定义应用程序的各个服务,并由单个命令完成应用的创建和启动。
Compose 的使用方式非常简单
安装docker compose
$ sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose
//自动补全
$ sudo curl -L https://raw.githubusercontent.com/docker/compose/1.22.0/contrib/completion/bash/docker-compose -o /etc/bash_completion.d/docker-compose
docker compose原理
docker compose的底层是通过使用python调用docker提供的API实现.详细内容参考docker compose的用法.
有兴趣可以阅读其源码 docker-compose
在此看一个docker API最简单的demo
import docker
// 初始化docker client
client=docker.DockerClient('unix:///var/run/docker.sock', version='auto', timeout=5)
client.version()
详细内容请查阅python docker sdk
docker compsoe 就是基于以上SDK实现的.
对docker compose的介绍就到此.
harbor的组件被定义在docker-compose.yaml文件中.一共定义了七个service
log: 用于统一日志处理
registry: docker image镜像存储
mysql: 业务数据存储
adminserver: harbor系统的管理
ui: 页面系统
jobservice: service任务
proxy: nginx代码
log组件统一收集其它六个组件的日志,在编排中有
logging:
driver: "syslog"
options:
syslog-address: "tcp://127.0.0.1:1514"
tag: "proxy"
它用于将自身组件产生的log发送到syslog服务端组件中,进行日志的统一管理.
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。