搭建自己的 Docker 私有仓库服务

关于 Docker 的介绍这里就省了,Docker 在其相关领域的火爆程度不亚于今年汽车行业里的特斯拉,docCloud 甚至把公司名都改成了 Docker, Inc. 好东西总是传播很快,我们现在已经有客户在 VPS 上用 Docker 来部署应用了。不了解 Docker 的小伙伴们可以看看 使用 Docker/LXC 迅速启动一个桌面系统 开头部分的介绍。

和初次接触 Xen/KVM 虚拟技术的体验不同,Docker 不用自己动手制作镜像,官方已经提供了很多版本的 Linux 镜像,直接从官方仓库(Public Repositories)下载就可以了。如果考虑到安全性和速度,我们可能会想在自己局域网里架设一个私有仓库(Private Repositories)来放我们自己的镜像,Docker-Registry 正是我们需要的工具。

用 git 下载源码后修改配置文件 config.yml,把 storage_path 部分改成 Docker 镜像仓库的存放地点:

$ git clone https://github.com/dotcloud/docker-registry
$ cd docker-registry

$ cp config_sample.yml config.yml
$ vi config.yml
...
# This is the default configuration when no flavor is specified
dev:
    storage: local
    storage_path: /home/vpsee/registry
    loglevel: debug
...

$ mkdir /home/vpsee/registry

安装一些必要软件包和一些 Docker-Registry 需要用到的 Python 工具和库:

$ sudo apt-get install build-essential python-dev libevent-dev python-pip libssl-dev

$ sudo pip install -r requirements.txt

Docker-Registry 实际上是个基于 Flask 的 web app,安装成功后就可以这样运行了:

$ sudo gunicorn --access-logfile - --debug -k gevent -b 0.0.0.0:80 -w 1 wsgi:application

打开浏览器,访问 IP 地址就可以看到 docker-registry 私有仓库在运行了:

查看一下现有系统上已经有了哪些镜像:

$ sudo docker images
REPOSITORY      TAG        ID              CREATED         SIZE
vpsee/ubuntu    latest     936a54e8a345    2 weeks ago     12.29 kB (virtual 327.8 MB)
ubuntu          latest     8dbd9e392a96    6 months ago    131.5 MB (virtual 131.5 MB)
ubuntu          precise    8dbd9e392a96    6 months ago    131.5 MB (virtual 131.5 MB)
ubuntu          quantal    b750fe79269d    7 months ago    24.65 kB (virtual 180.1 MB)

我们打算把 vpsee/ubuntu 这个镜像(ID 是 936a54e8a345)上传(push)到我们刚创建的私有仓库里(这个私有仓库的 IP 地址是 192.168.2.45),会看到提示 Username/Password,初次 push 的话,可以自己设置用户名和密码:

$ sudo docker tag 936a54e8a345 192.168.2.45/vpsee
$ sudo docker push 192.168.2.45/vpsee
Username: vpsee
Password:
Email: [email protected]
Account created. Please use the confirmation link we sent to your e-mail to activate it.
The push refers to a repository [192.168.2.45/vpsee] (len: 1)
Processing checksums
Sending image list
Pushing repository 192.168.2.45/vpsee (1 tags)
Pushing 8dbd9e392a964056420e5d58ca5cc376ef18e2de93b5cc90e868a1bbc8318c1c
Buffering to disk 58266504/? (n/a)
Pushing 58.27 MB/58.27 MB (100%)

完成 push 后,我们的私有仓库就有了第一个镜像了:

$ sudo docker images
REPOSITORY          TAG      ID             CREATED        SIZE
vpsee/ubuntu        latest   936a54e8a345   2 weeks ago    12.29 kB (virtual 327.8 MB)
ubuntu              latest   8dbd9e392a96   6 months ago   131.5 MB (virtual 131.5 MB)
ubuntu              precise  8dbd9e392a96   6 months ago   131.5 MB (virtual 131.5 MB)
ubuntu              quantal  b750fe79269d   7 months ago   24.65 kB (virtual 180.1 MB)
192.168.2.45/vpsee  latest   936a54e8a345   2 weeks ago    12.29 kB (virtual 327.8 MB)

以后只要 docker pull 192.168.2.45/vpsee 就可以从我们自己的私有仓库下载和运行镜像了,本地网络速度当然会快很多。

时间: 2024-12-21 14:32:36

搭建自己的 Docker 私有仓库服务的相关文章

搭建和使用Docker私有仓库

