zoukankan      html  css  js  c++  java
  • harbor安装实操笔记

    file


    纸上得来终觉浅,实操一遍吧!


    把所有开发的后端服务先在打成镜像,传到私有镜像仓库;


    然后在任意的远程机器拉取镜像,然后可采用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 ```


    解压安装包之后得到的文件目录如下:

    file



    复制配置文件模板,并修改host和端口;
    cp harbor.yml.tmpl harbor.yml
    vim harbor.yml
    # 配置host和端口;
    
    # 注释掉htts端口的配置;
    
    

    file


    执行安装:

    sh install.sh
    


    安装完毕之后成功截图:

    file


    登录Harbor管理后台



    入口:[http://47.115.100.100:8000/](http://47.115.100.100:8000/)


    账号:admin


    密码:Harbor12345


    file



    推送镜像到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接受不安全的注册中心:

    file





    然后重启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
    


    推送进度:

    file



    界面观察镜像:

    file



    从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 ```


    进度如下:

    file


    运行镜像:

    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
    

    file


    小结


    一句话概括本文做的事情: 先安装docker和docker-compose,然后安装完harbor,找了一个后端服务本地上传镜像,远程服务器直接使用镜像使用docker的方式运行起来了。


    原创不易,关注诚可贵,转发价更高!转载请注明出处,让我们互通有无,共同进步,欢迎沟通交流。

  • 相关阅读:
    看完动画你还会不懂 快速排序么
    看动画轻松理解时间复杂度(一)
    LeetCode Animation 题目图解汇总(持续更新中...)
    分而治之,归并排序的动画演示
    在Object-C中学习数据结构与算法之排序算法
    iOS面试准备之思维导图
    .net core跨域设置
    .NET Core WebAPI Swagger使用
    vue-resource emulateJSON的作用
    百度地图API简单初始化
  • 原文地址:https://www.cnblogs.com/snidget/p/14213861.html
Copyright © 2011-2022 走看看