• Docker-----deepin系统下docker安装registry


    环境说明

    一个坑逼的环境,也不能说坑逼,国产化的需求嘛。

    root@node22:/registry# uname -a
    Linux node22 4.4.15-deepin-aere #137 SMP Tue Dec 18 17:06:43 CST 2018 sw_64 GNU/Linux
    root@node22:/registry# lsb_release -a
    No LSB modules are available.
    Distributor ID: deepin
    Description:    deepin 15.2
    Release:        15.2
    Codename:       kui
    

    我直接安装了apt-get安装好了docker服务

    根据深度官方提供的基础镜像安装好了一个基础镜像服务。

    https://docs.deepin.cn/d/fbcc4fb4b6/   这个是基础容器镜像
    

    问题来了,在官方网站找不到sw_64架构的registry容器。

    只能自己动手编译一个。

    go环境部署

    #使用基本镜像启动容器

    docker run -it -d --name registry  -p 4000:5000  deepin 
    

    #这时候发现一个问题,容器内不能安装包

    #切换一下源文件不然安装软件包会有问题

    docker cp /etc/apt/sources.list registry:/etc/apt
    

    #同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包。

    apt-get update
    

    #安装go环境

    apt-get install golang-go git make
    mkdir -p $HOME/go/{bin,pkg,src}
    #配置环境变量
    export GOROOT=/usr/lib/go
    export GOPATH=$HOME/go
    export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
    source /etc/profile
    

    源码编译

    #下载源码
    cd $HOME/go/src
    git clone https://github.com/docker/distribution.git
    cd distribution
    #安装依赖
    go get
    
    #配置容器镜像文件
    mkdir -p /etc/docker/registry/
    cp cmd/registry/config-dev.yml /etc/docker/registry/config.yml
    mkdir -p /var/lib/registry
    
    #编译
    make PREFIX=$HOME/go clean binaries
    

    #到此Docker Registry编译完成,下面进行测试

    启动服务检测

    #查看版本并运行

    cd bin
    ./registry -v
    ./registry serve /etc/docker/registry/config.yml 
    

    访问本地5000端口,看到返回“200 OK”,则说明成功了
    为了方便把启动命令改成脚本

    root@fb469b1c0702:~# more registry.sh
    #!/bin/bash
    ../root/registry serve /etc/docker/registry/config.yml
    

    #可以把这个做好的registry镜像commit一下

    docker commit registry kolla/ubuntu-source-registry
    

     #配置一下服务随容器启动

    root@node22:/ljy/now# more Dockerfile
    # Build a registry for deepin sw_64
    FROM kolla/ubuntu-source-registry
    CMD ["sh", "-c", "sh  /root/registry.sh"]
    
    docker build -t kolla/ubuntu-source-registry .
    

    #使用镜像启动容器

    docker run -it -d --name registry  -p 4000:5000 -v /registry:/var/lib/registry kolla/ubuntu-source-registry
    
  • 相关阅读:
    Error:(3, 32) java: 程序包org.springframework.boot不存在
    Interface IntUnaryOperator
    java “错误:编码GBK 的不可映射字符”
    Spring boot整合Mybatis
    免安装版Mysql安装教程
    Maven中标签的介绍
    Post的Conotent-typeyy引发的有关http的思考
    Git图谱的介绍
    使用stream求数组中的平均值
    RabbitMQ实际使用场景
  • 原文地址:https://www.cnblogs.com/jinyuanliu/p/11032402.html
Copyright © 2020-2023  润新知