热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Dockerdeepin系统下docker安装registry

环境说明一个坑逼的环境,也不能说坑逼,国产化的需求嘛。root@node22:registry#uname-aLinuxnode224.4.15-deepin-aere#137SM


环境说明

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

[email protected]:/registry# uname -a
Linux node22 4.4.15-deepin-aere #137 SMP Tue Dec 18 17:06:43 CST 2018 sw_64 GNU/Linux
[email protected]:/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”,则说明成功了
为了方便把启动命令改成脚本

[email protected]:~# more registry.sh
#!/bin/bash
../root/registry serve /etc/docker/registry/config.yml

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

docker commit registry kolla/ubuntu-source-registry

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

[email protected]:/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

 



推荐阅读
  • 本文详细记录了在银河麒麟操作系统和龙芯架构上使用 Qt 5.15.2 进行项目打包时遇到的问题及解决方案,特别关注于 linuxdeployqt 工具的应用。 ... [详细]
  • golang常用库:配置文件解析库/管理工具viper使用
    golang常用库:配置文件解析库管理工具-viper使用-一、viper简介viper配置管理解析库,是由大神SteveFrancia开发,他在google领导着golang的 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 本文探讨了领域驱动设计(DDD)的核心概念、应用场景及其实现方式,详细介绍了其在企业级软件开发中的优势和挑战。通过对比事务脚本与领域模型,展示了DDD如何提升系统的可维护性和扩展性。 ... [详细]
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文基于刘洪波老师的《英文词根词缀精讲》,深入探讨了多个重要词根词缀的起源及其相关词汇,帮助读者更好地理解和记忆英语单词。 ... [详细]
  • 数据管理权威指南:《DAMA-DMBOK2 数据管理知识体系》
    本书提供了全面的数据管理职能、术语和最佳实践方法的标准行业解释,构建了数据管理的总体框架,为数据管理的发展奠定了坚实的理论基础。适合各类数据管理专业人士和相关领域的从业人员。 ... [详细]
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • Ralph的Kubernetes进阶之旅:集群架构与对象解析
    本文深入探讨了Kubernetes集群的架构和核心对象,详细介绍了Pod、Service、Volume等基本组件,以及更高层次的抽象如Deployment、StatefulSet等,帮助读者全面理解Kubernetes的工作原理。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • 实体映射最强工具类:MapStruct真香 ... [详细]
author-avatar
J-cha0
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有