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

匿名 (未验证) 提交于 2019-12-02 23:43:01

环境说明

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

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 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!