harbor安装实操笔记
纸上得来终觉浅,实操一遍吧!
把所有开发的后端服务先在打成镜像,传到私有镜像仓库;
然后在任意的远程机器拉取镜像,然后可采用docker或者docker-compose的方式运行,本节先按照docker的方式运行;
后面补充docker-compose和k8s的方式运行镜像;
问题 | 回答 |
---|---|
where are we?现状 | 简单的听说过harbor并未实操,不知道里面的坑 |
where are we go? 目标 | 实际使用harbor,把完整的产品镜像(前后端中间件)上传到镜像仓库,得到软件制品; |
how can we go there?路径 | 先安装harbor 然后推送程序镜像到harbor 最后在任意机器上拉取镜像运行; |
安装docker和docker-compose
当前的docker版本不够高,需要升级;
先删除docker;
rpm -qa | grep docker //删除查询到的所有跟docker相关的东西; yum reomove xxx
安装指定版本:
yum install docker-ce-18.06.3.ce-3.el7 -y # 启动docker systemctl start docker # 设置为开启启动 systemctl enable docker
安装docker-compose ```shell yum install docker-compose ```
解压安装包之后得到的文件目录如下:
复制配置文件模板,并修改host和端口;
cp harbor.yml.tmpl harbor.yml vim harbor.yml # 配置host和端口; # 注释掉htts端口的配置;
执行安装:
sh install.sh
安装完毕之后成功截图:
登录Harbor管理后台
入口:[http://47.115.100.100:8000/](http://47.115.100.100:8000/)
账号:admin
密码:Harbor12345
推送镜像到harbor
制作镜像的Dockerfile
FROM java:8 MAINTAINER lifuchun <lifc@authine.com> VOLUME /tmp ADD config config ADD app-file.jar app.jar ADD skywalking-agent.jar skywalking-agent.jar ADD application.properties application.properties EXPOSE 8881 RUN bash -c 'touch /app.jar' ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-Dspring.cloud.nacos.discovery.server-addr=47.113.126.86:8848","-Dspring.cloud.nacos.discovery.namespace=test","-javaagent:/skywalking-agent.jar","-Dskywalking.agent.service_name=app-file","-Dcollector.backend_service=47.115.100.100:11800","-Dspring.application.name=app-file","-jar","/app.jar"]
制作镜像指令:
echo '构建app-file镜像并启动' docker build -t app-file . echo '运行app-file' docker run --name app-file -v /data/var/log:/data/var/log -m 1024M -d -p 8881:8080 app-file
得到镜像之后,需要推送镜像到harbor仓库;
如果推送到harbor仓库提示https错误;
docker push 47.115.100.100:8000/cloudpivot/app-file:latest The push refers to repository [47.115.100.100:8000/cloudpivot/app-file] Get https://47.115.100.100:8000/v2/: http: server gave HTTP response to HTTPS client
需要设置本地的docker接受不安全的注册中心:
然后重启docker;
登录仓库:
docker login 47.115.100.100:8000 # 输入账号,密码
本地镜像打tag:
docker tag app-file 47.115.100.100:8000/cloudpivot/app-file:latest
推送镜像:
docker push 47.115.100.100:8000/cloudpivot/app-file:latest
推送进度:
界面观察镜像:
从harbor拉取镜像运行
需要编辑docker的配置文件:
vim /etc/docker/daemon.json # 插入配置信息
配置信息如下:
{"insecure-registries":["ip:port"]}
然后重启docker:
systemctl restart docker
拉取镜像: ```shell docker pull 47.115.100.100:8000/cloudpivot/app-file:latest ```
进度如下:
运行镜像:
docker run --name app-file -v /data/var/log:/data/var/log -m 1024M -d -p 8881:8080 app-file
然后查看日志:
docker logs -f app-file
或者直接在挂载的日志目录中查看日志:
tail -f /data/var/log/app-file.log
小结
一句话概括本文做的事情: 先安装docker和docker-compose,然后安装完harbor,找了一个后端服务本地上传镜像,远程服务器直接使用镜像使用docker的方式运行起来了。
原创不易,关注诚可贵,转发价更高!转载请注明出处,让我们互通有无,共同进步,欢迎沟通交流。
no pays,no gains!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架