在Ubuntu14.04系统POWER8服务器上搭建Docker Registry服务

本文描述了如何在POWER8服务器上搭建一个本地化的Docker镜像仓库,主要涉及镜像制作,Docker Registry服务启动等。希望能够对在非X86服务器上搭建Docker仓库的同学提供参考。
声明:本文仅作为个人学习使用!

第一步,在服务器上启动一个KVM虚拟机(ip: 172.16.13.221),编译Docker生成可执行文件,启动Docker Daemon服务。可参考我的另一篇文档。

第二步,制作Registry镜像
  由于Ubuntu环境中暂时还没有docker registry镜像,需要自己制作
  1,制作Ubuntu14:04基础镜像
  $ sudo apt-get install -y debootstrap
  $ curl -o debootstrap.sh https://raw.githubusercontent.com/docker/docker/master/contrib/mkimage/debootstrap
  $ chmod 755 debootstrap.sh
  $ sudo ./debootstrap.sh ubuntu --components=main,universe trusty
  $ sudo tar -C ubuntu -c . | docker import - ubuntu:14.04
  $ docker tag ubuntu:14.04 ubuntu:trusty
  $ docker tag ubuntu:14.04 ubuntu:latest
  $ sudo rm -fr ubuntu

  $ docker images
  REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
  ubuntu 14.04 78c113d93188 59 seconds ago 197.6 MB
  ubuntu latest 78c113d93188 59 seconds ago 197.6 MB
  ubuntu trusty 78c113d93188 59 seconds ago 197.6 MB

  2,下载docker-registry
  $ git clone https://github.com/docker/docker-registry
  3,打补丁
  $ cd ~/docker-registry
  $ cat ~/docker-registry/docker-registry.patch
