docker资料---仓库搭建
以下步骤均为本人亲自踩坑,历经数次失败,最终搭建成功
一、环境信息:
操作系统:CentOS 7
Docker版本:1.12.5 (更高版本应该类似)
registry:2.4.1
registry-web: hyper/docker-registry-web:latest
二、搭建步骤:
1、拉取镜像registry(仓库)和registry-web(用于访问仓库的UI界面):
docker pull hyper/docker-registry-web
docker pull registry:2.4.1
- 1
- 2
- 3
2、下载docker-compose(一种简化复杂容器应用的利器,具体使用可参见官网)
官网下载链接:https://docs.docker.com/compose/install/
懒人可以直接使用下面的命令即可下载
curl -L https://github.com/docker/compose/releases/download/1.13.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
- 1
- 2
下载完成后更改docker-compose的权限:
chmod 755 /usr/local/bin/docker-compose
- 1
- 2
3、创建几个目录,用于存放配置文件和作为私有仓库的镜像存储目录
mkdir -p /data/registry_dir/conf/registry #存放仓库的配置信息
mkdir -p /data/registry_dir/conf/registry-web #存放仓库UI界面的配置信息
mkdir -p /data/registry_dir/registry #存放仓库的镜像
mkdir -p /data/registry_dir/db #仓库的访问信息
- 1
- 2
- 3
- 4
- 5
4、生成证书
openssl req -new -newkey rsa:4096 -days 365 \
-subj "/CN=localhost" \
-nodes -x509 \
-keyout /data/registry_dir/conf/registry-web/auth.key \
-out /data/registry_dir/conf/registry/auth.cert
- 1
- 2
- 3
- 4
- 5
- 6
5、创建配置文件(注意配置文件格式有点类似python,靠缩进识别配置项,一定要保持缩进一致)
###创建仓库的配置文件
vim /data/registry_dir/conf/registry/config.yml
version: 0.1
storage:
filesystem:
rootdirectory: /var/lib/registry
http:
addr: 0.0.0.0:5000
auth:
token:
realm: http://localhost:8080/api/auth
service: localhost:5000
issuer: 'admin'
rootcertbundle: /etc/docker/registry/auth.cert
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
###创建仓库UI的配置文件
vim /data/registry_dir/conf/registry-web/config.yml
registry:
url: http://registry-srv:5000/v2
name: localhost:5000
readonly: false
auth:
enabled: true
issuer: 'admin'
key: /conf/auth.key
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
###创建docker-compose启动配置文件
vim /data/registry_dir/docker-compose.yml
version: '2'
services:
registry-web:
image: hyper/docker-registry-web:latest
ports:
- 8080:8080
volumes:
- /data/registry_dir/conf/registry-web:/conf:ro
- /data/registry_dir/db:/data
networks:
- registry-net
depends_on:
- registry
restart: always
registry:
image: registry:2.4.1
ports:
- 5000:5000
volumes:
- /data/registry_dir/conf/registry:/etc/docker/registry:ro
- /data/registry_dir/registry:/var/lib/registry
environment:
- REGISTRY_STORAGE_DELETE_ENABLED=true
networks:
- registry-net
restart: always
networks:
registry-net:
#driver: default
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
6、启动容器
docker-compose up -d
- 1
- 2
搭建完成,查看镜像运行情况:docker ps | grep registry
正常运行的话,接下来就可以愉快的访问你的镜像仓库了,打开浏览器,输入localhost:8080(从其他机器访问该仓库的话,输入ip:port的方式就可以)默认用户名密码是admin/admin
也可以从后台验证配置是否准确:
docker login localhost:5000
- 1
- 2
输入正确的用户密码会提示:
如果密码错,则会提示:
至此,带有访问认证的docker私有仓库搭建完毕,也可参考官网通过docker run的方式,
链接:https://hub.docker.com/r/hyper/docker-registry-web/
另外需注意,首次向仓库push镜像时会提示权限问题,需要登录web给admin用户分配一下权限。
docker资料---仓库搭建的更多相关文章
- Docker学习笔记 — Docker私有仓库搭建
Docker学习笔记 — Docker私有仓库搭建 目录(?)[-] 环境准备 搭建私有仓库 测试 管理仓库中的镜像 查询 删除 Registry V2 和Mavan的管理一样,Dockers ...
- CentOS7 Docker私有仓库搭建及删除镜像 【转】
文章来源:centos7 Docker私有仓库搭建及删除镜像 如果不想用私有镜像库,你可以用docker的库 https://hub.docker.com 环境准备 环境:两个装有Docker 17. ...
- Docker学习笔记 — Docker私有仓库搭建【转载】
标签: Docker 2015-03-10 21:08 24190人阅读 评论(0) 收藏 举报 分类: Docker(26) 目录(?)[+] 和Mavan的管理一样,Dockers不仅 ...
- docker私有仓库搭建(ubuntu 14.04和centos7)
最近是在做一个关于docker云化的项目,马上就要开始实战.下午先做了一个私有仓库搭建的实验,先大概做个笔记,有兴趣的蛮看一下吧. 先在所有机子上都安装上docker,我的是两台ubuntu,分别是1 ...
- 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.获取镜像 私 ...
- docker 私有仓库搭建
知识基础:ubuntu系统安装,docker安装,了解docker的基础知识 下载镜像(如果下载2版本以上的需要配置ssl证书,这里先用0.9.1的演示) root@ubuntu:/# docker ...
- CentOS环境下Docker私有仓库搭建
本文讲述如何搭建docker私有仓库. 有了docker hub,为什么还要搭建docker私有仓库? 1.性能考虑:docker hub的访问要通过互联网,性能太低. 2.安全性:更多的时候,镜像不 ...
- centos7 Docker私有仓库搭建及删除镜像
如果不想用私有镜像库,你可以用docker的库 https://hub.docker.com 环境准备 环境:两个装有Docker 17.09.0-ce 的centos7虚拟机 虚拟机一:192.16 ...
随机推荐
- 警告:Establishing SSL connection without server's identity verification is not recommended
SpringBoot启东时红色警告: Mon Jun 04 00:53:48 CST 2018 WARN: Establishing SSL connection without server's i ...
- Java之所有输入流输出流的分类
(1)字节输入流 基类:InputStream FileInputStream.ByteArrayInputStream.PipedInputStream.Buffered ...
- Linux Namespace : Network
Network namespace 在逻辑上是网络堆栈的一个副本,它有自己的路由.防火墙规则和网络设备.默认情况下,子进程继承其父进程的 network namespace.也就是说,如果不显式创建新 ...
- Python之Flask笔记
在这里先说一下最开始所经历的一些错误app=Flask(_name_),当初拼写的时候怎么都报错后来发现此处是两个'_' 配置文件 app.config.from_object(__name__) 在 ...
- python实现本地图片上传到服务区
本地图片上传到服务器,其本质上来讲,就是读取本地图片,复制到服务器,并返回服务器url 前端代码,用的form表单提交,form表单中包含两个文件选择表单元素,选择文件,点击提交按钮,提交form表单 ...
- 学习用Node.js和Elasticsearch构建搜索引擎(3):使用curl命令操作elasticsearch
使用Elasticsearch不免要提到curl工具,curl是利用URL语法在命令行方式下工作的开源文件传输工具.官网地址:https://curl.haxx.se/ 因为elasticsearch ...
- debian中完全删除mysql
参考自:http://www.jb51.net/article/50884.htm 之前实验室的人说找不到完全删除已安装的mysql-cluster的方法,我当时没在意,今天不得不删除他之前安装的my ...
- #Leetcode# 1009. Complement of Base 10 Integer
https://leetcode.com/problems/complement-of-base-10-integer/ Every non-negative integer N has a bina ...
- vue学习的笔记补充
// vue-router中可以使用 routes:[ { path:'/', name:'index', component:()=>import('./index') } ] // 这种写法 ...
- React-Native windows环境搭建记录
1.安装jdk,SDK Jdk下载地址:http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk8-downloads-213315 ...