一、前言

Docker官方镜像仓库 访问速度很慢,Docker Registry允许搭建我们自己的镜像仓库,为实现镜像拉取、推送提供便利。

二、安装与启动

1、创建目录

mkdir /usr/local/docker
cd /usr/local/docker

2、编辑docker-compose.yml

version: "3.7"
services:
registry:
restart: always
image: registry
container_name: registry
ports:
- 5000:5000
volumes:
- /usr/local/docker/registry-data:/var/lib/registry
  • image : 容器依据的镜像为registry
  • container_name : 容器名称
  • ports : 端口映射
  • volumes : 映射数据卷

3、启动容器

docker-compose up -d

三、验证是否启动成功

浏览器访问 http://<host address>:5000/v2/,正常情况会返回空的json对象。

四、Registry测试使用

1、先从官方镜像拉取ubuntu

docker pull ubuntu

2、为镜像打上tag,创建自己的镜像

docker tag ubuntu 192.168.172.143:5000/ubuntu

命名方式:ip:port/image_name:version

表示一会推送到镜像服务器时,使用这个ip、端口配置

3、查看刚才的镜像

docker images

4、配置镜像服务器地址

vi /etc/docker/daemon.json
内容如下:
{
"registry-mirrors": [
"<your acccelerate address>"
],
"insecure-registries": [
"192.168.172.143:5000"
]
}
重启服务:
service docker restart

第一个为阿里云容器镜像加速地址,第二个为新增的自己的镜像服务器地址。

5、验证配置

docker info

Insecure Registries节点是否多了一个配置。

6、推送镜像

docker push 192.168.172.143:5000/ubuntu

7、查看镜像

浏览器查看: http://192.168.172.143:5000/v2/_catalog

终端访问: curl -XGET http://192.168.172.143:5000/v2/_catalog

8、拉取镜像

先删除本地镜像
docker rmi ubuntu 192.168.172.143:5000/ubuntu
拉取
docker pull 192.168.172.143:5000/ubuntu

五、Registry图形界面

docker registry本身不提供图形界面,为方便操作,需要安装第三方的图形界面 :Docker-Registry-Frontend

1、安装

修改docker-compose.yml
version: "3.7"
services:
registry:
restart: always
image: registry
container_name: registry
ports:
- 5000:5000
volumes:
- /usr/local/docker/registry-data:/var/lib/registry
registry-ui:
restart: always
image: konradkleine/docker-registry-frontend:v2
container_name: registry-ui
environment:
ENV_DOCKER_REGISTRY_HOST: 192.168.172.143
ENV_DOCKER_REGISTRY_PORT: 5000
ports:
- 8080:80
volumes:
- /usr/local/docker/registry/server.crt:/etc/apache2/server.crt:ro
- /usr/local/docker/registry-ui/server.key:/etc/apache2/server.key:ro 删除已经存在的容器
docker rm $(docker ps -aq)
  • ENV_DOCKER_REGISTRY_HOST : 镜像服务器地址
  • ENV_DOCKER_REGISTRY_PORT : 镜像服务器端口

2、重新启动

docker-compose up -d

3、访问

浏览器访问:http://192.168.172.143:8080/ 即可

4、测试

推送
docker push 192.168.172.143:5000/ubuntu
修改tag再次推送
docker tag 192.168.172.143:5000/ubuntu 192.168.172.143:5000/ubuntu:8.0.0
docker push 192.168.172.143:5000/ubuntu:8.0.0

访问: http://192.168.172.143:8080/可以看到两个版本的ubuntu.

