docker 私有仓库搭建
知识基础:ubuntu系统安装,docker安装,了解docker的基础知识
下载镜像(如果下载2版本以上的需要配置ssl证书,这里先用0.9.1的演示)
root@ubuntu:/# docker pull registry:0.9.1
root@ubuntu:/# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
registry 0.9.1 bdc26a966725 4 weeks ago 422.9 MB
csphere/ent 0.1 f9118a2c0edc 3 weeks ago 212.1 MB
root@ubuntu:/#
生成容器(用编程的术语说:将镜像实例化出一个容器)
端口号用5000,名称:registry 镜像文件和版本号:registry:0.9.1
root@ubuntu:/# docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:0.9.1
查看有哪些容器
root@ubuntu:/# docker ps –a
root@ubuntu:/# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9416c29b3cfd registry:0.9.1 "docker-registry" 45 minutes ago Up 14 minutes 0.0.0.0:5000->5000/tcp registry
root@ubuntu:/#
跳过,如果需要可删除没用的容器
root@ubuntu:/# docker rm –f 容器ID
用浏览器访问以下地址会出现一个弹出的下载窗口,证明私有仓库已安装好,后面是测试和修改配置步骤
http://172.16.160.32:5000
root@ubuntu:/# docker tag csphere/ent:0.1 172.16.160.32:5000/csphere/ent:0.1
修改docker的配置,不然push的时候会报错。
root@ubuntu:/# vi /etc/default/docker
添加以下内容到配置文件中:
DOCKER_OPTS="$DOCKER_OPTS --insecure-registry=172.16.160.32:5000"
上传镜像到私有仓库
root@ubuntu:/# docker push 172.16.160.32:5000/csphere/ent
The push refers to a repository [172.16.160.32:5000/csphere/ent] (len: 1)
Sending image list
Pushing repository 172.16.160.32:5000/csphere/ent (1 tags)
f1b10cd84249: Image successfully pushed
172633e38420: Image successfully pushed
fab4b1df8eb1: Image successfully pushed
f9118a2c0edc: Image successfully pushed
Pushing tag for rev [f9118a2c0edc] on {http://172.16.160.32:5000/v1/repositories/csphere/ent/tags/0.1}
root@ubuntu:/#
查询私有仓库内的镜像
root@ubuntu:/#curl http://172.16.160.32:5000/v1/search
{"num_results": 1, "query": "", "results": [{"description": "", "name": "csphere/ent"}]}
root@ubuntu:/#
root@ubuntu:/# docker rmi 172.16.160.32:5000/csphere/ent:0.1
Untagged: 172.16.160.32:5000/csphere/ent:0.1
Deleted: f9118a2c0edcf4782c8100d29fafde29dfc3e16aa4c17f648bd9ef03f9b4a6a0
root@ubuntu:/#
下载前确认已经没有csphere/ent镜像文件
root@ubuntu:/# docker images
以下命令从172.16.160.32:5000上的csphere目录下下载版本号为0.1的ent镜像。
注:要指定IP地址不然会从公网上下载镜像,要指定版本,不然会提示找不到相应镜像。
root@ubuntu:/# docker pull 172.16.160.32:5000/csphere/ent:0.1
Pulling repository 172.16.160.32:5000/csphere/ent
f9118a2c0edc: Download complete
f1b10cd84249: Download complete
172633e38420: Download complete
fab4b1df8eb1: Download complete
Status: Downloaded newer image for 172.16.160.32:5000/csphere/ent:0.1
root@ubuntu:/#
下载后确认有csphere/ent镜像文件
root@ubuntu:/# docker images
错误示范:
root@ubuntu:/# docker pull 172.16.160.32:5000/csphere/ent
Pulling repository 172.16.160.32:5000/csphere/ent
FATA[0004] Tag latest not found in repository 172.16.160.32:5000/csphere/ent
root@ubuntu:/# curl http://172.16.160.32:5000/v1/search
{"num_results": 1, "query": "", "results": [{"description": "", "name": "csphere/ent"}]}root@ubuntu:/#
root@ubuntu:/# docker pull csphere/ent
Pulling repository csphere/ent
FATA[0020] Error: image csphere/ent:latest not found
root@ubuntu:/# docker pull csphere/ent:0.1
Pulling repository csphere/ent
FATA[0013] Error: image csphere/ent:0.1 not found
docker 私有仓库搭建的更多相关文章
- CentOS7 Docker私有仓库搭建及删除镜像 【转】
文章来源:centos7 Docker私有仓库搭建及删除镜像 如果不想用私有镜像库,你可以用docker的库 https://hub.docker.com 环境准备 环境:两个装有Docker 17. ...
- Docker学习笔记 — Docker私有仓库搭建
Docker学习笔记 — Docker私有仓库搭建 目录(?)[-] 环境准备 搭建私有仓库 测试 管理仓库中的镜像 查询 删除 Registry V2 和Mavan的管理一样,Dockers ...
- docker私有仓库搭建(ubuntu 14.04和centos7)
最近是在做一个关于docker云化的项目,马上就要开始实战.下午先做了一个私有仓库搭建的实验,先大概做个笔记,有兴趣的蛮看一下吧. 先在所有机子上都安装上docker,我的是两台ubuntu,分别是1 ...
- Docker学习笔记 — Docker私有仓库搭建【转载】
标签: Docker 2015-03-10 21:08 24190人阅读 评论(0) 收藏 举报 分类: Docker(26) 目录(?)[+] 和Mavan的管理一样,Dockers不仅 ...
- CentOS环境下Docker私有仓库搭建
本文讲述如何搭建docker私有仓库. 有了docker hub,为什么还要搭建docker私有仓库? 1.性能考虑:docker hub的访问要通过互联网,性能太低. 2.安全性:更多的时候,镜像不 ...
- docker私有仓库搭建和资源限制
Docker 私有仓库的搭建 docker 私有仓库默认只支持https协议的访问 不支持http协议 如果需要允许通过http协议访问 必须手动修改配置文件 docker官方默认提供的仓库 提供 ...
- centos7 docker私有仓库搭建
习Docker的过程中Docker的私有仓库一直没能成功,就是因为CentOS 6.x和CentOS 7默认引入了支持https认证,每次在push和pull的时候都会报错,今天是周末,利用一天的时间 ...
- docker私有仓库搭建及认证
什么是docker? Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机 ...
- Docker私有仓库搭建
# 环境 系统 Linux 3.10.0-123.9.3.el7.x86_64 CentOS 7.0.1406 (Core) Docker 1.12.0, build 8eab29e 1.获取镜像 私 ...
随机推荐
- django restframework serializer 增加自定义字段
在使用django restframework serializer 序列化在django中定义的model时,有时候我们需要额外在serializer中增加一些model中没有的字段.有两种方法实现 ...
- 572. Subtree of Another Tree
Problem statement: Given two non-empty binary trees s and t, check whether tree t has exactly the sa ...
- 栈的Java简单实现
关于栈 栈(Stack)是限定只能在一段进行插入和删除操作的线性表. 进行插入和删除操作的一端称为“栈顶”(top),另一端称为“栈底”(bottom). 栈的插入操作称为“入栈”(push),栈的删 ...
- Linux五种IO模型性能分析
1. 概念理解 在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式: 同步: 所谓同步,就是在发出一个功能调用时, ...
- 状态(State)模式
状态模式,又称状态对象模式(Pattern of Objects for States),状态模式是对象的行为模式.状态模式允许一个对象在其内部状态改变的时候改变其行为.这个对象看上去就像是改变了它的 ...
- angular页面缓存与页面刷新
angularJS学习笔记:页面缓存与页面刷新 遇到的问题 现在存在这样一个问题,登录前与登录成功后是同一个页面,只不过通过ngIf来控制哪部分显示,图像信息如下: 所以,整体工作不是很难,无非就 ...
- Swift 中 String 取下标及性能问题
Swift 中 String 取下标及性能问题 取下标 String String 用 String.Index 取下标(subscript)得到 Character,String.Index 要从 ...
- Homebrew安装和使用
## homebrew使用1. 安装 `$ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/m ...
- Libsvm使用资料
原理: 1. pluskid(张弛原)的支持向量机教程(人家现在都是大牛了) http://blog.pluskid.org/?page_id=683 2. JerryLead机器学习教程 http: ...
- HttpClien Get&Post
新公司上班第二周,开始进军.Net Core,这方面的东西比较新,所以已经封装好的东西比较少,比如HttpClien之类的开源类库,找了NuGet好久,没有找到,所以先写个简陋的来用着先. 引用: u ...