需要注意的是,从Docker Pool下载的镜像文件,与官方镜像文件是完全一致的. 安装Docker之后,可以是使用官方提供的registry镜像来搭建一套本地私有仓库环境: docker run –d –p 5000:5000 registry 输入之后就可以等待了,其实本地仓库本身就是容器,这句命令会下载并创建一个registry容器,创建本地的私有仓库. 默认情况下,会将仓库创建在容器的tmp/registry目录下,当然,可以通过-v参数将镜像文件存放到本地的指定路径上. docker 

Docker私有仓库Registry的搭建验证

1. 关于Registry 官方的Docker hub是一个用于管理公共镜像的好地方,我们可以在上面找到我们想要的镜像,也可以把我们自己的镜像推送上去.但是,有时候,我们的使用场景需要我们拥有一个私有的镜像仓库用于管理我们自己的镜像.这个可以通过开源软件Registry来达成目的. Registry在github上有两份代码:老代码库和新代码库.老代码是采用python编写的,存在pull和push的性能问题,出到0.9.1版本之后就标志为deprecated,不再继续开发.从2.0版本开始就到

Docker私有仓库Registry实战

参考: https://www.cnblogs.com/soar1688/p/6828329.html 1. 关于Registry 官方的Docker hub是一个用于管理公共镜像的好地方,我们可以在上面找到我们想要的镜像,也可以把我们自己的镜像推送上去.但是,有时候,我们的使用场景需要我们拥有一个私有的镜像仓库用于管理我们自己的镜像.这个可以通过开源软件Registry来达成目的. Registry在github上有两份代码:老代码库和新代码库.老代码是采用python编写的,存在pull和p

搭建docker私有仓库

安装Docker Docker的安装请参考官网(http://www.docker.com),非常详细的介绍了各个操作系统的部署过程. 对于CentOS 7.x操作系统的在线安装Docker,请参考如下:https://docs.docker.com/engine/installation/linux/centos 搭建Docker私有仓库 Docker官方提供了一个公有的registry叫做Docker Hub.但是企业内部可能有些镜像还是不方便放到公网上去,所以docker也提供了regis

手把手教你搭建Docker私有仓库

章节一:centos7 docker安装和使用_入门教程 章节二:使用docker部署Asp.net core web应用程序 有了前面的基础,接下来的操作就会比较简单了. 先准备两台虚拟机: Docker客户端:192.168.1.160 Docker私有仓库服务器:192.168.1.161 两台机器上都配好yum源,安装好docker,设置好docker加速器 1.在服务端192.168.1.161上拉取仓库镜像:registry [[email protected] ~]# docker

ubuntu16.04搭建docker私有仓库

ubuntu:16.04 docker:18.06.0 docker仓库服务器:192.168.83.102 docker测试客户端:192.168.83.101 --------------------------------------分割线-------------------------------------- 首先按照官网安装好docker:https://docs.docker.com/install/linux/docker-ce/ubuntu/ 安装好docker之后首先pul

CentOS7搭建Docker私有仓库

学习Docker的过程中Docker的私有仓库一直没能成功,就是因为CentOS 6.x和CentOS 7默认引入了支持https认证,每次在push和pull的时候都会报错,今天是周末,利用一天的时间反复测试和网上案列的整合,总算是成功了,也借此 机会对学习Docker的朋友有所帮助. 个人的愚见:博友在练习的时候建议用CentOS 7.x系统,不建议用CentOS 6.x系统 一.准备 地址规划: Docker私有仓库地址:192.168.0.109 Docker客户端地址:192.168.

CentOS 7搭建Docker私有仓库

学习Docker的过程中Docker的私有仓库一直没能成功,就是因为CentOS 6.x和CentOS 7默认引入了支持https认证,每次在push和pull的时候都会报错,今天是周末,利用一天的时间反复测试和网上案列的整合,总算是成功了,也借此机会对学习Docker的朋友有所帮助. 个人的愚见:博友在练习的时候建议用CentOS 7.x系统,不建议用CentOS 6.x系统 一.准备 地址规划: Docker私有仓库地址:192.168.0.109 Docker客户端地址:192.168.0

Docker私有仓库registry

1.docker私有仓库的搭建与使用    docker不仅有一个中央仓库,同时也允许我们搭建自己的私有仓库,如果读者对maven有了解,将很容易理解私有仓库的优势:    1.节省带宽,镜像无需从中央仓库下载,只需要从私有仓库中下载即可    2.对于私有仓库中已经有的镜像,提升了下载速度    3.便于内部镜像的统一管理2.下面我们来讲解一下如何搭建.使用私有仓库:    1.准备两台安装有docker的Centos7的机器,主机规划如下:        主机         IP