*** docker-registry.orig/Dockerfile Sat Jan 31 07:20:32 2015
--- docker-registry/Dockerfile Sat Jan 31 13:12:11 2015
***************
*** 19,24 ****
--- 19,27 ----
libssl-dev \
liblzma-dev \
libevent1-dev \
+ # Install deps for building gevent
+ curl \
+ cython \
&& rm -rf /var/lib/apt/lists/*

COPY . /docker-registry
***************
*** 27,32 ****
--- 30,45 ----
# Install core
RUN pip install /docker-registry/depends/docker-registry-core

+ # Install gevent 1.0.1 using updated config.guess and config.sub
+ RUN curl https://pypi.python.org/packages/source/g/gevent/gevent-1.0.1.tar.gz | tar -xzf - -C / \
+ && curl -o /gevent-1.0.1/libev/config.guess \
+ ‘http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD‘ \
+ && curl -o /gevent-1.0.1/libev/config.sub \
+ ‘http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD‘ \
+ && cp -pf /gevent-1.0.1/libev/config.guess /gevent-1.0.1/c-ares/config.guess \
+ && cp -pf /gevent-1.0.1/libev/config.sub /gevent-1.0.1/c-ares/config.sub \
+ && pip install /gevent-1.0.1
+
# Install registry
RUN pip install file:///docker-registry#egg=docker-registry[bugsnag,newrelic,cors]
  $ patch -p1 < docker-registry.patch

  4,制作Registry镜像
  $ docker build -t registry .
  Removing intermediate container bc9ea34e0252
  Successfully built 2be3e95c5b2f

第三步,启动Registry服务
  $ docker run -d -p 5000:5000 registry
  [2015-12-09 06:28:48 +0000] [1] [INFO] Starting gunicorn 19.1.1
  [2015-12-09 06:28:48 +0000] [1] [INFO] Listening at: http://0.0.0.0:5000 (1)
  [2015-12-09 06:28:48 +0000] [1] [INFO] Using worker: gevent
  [2015-12-09 06:28:48 +0000] [13] [INFO] Booting worker with pid: 13
  [2015-12-09 06:28:48 +0000] [14] [INFO] Booting worker with pid: 14
  ......

  $ docker ps
  CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  266b27fb6d5b registry "docker-registry" 22 seconds ago Up 20 seconds 0.0.0.0:5000->5000/tcp goofy_jennings

第四步,上传镜像到registry
  我在有Registry容器的KVM中上传镜像总是遇到连接错误,后来没有解决。就尝试在另一个KVM里面上传,结果成功了。
  1,在另一个KVM中启动docker Daemon
  2,使用docker import将之前制作的文件放入本地docker 系统中
  3,配置docker.conf文件,设置registry地址(172.16.13.221:5000),使用--insecure-registry参数,然后restart docker Daemon。
  在/ect/init/docker.conf中添加
  DOCKER_OPTS="--insecure-registry 172.16.13.221:5000"

  $ps -aux
  /usr/bin/docker daemon --insecure-registry 172.16.13.221:5000
  4,给待上传的镜像打上tag
  $ docker tag f3b2472e2593 172.16.13.221:5000/ubuntu
  $ docker images
  REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
  172.16.13.221:5000/ubuntu latest f3b2472e2593 2 days ago 188.3 MB
  ubuntu 14.04 f3b2472e2593 2 days ago 188.3 MB
  ubuntu latest f3b2472e2593 2 days ago 188.3 MB
  ubuntu trusty f3b2472e2593 2 days ago 188.3 MB
  5,Push镜像(传输可能中断,需要多尝试几次)
  $ docker push 172.16.13.221:5000/ubuntu
  The push refers to a repository [localhost:5000/ubuntu] (len: 1)
  Sending image list
  Pushing repository 172.16.13.221:5000/ubuntu (1 tags)
  f3b2472e2593: Image successfully pushed

  $ docker search 172.16.13.221:5000/ubuntu
  NAME DESCRIPTION STARS OFFICIAL AUTOMATED
  library/ubuntu 0

参考资料:
  Build and use Docker on the IBM POWER Linux platform
  https://www.ibm.com/developerworks/library/d-docker-on-power-linux-platform/

时间: 2024-12-15 01:37:20

在Ubuntu14.04系统POWER8服务器上搭建Docker Registry服务的相关文章

Ubuntu18搭建Docker Registry服务(转)

1.下载镜像首先我们将该仓库pull下来: $ docker pull registry 2.配置配置文件默认情况下的registry不支持删除镜像,我们需要自己写配置文件,在容器启动时候映射进去,在/data目录下编写config.yml文件: 注意:该文件必须使用空格分隔,不能使用tab符. version: 0.1 log: fields: service: registry storage: delete: enabled: true cache: blobdescriptor: inm

LINUX系统服务器上搭建DHCP服务,实现两大基本功能:1,自动分配ip;2,手工指定ip

在linux系统服务器上搭建DHCP服务,实现两大基本功能:1,自动分配ip地址:2,手动指定ip地址.首先准备两台虚拟机作为实验对象,一个linux系统作为服务器,一个windows7系统作为客户机,两者使用同一个虚拟网卡vmnet1,并使用仅主机模式.确定服务器上光盘状态为已连接,使用命令查看并挂载光盘检查dhcp软件包是否安装,若没有则使用rpm进行安装.复制dhcp配置文件的模板,并修改编辑dhcp的配置文件,进行相关设定并保存退出=" alt="LINUX系统服务器上搭建DH

多功能集成环境在windows服务器上搭建PHP网站案例,在服务器上搭建PHP网站

服务器版本:Windows Server 2008 R2 Enterprise 平时搭建PHP网站,可以在linux服务器上搭建,也可以在windows服务器上搭建,主要看你个人需求了,今天我们演示的是用PHPWAMP绿色集成环境在windows服务器上搭建php网站. 这款PHPWAMP绿色集成环境也属于WAMP套件,大家知道什么是WAMP吧? Windows下的Apache+Mysql+PHP,称为WAMP. WAMP套件其实有很多,就比如wampserver.apmserv.xampp等等

菜鸟U盘安装Ubuntu14.04系统

最近开始工作了,公司电脑是Ubuntu,可是我自己一直用的Windows系统,为了尽快熟悉Ubuntu,我决定自己装个系统玩玩.我是个标准的菜鸟,从没装过系统,就百度了一把,自己装了.以下是我自己的方法: 一:准备工作 1. 保证电脑硬盘上有10G空闲空间 2. 一个U盘,保证有2G空闲空间 二:去官网下载Ubuntu系统 网址:http://www.ubuntu.com/download/desktop,我下载的是Ubuntu 14.04 LTS,64bit.可以根据需要选择不同版本,下载完成

服务器上的 Git - 在服务器上搭建 Git

http://git-scm.com/book/zh/v2/%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84-Git-%E5%9C%A8%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E6%90%AD%E5%BB%BA-Git 在服务器上搭建 Git 现在我们将讨论如何在你自己的服务器上搭建 Git 服务来运行这些协议. NOTE 这里我们将要演示在 Linux 服务器上进行一次基本且简化的安装所需的命令与步骤,当然在 Mac

ubuntu14.04系统中virtualbox安装Oracle VM VirtualBox Extension Pack包

ubuntu14.04系统中virtualbox默认不支持usb设备,须要安装Oracle VM VirtualBox Extension Pack才行,但必须安装下面版本号才干够成功安装: Oracle_VM_VirtualBox_Extension_Pack-4-3-8-92456.vbox-extpack 此版本号的下载地址:http://virtualbox-extension-pack.en.softonic.com/download 假设是从oracle站点下载的最新版本号Oracl

Windows 2003 server 服务器上搭建VPN

Windows 2003 server 服务器上搭建VPN   东莞翔达网络跟大家分享下如何搭建VPN 先来了解大声道一下VPN,VPN(Virtual private Network,虚拟专用网)是穿越专用网络或公用网络的.安全的.点对点连接的网络.VPN客户端使用特定的隧道协议,与VPN服务器建立虚拟连接.' D/ c9 v6 o/ q* W8 W- QVPN最佳范例就是:VPN客户端使用VPN连接到与Intenet相连的VPN服务器上.它的工作是VPN服务器应答验证VPN客户端的身份,如果

[原创]访问未备案的阿里云服务器上搭建的网站

最近租了个阿里云服务器玩,因为没有备案,直接通过IP是无法访问网站的,所以自己摸索出了一种临时访问未备案的阿里云服务器上搭建的网站的方法. 原理很简单,阿里云会判断访问服务器的域名是否已备案,若已备案,则跳转到阿里云内部相应ip的服务器,所以我们只需要找一个阿里云备案过的域名(直接在阿里云的成功案例里面找),这里提供两个:www.php-z.com, www.pipaw.com,然后我们只需更改C:\Windows\System32\drivers\etc下的hosts文件,我的更改如下: #

PHP绿色集成环境在服务器上的应用,PHPWAMP在服务器上搭建网站。

Windows下的Apache+Mysql+PHP,称为WAMP. 本文案例采用的PHP集成环境是我最新发布的新版本PHPWAMP8.1.8.8. 我集成的相关组件都是完全版的,适合本地调试,也适合用在服务器上. PHP集成环境如何在服务器上搭建网站,下面我将提供详细的操作步骤图. ------------------------------------------------------------------------------------------------------------