Docker Registry搭建的更多相关文章

  1. Docker Registry搭建私有仓库

    利用Registry镜像搭建Docker私有仓库遇到了很多坑,说来也是找到的资料都是杂而不精的东西,所以也没少走了弯路,现在回过头看去感觉好多坑还是别人给挖的··· 不过努力的最终结果还是好的,因为找 ...

  2. docker registry 搭建

    registry 搭建 假设在 cd /root 目录下 最新 docker run -d -p 5000:5000 -v pwd/data:/var/lib/registry --restart=a ...

  3. docker(五) 使用Docker Registry搭建镜像私服

    1.创建私服 docker run -d --name registry -v /opt/data/registry:/var/lib/registry -p 5000:5000 registry - ...

  4. learning docker steps(7) ----- docker registry 搭建

    参考: https://docs.docker.com/engine/reference/builder/ https://hub.docker.com/_/registry/ https://www ...

  5. Docker——Registry搭建私有镜像仓库

    前言 在 Docker 中,当我们执行 docker pull xxx 的时候,它实际上是从 registry.hub.docker.com 这个地址去查找,这就是Docker公司为我们提供的公共仓库 ...

  6. Ubuntu Docker Registry 搭建私有仓库

    服务器版本 Ubuntu 16.04 LTS. 安装命令: $ docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --rest ...

  7. 搭建私服-docker registry

    Docke官方提供了Docker Hub网站来作为一个公开的集中仓库.然而,本地访问Docker Hub速度往往很慢,并且很多时候我们需要一个本地的私有仓库只供网内使用.Docker仓库实际上提供两方 ...

  8. Docker registry V2

    部署私有Docker Registry 搭建 Insecure Registry 修改Registry server上的Docker daemon的配置,为DOCKER_OPTS增加–insecure ...

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

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

随机推荐

  1. MySQL中的sys系统数据库是干嘛的

    mysql5.7增加了sys 系统数据库,通过这个库可以快速的了解系统的元数据信息 这个库确实可以方便DBA发现数据库的很多信息,解决性能瓶颈都提供了巨大帮助   这个库在mysql5.7中是默认存在 ...

  2. 前端 - 轮询, 长轮训, websocket

    轮询 概念 ajax 轮询的原理很简单,让浏览器间隔几秒就发送一次请求,询问服务器是否有新信息 代码 function showUnreadNews() { $(document).ready(fun ...

  3. Flask中路由参数

    Flask中路由参数.请求方式设置 一.参数设置 1.参数类型 Flask中参数的使用 @app.route('/parames/<username>/') def hello_world ...

  4. 一百三十七:CMS系统之发布帖子前台布局

    把前面配置好的ueditor的文件复制到static下 把ueditor蓝图导入,注册 初始化ueditor //初始化ueditor$(function () { var ue = UE.getEd ...

  5. UIApearance的认识

    在参加工作之前一直不知道还有UIApearance的这个属性,并且不知道UIApearance是用来干嘛的,还不知道怎么用,工作之后,看公司代码中都会出现这个UIApearance,我决定学习学习,并 ...

  6. Session服务器之Memcached与Redis

    安装Memcached[root@nginx ~]# yum -y install libevent memcached 指定用户大小等信息,工作环境中常指定大小一般为4到8G,此信息测试使用.[ro ...

  7. Arduino基础入门—1.Hello World

    1.首先是下载.安装IDE. https://www.arduino.cc/en/Main/Software 2.连接开发板到电脑. 将UNO R3开发板通过数据线连接到电脑.打开设备管理器查看驱动是 ...

  8. springmvc 参数解析绑定原理

    handlerMethodArgumentResolver:方法参数解析器接口,这个接口是springmvc参数解析绑定的核心接口.不同的参数类型绑定都是通过实行这个接口来实现.也可以通过实现这个接口 ...

  9. Java学习笔记-函数

    Java也有着函数的概念,不过在OOP中,函数用作方法称呼 函数的定义 函数就是定义在类中的具有特定功能的一段独立小程序 函数也称为方法 函数的格式 修饰符返回值类型函数名(参数类型形式参数1,参数类 ...

  10. Oracle导出包含clob字段的sql脚本工具

    之前工作中遇到生产环境不允许导入Oracle的dmp文件,只能导入sql脚本,但是表中存在clob字段,直接用plsql工具无法导出clob字段,用了下dbvisualizer可以直接导出,亲测可用. ...