热门标签 | 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

 



推荐阅读
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 在Python开发过程中,随着项目数量的增加,不同项目依赖于不同版本的库,容易引发依赖冲突。为了避免这些问题,并保持开发环境的整洁,可以使用Virtualenv和Virtualenvwrapper来创建和管理多个隔离的Python虚拟环境。 ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 本文探讨了领域驱动设计(DDD)的核心概念、应用场景及其实现方式,详细介绍了其在企业级软件开发中的优势和挑战。通过对比事务脚本与领域模型,展示了DDD如何提升系统的可维护性和扩展性。 ... [详细]
  • 实体映射最强工具类:MapStruct真香 ... [详细]
  • 本文详细介绍了Linux系统中init进程的作用及其启动过程,解释了运行级别的概念,并提供了调整服务启动顺序的具体步骤和实例。通过了解这些内容,用户可以更好地管理系统的启动流程和服务配置。 ... [详细]
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 本文探讨了在Linux系统上使用Docker时,通过volume将主机上的HTML5文件挂载到容器内部指定目录时遇到的403错误,并提供了解决方案和详细的操作步骤。 ... [详细]
  • PostgreSQL 10 离线安装指南
    本文详细介绍了如何在无法联网的服务器上进行 PostgreSQL 10 的离线安装,并涵盖了从下载安装包到配置远程访问的完整步骤。 ... [详细]
  • Startup 类配置服务和应用的请求管道。Startup类ASP.NETCore应用使用 Startup 类,按照约定命名为 Startup。 Startup 类:可选择性地包括 ... [详细]
  • 通过Web界面管理Linux日志的解决方案
    本指南介绍了一种利用rsyslog、MariaDB和LogAnalyzer搭建集中式日志管理平台的方法,使用户可以通过Web界面查看和分析Linux系统的日志记录。此方案不仅适用于服务器环境,还提供了详细的步骤来确保系统的稳定性和安全性。 ... [详细]
  • 本文将深入探讨如何在不依赖第三方库的情况下,使用 React 处理表单输入和验证。我们将介绍一种高效且灵活的方法,涵盖表单提交、输入验证及错误处理等关键功能。 ... [详细]
  • 使用GDI的一些AIP函数我们可以轻易的绘制出简 ... [详细]
  • 毕业设计:基于机器学习与深度学习的垃圾邮件(短信)分类算法实现
    本文详细介绍了如何使用机器学习和深度学习技术对垃圾邮件和短信进行分类。内容涵盖从数据集介绍、预处理、特征提取到模型训练与评估的完整流程,并提供了具体的代码示例和实验结果。 ... [详细]
  • 本文介绍了一种在 MySQL 客户端执行 NOW() 函数时出现时间偏差的问题,并详细描述了如何通过配置文件调整时区设置来解决该问题。演示场景中,假设当前北京时间为2023年2月17日19:31:37,而查询结果显示的时间比实际时间晚8小时。 ... [详细]
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社区 版权所有