设为首页
收藏本站
开启辅助访问
切换到宽版
论坛
BBS
官方网站
资料下载
视频教程
开发板商城
手持方案
搜索
搜索
本版
帖子
用户
linux开发板,arm开发板,安卓开发板,-ARM开发板|核心板丨嵌入式开发板-北京迅为电子-官方ARM开发社区
»
论坛
›
开发平台技术交流及互动版块
›
龙芯产品讨论专区
›
龙芯Fedora21 搭建docker-registry本地服务器
返回列表
admin
admin
当前离线
积分
3581
151
主题
508
帖子
3581
积分
管理员
积分
3581
发消息
发表于 2020-7-4 19:12:08
7149 浏览
0 回复
龙芯Fedora21 搭建docker-registry本地服务器
docker registry
实现了
docker
镜像的管理和迁移,没有
registry
,
docker
的功能是不完整的。官方的
registry
直接拉取下来又不能使用,
必须制作我们自己
mips64el
架构的
registry
镜像,笔者进行了艰苦的摸索,开创了一种下述正确的新方法。
需要
2
台机器,为便于描述,下文中分别称为
dscn1
、
dscn3
。其中,
dscn1
(
10.20
.
42.56
):用于搭建
docker
的服务器
dscn3
(
10.20
.
42.189
):用于最后拉取镜像时对
docker
-
registry
的测试
一、编译
m2crypto
依赖
docker
-
registry
镜像的制作依赖
m2crypto
包,先编译好此包,待用。
下载
m2crypto
源码包,安装,编译
#wget
ftp://ftp.pbone.net/mirror/archi ... 22.5-2.fc21.src.rpm
;下载rpm源码包
#rpm -ivh m2crypto-0.22.5-2.fc21.src.rpm ;安装源码包
#cd ~/rpmbuild/SPECS ;进入SPECS目录
#rpmbuild -ba m2crypto.spec ;编译m2crypto文件
此时,会提示有依赖包错误
#yum install openssl swig ;安装依赖包
修改
m2crypto
.
spec
在
global
multilib_arches
添加
mips64el
架构
%
global
multilib_arches mips64el
在
48
行处,添加如下三行
%
ifarch
%{
mips64el
}
basearch
=
mips64el
%
endif
再次执行编译
rpmbuild
-
ba m2crypto
.
spec
,编译成功
#cd ~/rpmbuild/RPMS/mips64el/ ;进入RPMS目录,找到编译后的包
#rpm -ivh m2crypto-0.22.5-2.fc21.loongson.mips64el.rpm ;安装编译之后的包
二、制作
registry
镜像
首先你的确保已经安装了
docker
,且已经制作了
mips64el
下的基本镜像(具体可参看笔者写的《上篇:龙芯
Fedora21
推出
docker
方案》)
#git clone
https://github.com/docker/docker-registry/archive/0.9.1.tar.gz
;下载
docker
-
registry
-
0.9
.
1
的官方镜像
tar
包
#tar xvf 0.9.1.tar.gz -C /home ;解压tar包到home目录下
#cd /home/docker-registry-0.9.1 ;进入解压目录
#grep “x86” ./* -r ;查找上诉目录下含有x86的所有文件,将x86改成mips64el
笔者修改了如下三个文件
#vim ./contrib/golang_impl/fixtures/index/images/e0acc43660ac918e0cd7f21f1020ee3078fec7b2c14006603bbc21499799e7d5/json
#vim ./contrib/golang_impl/fixtures/index/images/0e03f25112cd513ade7c194109217b9381835ac2298bd0ffb61d28fbe47081a8/json
#vim ./tests/data/511136ea3c5a64f264b78b5433614aec563103b4d4702f3ba7d4d2698e22c158/json
#vim ./config/config.yml ;修改config.yml的dev(210行)处添加如下内容:
storage
:
local
storage_path
:
/home/
data
/
dockerImag
loglevel
:
debug
#vim requirements/main.txt ;修改main.txt文件,删除带有m2crypto一行
[
Dockerfile
# change to your base image
FROM fedora
-
base
# Install pip
RUN yum install
-
y \
swig \
python
-
pip \
openssl \
openssl
-
devel
RUN mkdir
-
p
/
docker
-
registry
COPY
.
/
docker
-
registry
COPY
./
config
/
boto
.
cfg
/
etc
/
boto
.
cfg
#install pip
RUN easy_install pip
# Install core
RUN pip install file
:
///docker-registry/depends/docker-registry-core
# Install m2crypto registry
ADD
./
m2crypto
-
0.22
.
5
-
2.fc21.loongson
.
mips64el
.
rpm
/
RUN rpm
-
ivh
/
m2crypto
-
0.22
.
5
-
2.fc21.loongson
.
mips64el
.
rpm
RUN pip install file
:
///docker-registry#egg=docker-registry[bugsnag,newrelic,cors]
ENV DOCKER_REGISTRY_CONFIG
/
docker
-
registry
/
config
/
config_sample
.
yml
ENV SETTINGS_FLAVOR dev
EXPOSE
5000
CMD
[
"docker-registry"
#docker build -t fc21/registry . ;进行编译
#docker run -d -p 5000:5000 -v /home/data/dockerImg:/tmp/registry fc21/registry ;启动镜像fc21/registry镜像
#docker tag docker.io/hello-world 10.20.42.56:5000/hello-world ;修改hello-world镜像的tag,出现CA相关错误,看下面问题4解决
#docker push 10.20.42.56:5000/hello-world ;push上传到dscn1的注册服务器
如果上述操作成功,将会看到如下信息输出
[url=http://www.loongnix.org/index.php/%E6%96%87%E4%BB%B6
ush%E9%95%9C%E5%83%8F.png]
[/url]
push一个镜像到registry仓库
三、 验证registry仓库 方法1:在dscn1的浏览器中输入
http://127.0.0.1:5000/v1/search
将会看到
浏览器验证本地registry服务器是否成功
方法2:在测试机dscn3执行下述命令,pull拉取dscn1上传的hello-world镜像
docker pull 10.20.42.56:5000/hello-world
将会看到类似下面的信息输出
[url=http://www.loongnix.org/index.php/%E6%96%87%E4%BB%B6
ull%E6%8B%89%E5%8F%96%E9%95%9C%E5%83%8F.png]
[/url]
dscn3客户机拉取dscn1上的hello-world镜像
四、错误总结
1.ValueError
:
(
'Missing distribution spec'
,
'/tmp/piyush/common_bundle'
)
因为
pip install
必须指定类似
http
:
//的路径,如果是本地目录使用 file://+具体目录
2.swig
-
python
-
I
/
usr
/
include
/
python2
.
7
-
I
/
usr
/
include
-
I
/
usr
/
include
/
openssl
-
includeall
-
modern
-
D__x86_64__
-
o SWIG
/
_m2crypto_wrap
.
c SWIG
/
_m2crypto
.
i
/
usr
/
include
/
openssl
/
opensslconf
.
h
:
34
:
Error
:
Unable
to find
'opensslconf-x86_64.h'
error
:
command
'swig'
failed
with
exit
status
1
手动编译
m2crypto
,注销
requirements
/
main
.
txt
中的
m2crypto
,添加如下两行在
dockerfile
文件中
ADD
./
m2crypto
-
0.22
.
5
-
2.fc21.loongson
.
mips64el
.
rpm
/
RUN rpm
-
ivh
/
m2crypto
-
0.22
.
5
-
2.fc21.loongson
.
mips64el
.
rpm
3.No
non
-
localhost DNS nameservers are left
in
resolv
.
conf
.
Using
default
external servers
:
[
nameserver
8.8
.
8.8
nameserver
8.8
.
4.4
重启一下
docker
的服务。
4.Error
response
from
daemon
:
v1 ping attempt failed
with
error
:
Get
https
:
//10.20.42.56:5000/v1/_ping: EOF. If this private registry supports only HTTP or HTTPS with an unknown CA certificate
编辑测试机的文件
vim
/
etc
/
sysconfig
/
docker
更改如下内容
在启动守护进程的时候加入参数
docker
-
d
--
insecure
-
registry
=
10.20
.
42.56
:
5000
ip
得根据具体情况更改
5.failure
:
repodata
/
repomd
.
xml
from
dockerrepo
:
[
Errno
256
No
more mirrors to
try
.
https
:
//yum.dockerproject.org/repo/main/fedora/21/repodata/repomd.xml:
[
Errno
14
curl
#77 - "<Unknown>"
执行命令
rpm
--
query
--
file
/
etc
/
pki
/
tls
/
certs
/
ca
-
bundle
.
trust
.
crt
查看证书
//注销/etc/yum.repos.d/docker.repo里面所有的内容,重装证书,再恢复docker.repo内容yum reinstall ca-certificates-2014.2.1-1.5.fc21.loongson.noarch
6.FATA
[
0001
Get
https
:
//index.docker.io/v1/repositories/library/hello-world/images: x509: failed to load system roots and no roots provided
重装证书,重启
docker
服务
7.pull
拉取官方镜像失败
添加
docker
的
repo
源
vim
/
etc
/
yum
.
repos
.
d
/
docker
.
repo
[
dockerrepo
name
=
Docker
Repository
baseurl
=
https
:
//yum.dockerproject.org/repo/main/fedora/$releasever/
enabled
=
1
gpgcheck
=
1
gpgkey
=
https
:
//yum.dockerproject.org/gpg
8.FATA
[
0000
Shutting
down daemon due to errors
:
pid file found
,
ensure
docker
is
not
running
or
delete
/var/
run
/
docker
.
pid
删除/
var
/
run
/
docker
.
pid
,重新执行
docker
-
d
9.Error
running
DeviceCreate
(
createPool
)
dm_task_run failed
由于内核模块的缺失导致的,这也是自己编译内核来升级带来的风险,修改内核配置文件(./
boot
/
config
-
3.10
.
84
-
8.fc21.loongson
.
mips64el
)重新编译内核
CONFIG_DM_THIN_PROVISIONING
=
y
回复
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
登录或注册
您好游客,请选择:
关闭面板
登录账号
注册账号
名称
北京迅为电子有限公司
官方客服
QQ:2551456065
官方QQ群
195631883
扫一扫关注迅为公众号
© 2001-2003
Comsenz Inc.
Powered by
Discuz!X3.4.
(
京ICP备12036083号-2
)
快速回复
返回顶部
返回列表