Docker 搭建本地Registry
Docker已经将Registry开源,Registry本身也是一个容器。
1. 修改配置/etc/docker/daemon.json,去掉docker默认的https的访问
里面的内容是一个json对象,加上一项insecure-registries:
{
"insecure-registries":["172.16.65.150:5000"],
"registry-mirrors": ["http://2555a638.m.daocloud.io"]
}
2. 启动Registry容器
root@Docker001:~# docker run --name registry -d -p : -v /myregistry/:/var/lib/registry registry:
Unable to find image 'registry:2' locally
: Pulling from library/registry
81033e7c1d6a: Pull complete
b235084c2315: Pull complete
c692f3a6894b: Pull complete
ba2177f3a70e: Pull complete
a8d793620947: Pull complete
Digest: sha256:6cd209f81e188e8eaa13fad9b670fb1a4e9c7776a73b3881b69834fe5ddfb193
Status: Downloaded newer image for registry:
385252aac02931701c4cae4233d1b12447b5b8b98ba6b337121d2f4a03e78709
root@Docker001:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
385252aac029 registry: "/entrypoint.sh /e..." seconds ago Up seconds 0.0.0.0:->/tcp registry
3. 测试Registry是否工作正常
root@Docker001:~# curl http://172.16.65.150:5000/v2/_catalog
{"repositories":[]}
root@Docker001:~#
只要返回值为 {"repositories":[]} 表示工作正常。
4. 给本地Image打上本地Registry标签
root@Docker001:~# docker tag centos-with-vim 172.16.65.150:/centos-with-vim
root@Docker001:~# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos-with-vim latest c00312958340 days ago MB
172.16.65.150:/centos-with-vim latest c00312958340 days ago MB
httpd latest 01154c38b473 weeks ago MB
debian latest 1b3ec9d977fb weeks ago MB
registry d1fd7d86a825 weeks ago 33.3 MB
centos latest ff426288ea90 weeks ago MB
hello-world latest f2a91732366c months ago 1.85 kB
vincenshen/hello-world v1 f2a91732366c months ago 1.85 kB
172.16.65.150:/hello-world latest f2a91732366c months ago 1.85 kB
docker001:/vincenshen/hello-world v1 f2a91732366c months ago 1.85 kB
django latest eb40dcf64078 months ago MB
root@Docker001:~#
在镜像的前面加上了运行 registry 的主机名称和端口。
镜像名称由 repository 和 tag 两部分组成。而 repository 的完整格式为:[registry-host]:[port]/[username]/xxx
只有 Docker Hub 上的镜像可以省略 [registry-host]:[port] 。
5. 上传Image到Registry
root@Docker001:~# docker push 172.16.65.150:/centos-with-vim
The push refers to a repository [172.16.65.150:/centos-with-vim]
b00cb99cc959: Pushed
e15afa4858b6: Pushed
latest: digest: sha256:cc103061080dde196f30aa3cb2a129a3be90dd882c0542f27d44509705802544 size:
6. 查看Registry中的Image信息
root@Docker001:~# curl http://172.16.65.150:5000/v2/_catalog
{"repositories":["centos-with-vim"]} root@Docker001:~# curl http://172.16.65.150:5000/v2/centos-with-vim/tags/list
{"name":"centos-with-vim","tags":["latest"]}
7. 删除Registry中的Image
删除镜像
docker exec <Registry-容器名> rm -rf /var/lib/registry/docker/registry/v2/repositories/<镜像名>
清理配置信息
docker exec <Registry-容器名> bin/registry garbage-collect /etc/docker/registry/config.yml
更多详细配置https://docs.docker.com/registry/configuration
Docker 搭建本地Registry的更多相关文章
- docker搭建本地registry
第一步:拉取registry镜像 [root@localhost iso]# docker image pull registry Using default tag: latest latest: ...
- 搭建本地 Registry - 每天5分钟玩转 Docker 容器技术(20)
Docker Hub 虽然非常方便,但还是有些限制,比如: 需要 internet 连接,而且下载和上传速度慢. 上传到 Docker Hub 的镜像任何人都能够访问,虽然可以用私有 reposito ...
- 020、搭建本地Registry(2019-01-11 周五)
参考https://www.cnblogs.com/CloudMan6/p/6902325.html Docker Hub 虽然方便,但还是有些限制,比如 1.需要Internet连接,上 ...
- 第 3 章 镜像 - 020 - 搭建本地 Registry
Docker Hub 虽然非常方便,但还是有些限制,比如: 需要 internet 连接,而且下载和上传速度慢. 上传到 Docker Hub 的镜像任何人都能够访问,虽然可以用私有 reposito ...
- 利用Docker搭建本地https环境的完整步骤
利用Docker搭建本地https环境的完整步骤 这篇文章主要给大家介绍了关于如何利用Docker搭建本地https环境的完整步骤,文中通过示例代码将实现的步骤介绍的非常详细,对大家的学习或者工作具有 ...
- docker 笔记 (6)搭建本地registry
转:http://blog.csdn.net/felix_yujing/article/details/51564739 新版 registry v2对镜像存储格式进行了重新设计,并且和旧版还不兼容. ...
- docker搭建本地仓库并制作自己的镜像
原文地址https://blog.csdn.net/junmoxi/article/details/80004796 1. 搭建本地仓库1.1 下载仓库镜像1.2 启动仓库容器2. 在CentOS容器 ...
- docker搭建私有registry
搭建docker的私有registry 1. registry简介 Docker在2015年推出了distribution项目,即Docker Registry 2.相比于old registry ...
- Docker搭建本地私有仓库
安装部署一个私有的Docker Registry是引入.学习和使用Docker这门技术的必经之路之一.尤其是当Docker被所在组织接受,更多人.项目和产品开始接触和使用Docker时,存储和分发自制 ...
随机推荐
- C#IAsyncResult异步回调函数的解释
问题:IAsyncResult ar 是如何通过ar.AsyncState强制转换成TCPClientState类型 答:实例中使用的方法如下 我给IAsyncResult ar传入了TCPClien ...
- IBM Security AppScan Glass Box:一种全新的漏洞扫描思想
IBM Security AppScan Glass Box:一种全新的漏洞扫描思想 Glass Box 是 IBM Security AppScan Standard Edition(以下简称 Ap ...
- 【ExtAspNet学习笔记】ExtAspNet控件库中常见问题
1.在Grid控件中添加CheckBoxField控件,选择一行时,如何获取选择的CheckBoxField所对应记录的唯一标识值? ●解决方案: 在前台Grid控件中, 添加“<ext:Che ...
- Ubuntu 16.04.5下FFmpeg编译与开发环境搭建
PC环境: Ubuntu 18.04 上面只要安装下面的提示安装即可,基本上不必再下载依赖库的源代码进行编译和安装 编译步骤: 1, 安装相关工具: sudo apt install -y auto ...
- 在集群中使用文件加载graph
从hdfs上加载文件并创建graph scala> var graphs = GraphLoader.edgeListFile(sc,"/tmp/dataTest/graphTest. ...
- oracle中导出表的结构和数据
在linux环境上: exp user_name/password@//ip_address:1521/service_name file=aa.sql tables=\(table_name\); ...
- git设置全局和单个仓库账号和密码
Git全局配置和单个仓库的用户名邮箱配置 配置全局仓库的账号和密码 git config --global user.name "userName" //你的用户名 git con ...
- 多媒体开发之---开源库ffmeg的log之子解析
用了ffmeg快两年了,对其中的log甚是感兴趣,今天在做8148项目是,解读h264结构,看了<毕-新一代视频压缩编码标准h246> ,在第六章中的重排序里面看到了好熟悉的4x4矩阵zi ...
- Linux删除乱码文件的方法
当文件名为乱码的时候,无法通过键盘输入文件名,所以在终端下就不能直接利用rm,mv等命令管理文件了. 我们可以通过以下几种方法删除linux下的乱码文件.(文件名为乱码) l 方法1 我们知道每个文 ...
- 自定义验证----required属性
1,required属性 - 表示字段不能为空(注意:只有用户单击“提交”按钮提交表单的时候,浏览器才会执行验证.目前HTML5不支持指定验证的时间,而且验证消息的样式和内容各个浏览器不大一样,不能修 ...