镜像与源码项目
目标:理清每个镜像的来源
harbor中共用到六个镜像,如下:
$ docker-compose ps
Name Command State Ports
------------------------------------------------------------------------------------------
harbor-db docker-entrypoint.sh mysqld Up 3306/tcp
harbor-jobservice /harbor/harbor_jobservice Up
harbor-log /bin/sh -c crond && rm -f ... Up 0.0.0.0:1514->514/tcp
harbor-ui /harbor/harbor_ui Up
nginx nginx -g daemon off; Up 443/tcp, 0.0.0.0:8020->80/tcp
registry /entrypoint.sh serve /etc/ ... Up 5000/tcp
其中
harbor-db : 现成镜像
harbor-jobservice : 源码
harbor-log : 现成镜像(来自哪里尚未知???)
harbor-ui : 源码
nginx : 现成镜像
registry : 现成镜像
所以,我们需要从harbor项目的源码构建出 job-service 和 ui 两个镜像。
接下来我们来看harbor源码的项目结构,如下:
src
├── common
│ └── ...
├── jobservice
│ ├── ...
│ └── main.go
├── ui
│ ├── ...
│ └── main.go
├── vendor
│ └── ...
└── ...
其中jobservice和ui项目都有main.go函数,说明它们可以构建成两个独立的可执行文件,然后再构建成两个镜像。
Last updated
Was this helpful?