搭建Docker私有仓库&用户密码认证&web可视化界面
1.拉取镜像
docker pull hyper/docker-registry-web
docker pull registry
2.安装
yum install docker-compose
3.搭建过程
(1)创建存放配置文件和私有仓库镜像的存储目录
mkdir -p /usr/local/docker-registry/conf/registry #存放仓库的配置信息
mkdir -p /usr/local/docker-registry/conf/registry-web #存放仓库UI界面的配置信息
mkdir -p /usr/local/docker-registry/registry #存放仓库的镜像
mkdir -p /usr/local/docker-registry/db #仓库的访问信息
(2)生成证书
openssl req -new -newkey rsa:4096 -days 365 \
-subj "/CN=192.168.199.189" \
-nodes -x509 \
-keyout /usr/local/docker-registry/conf/registry-web/auth.key \
-out /usr/local/docker-registry/conf/registry/auth.cert
(3)创建仓库的配置文件
vi /usr/local/docker-registry/conf/registry/config.yml
内容如下:
version: 0.1 storage:
filesystem:
rootdirectory: /var/lib/registry http:
addr: 0.0.0.0:5000 auth:
token:
realm: http://192.168.199.189:50000/api/auth
service: 192.168.199.189:5000
issuer: 'admin'
rootcertbundle: /etc/docker/registry/auth.cert
(4)创建仓库UI的配置文件
vi /usr/local/docker-registry/conf/registry-web/config.yml
内容如下:
registry:
url: http://192.168.199.189:5000/v2
name: 192.168.199.189:5000
readonly: false
auth:
enabled: true
issuer: 'admin'
key: /conf/auth.key
(5)创建docker-compose启动配置文件
version: '2'
services:
registry-web:
image: hyper/docker-registry-web:latest
ports:
- 50000:8080
volumes:
- /usr/local/docker-registry/conf/registry-web:/conf:ro
- /usr/local/docker-registry/db:/data
networks:
- registry-net
depends_on:
- registry
restart: always
registry:
image: registry:2.4.1
ports:
- 5000:5000
volumes:
- /usr/local/docker-registry/conf/registry:/etc/docker/registry:ro
- /usr/local/docker-registry/registry:/var/lib/registry
environment:
- REGISTRY_STORAGE_DELETE_ENABLED=true
networks:
- registry-net
restart: always
networks:
registry-net:
#driver: default #如果报错就注掉
yml文件主要格式,每一级都要缩进,最好用一个tab键,切记,如果启动失败,一定好好检查这几个配置文件,特别是空格(tab键)。
(6)通过docker-compose拉取镜像启动容器
docker-compose up -d
然后执行下面命令刷新配置:
systemctl daemon-reload
重启docker:
systemctl restart docker
--add-registry=192.168.199.189:5000 --insecure-registry=192.168.199.189:5000# systemctl daemon-reload
# systemctl restart docker
docker info
其他主机下载镜像:
在另外一台需要获取镜像的主机上配置registry为无CA模式:
vim /etc/docker/daemon.json
{
"insecure-registries" : ["192.168.199.189:5000"]
}
可以打开浏览器输入:192.168.199.189:50000
输入账号密码登录,默认是admin/admin,可以登录后修改,默认账号只有ui的管理功能,如果需要push功能还需要自己配置权限。
也可以使用docker命令登录:
docker login 192.168.199.189:5000
4. 提交镜像
(1)执行命令docker pull tomcat,从hub.docker.com下载最新版本的tomcat镜像
docker pull tomcat
(2) 执行命令docker images查看镜像列表
docker images
(3) 镜像添加一个带有私有仓库IP的TAG
docker tag dd6ff929584a 192.168.199.189:5000/tomcat
(4) 登录本地仓库
docker login 192.168.199.189:5000
(5) 提交镜像到本地仓库
docker push 192.168.199.189:5000/tomcat
搭建Docker私有仓库&用户密码认证&web可视化界面的更多相关文章
- 一步步搭建docker私有仓库并从私有仓库中下载镜像
一步步搭建docker私有仓库 #下载镜像 docker pull registry#查看镜像 docker images #运行私有仓库,指定端口和数据卷 docker run -d -p : -v ...
- 搭建docker私有仓库
保存镜像的地方成为仓库(registry).目前有2种仓库:公共仓库和私有仓库. 最方便的是使用公共仓库上传和下载镜像,下载不需要注册,上传需要到公共仓库注册.公共仓库网站:https://hub.d ...
- windows 环境下搭建docker私有仓库
windows 环境下搭建docker私有仓库 1.在公用仓库中pull仓库镜像 docker pull regitry 2.启动仓库镜像 //-d意思是后台运行,-p是做端口映射,这里是将本地的50 ...
- Centos7基于容器安装运行Docker私有仓库及添加认证
一.前言 官方的Docker hub是一个用于管理公共镜像的好地方,我们可以在上面找到我们想要的镜像,也可以把我们自己的镜像推送上去.但是,有时候,我们的使用场景需要我们拥有一个私有的镜像仓库用于管理 ...
- 03搭建docker私有仓库
搭建docker私仓,可以使用docker官方提供的registry镜像.该镜像目前有2.0,2.3和2.3.1版本.它只与1.6.0以上版本的docker兼容.搭建私仓的步骤如下: 一:无代理.无认 ...
- CentOS7搭建Docker私有仓库----Docker
有时候使用Docker Hub这样的公共仓库可能不方便,这种情况下用户可以使用registry创建一个本地仓库供私人使用,这点跟Maven的管理类似.目前Docker Registry已经升级到了v2 ...
- 手把手教你搭建Docker私有仓库
章节一:centos7 docker安装和使用_入门教程 章节二:使用docker部署Asp.net core web应用程序 有了前面的基础,接下来的操作就比较简单了.先准备两台虚拟机,两台机器上都 ...
- Docker自学纪实(六)搭建docker私有仓库
docker的镜像仓库分两种:一种是从官方公有仓库拉取:还有就是自己搭建私有仓库.官方的镜像仓库是面对整个应用市场的:私有仓库一般用于公司内部,就是公司项目自身所需的镜像.搭建私有仓库有什么好处?私有 ...
- 搭建docker私有仓库,建立k8s集群
服务器IP角色分布 192.168.5.2 etcd server 192.168.5.2 kubernetes master 192.168.5.3 kubernetes node 192.168. ...
随机推荐
- MySQL的异常问题
异常问题
- PAT Advanced 1098 Insertion or Heap Sort (25) [heap sort(堆排序)]
题目 According to Wikipedia: Insertion sort iterates, consuming one input element each repetition, and ...
- WEB一周总结(1)待补充
1.网页设计作业--小组介绍 图片来自https://weibo.com/hxLMo?sudaref=www.baidu.com&display=0&retcode=6102 2.WE ...
- 常用函数式接口与Stream API简单讲解
常用函数式接口与Stream API简单讲解 Stream简直不要太好使啊!!! 常用函数式接口 Supplier<T>,主要方法:T get(),这是一个生产者,可以提供一个T对象. C ...
- c++ 模板练习2
#include "stdafx.h" #include <iostream> using namespace std; template<class T> ...
- cat <<EOF> file
.多行导入文件(新建文件或者覆盖文件内容) cat << EOF > abcd.txt Hello! This is a test file! Test for cat and ...
- SpringCloud学习之Bus消息总线实现配置自动刷新(九)
前面两篇文章我们聊了Spring Cloud Config配置中心,当我们在更新github上面的配置以后,如果想要获取到最新的配置,需要手动刷新或者利用webhook的机制每次提交代码发送请求来刷新 ...
- Maven:maven依赖jar包冲突处理
Maven多模块项目中偶尔会遇到这种问题:明明项目中相关的jar包已经通过pom.xml引进来了,还是报错找到不到相关的类的错误.这种时候,基本上可以断定是jar包冲突的问题. 很多情况下jar包会通 ...
- sqlmap简单流程使用
-u “(url)” 1.判断可注入的参数 2.判断可以用那种SQL注入技术来注入 3.识别出哪种数据库 4.根据用户选择,读取哪些数据 sqlmap支持五种不同的注入模式: 1.基于布尔的盲注,即可 ...
- C# 创建Windows服务。服务功能:定时操作数据库
一.创建window服务 1.新建项目-->选择Windows服务.默认生成文件包括Program.cs,Service1.cs 2.在Service1.cs添加如下代码: System.T ...