部署docker-registry +ui , 使用ansible部署docker实例
#部署docker-registry +ui , 使用ansible部署docker实例
docker registry 配置域名证书, 用户密码认证, 轻量UI
shell部署docker-registry+ui https://www.cnblogs.com/elvi/p/13394449.html
#运行
ansible-playbook docker-registry.yml
#删除
ansible-playbook docker-registry.yml -t remove
#浏览器登录查看

registry非本机,设置hosts解析 ip hub.elvin.vip
实例使用域名证书hub.elvin.vip
ansible-docker模块参考官网
https://docs.ansible.com/ansible/2.7/modules/docker_container_module.html
#playbook如下
# docker-registry.yml
- name: registry
hosts: localhost
#变量
vars:
username: admin
password: docker
net_name: "registry-net"
data_dir: "/data/docker/docker-registry"
domain_name: "hub.elvin.vip"
download_url: "http://files.elvin.vip/docker"
tasks:
##########ansible运行docker需安装docker-py
- name: "install python-pip "
package:
name:
- "python-pip"
state: present
tags: py
- name: pip install docker-py
pip:
name:
- docker-py>=1.10.6
- PyYAML>=5.3.0
extra_args: -i https://mirrors.aliyun.com/pypi/simple
tags: py
##########
- name: Create user file
shell: |
mkdir -p {{ data_dir }}
docker run --rm alivv/htpasswd {{ username }} {{ password }} >{{ data_dir }}/htpasswd
changed_when: false
- name: Download https certificate
get_url:
url: "{{ download_url }}/{{ item }}"
dest: "{{ data_dir }}/{{ item }}"
mode: 0644
force: yes
with_items:
- "{{ domain_name }}_private.key"
- "{{ domain_name }}_full_chain.pem"
- name: Create network -> {{ net_name }}
docker_network:
name: "{{ net_name }}"
driver_options:
com.docker.network.bridge.name: "{{ net_name }}"
ipam_options:
subnet: '10.20.20.0/24'
gateway: 10.20.20.1
iprange: '10.20.20.0/24'
##########container
- name: Create container registry-srv
docker_container:
name: registry-srv
image: registry
state: started
restart: yes
restart_policy: "unless-stopped"
memory: 512M
privileged: yes
networks:
- name: "{{ net_name }}"
ipv4_address: 10.20.20.11
aliases:
- registry
ports:
- "443:443"
volumes:
- "/etc/localtime:/etc/localtime:ro"
- "{{ data_dir }}:/var/lib/registry"
env:
REGISTRY_AUTH: "htpasswd"
REGISTRY_AUTH_HTPASSWD_REALM: "Registry Realm"
REGISTRY_AUTH_HTPASSWD_PATH: "/var/lib/registry/htpasswd"
REGISTRY_HTTP_ADDR: "0.0.0.0:443"
REGISTRY_STORAGE_DELETE_ENABLED: "true"
REGISTRY_HTTP_TLS_KEY: "/var/lib/registry/{{ domain_name }}_private.key"
REGISTRY_HTTP_TLS_CERTIFICATE: "/var/lib/registry/{{ domain_name }}_full_chain.pem"
- name: Create container registry-ui
docker_container:
name: registry-ui
image: joxit/docker-registry-ui:1.3-static
state: started
restart: yes
restart_policy: unless-stopped
memory: 64M
networks:
- name: "{{ net_name }}"
ipv4_address: 10.20.20.12
ports:
- "80:80"
volumes:
- "/etc/localtime:/etc/localtime:ro"
env:
REGISTRY_URL: "https://registry:443"
PULL_URL: "{{ domain_name }}"
DELETE_IMAGES: "true"
REGISTRY_TITLE: "Docker registry"
##########remove
- name: Delete container
docker_container:
name: "{{ item }}"
state: absent
force_kill: yes
with_items:
- "registry-ui"
- "registry-srv"
tags: never,remove
- name: Delete network -> {{ net_name }}
docker_network:
name: "{{ net_name }}"
state: absent
force: yes
tags: never,remove
部署docker-registry +ui , 使用ansible部署docker实例的更多相关文章
- docker registry ui
https://hub.docker.com/r/parabuzzle/docker-registry-ui/
- 部署私有Docker Registry
安装部署一个私有的Docker Registry是引入.学习和使用Docker这门技术的必经之路之一.尤其是当Docker被所在组织接受,更多人.项目和产品开始接触和使用Docker时,存储和分发自制 ...
- 部署 Docker Registry 并配置认证登录
文章目录 搭建 Docker Registry 创建本地映射目录 启动 Docker Registry 配置 Docker Registry 配置 Docker Registry 认证 启动带认证的 ...
- docker registry(私库)搭建,使用,WEB可视化管理部署
Docker Registry 是Docker官方一个镜像,可以用来储存和分发Docker镜像.目前比较流行的两个镜像私库是Docker Registry ,HarBor 其中HarBor最合适企业级 ...
- Docker私有仓库与Harbor部署使用
Docker私有仓库与Harbor部署使用 目录 Docker私有仓库与Harbor部署使用 一.本地私有仓库 1. 下载registry镜像 2. 在daemon.json文件中添加私有镜像仓库地址 ...
- 企业级Registry仓库Harbor的部署与简介
Harbor 是Vmware公司开源的企业级Docker Registry管理项目,开源项目地址:https://github.com/vmware/harbor Harbor的所有组件都在Docke ...
- 建立docker私有库(docker registry)(转)
建立docker私有库(docker registry) 博客分类: docker 我的目标还是无互联网安装,部署内部的docker私有库,目前docker镜像的获得还是需要互联网,将下载好的do ...
- Docker Registry搭建私有仓库
利用Registry镜像搭建Docker私有仓库遇到了很多坑,说来也是找到的资料都是杂而不精的东西,所以也没少走了弯路,现在回过头看去感觉好多坑还是别人给挖的··· 不过努力的最终结果还是好的,因为找 ...
- Docker Registry私有仓库搭建
部署registry 准备一个registry.mydocker.com 的证书 对私有registry取名registry.mydocker.com 目录规划 仓库数据目录:/data/docker ...
- nginx反向代理docker registry报”blob upload unknown"解决办法
问题症状:keepalived+nginx反向代理后端docker registry群集时,使用docker客户机向registry push镜像时出现 "blob upload unkno ...
随机推荐
- 命令行gcc -v和g++ -v输出版本不一致
命令行gcc -v和g++ -v输出版本不一致 前言:本文初编辑于2024年1月30日 CSDN主页:https://blog.csdn.net/rvdgdsva 博客园主页:https://www. ...
- Thinkphp原生验证码的使用
Thinkphp原生验证码的使用 一. 获取验证码 public function verifyCode(){ $captcha = new \think\captcha\Captcha(); $ca ...
- vue前端使用nexus配置npm私有仓库
当我们运行前端项目的时候,常常在解决依赖的时候会加上一个参数npm install --registry=https://registry.npm.taobao.org将源指定为淘宝的源,以期让速度加 ...
- 在 Vue 实例中编写生命周期hook 或者其它 option/propertie 时,为什么不适用箭头函数 ?
首先,箭头函数没有自己的 this 环境变量 会沿用作用域使用父级this : 由Vue 管理的函数 ,如果写成箭头函数 this 就不在是 Vue 实例 了 :
- Android复习(五)设备兼容—>支持刘海屏
支持刘海屏 刘海屏是指某些设备显示屏上的一个区域延伸到显示面,这样既能为用户提供全面屏体验,又能为设备正面的重要传感器留出空间.Android 在搭载 Android 9(API 级别 28)及更高版 ...
- Vite打包碎片化,如何化解?
背景 我们在使用 Vite 进行打包时,经常会遇到这个问题:随着业务的展开,版本迭代,页面越来越多,第三方依赖也越来越多,打出来的包也越来越大.如果把页面都进行动态导入,那么凡是几个页面共用的文件都会 ...
- KubeSphere 社区双周报 | 本周六上海站 Meetup 准时开启 | 2023.7.21-08.03
KubeSphere 社区双周报主要整理展示新增的贡献者名单和证书.新增的讲师证书以及两周内提交过 commit 的贡献者,并对近期重要的 PR 进行解析,同时还包含了线上/线下活动和布道推广等一系列 ...
- CMDB实践指南:项目规划与实施策略解析
随着现代企业IT系统的日益复杂,如何有效管理这些庞大的IT资产和资源,成为每个企业必须面对的重要问题.CMDB应运而生,帮助企业集中管理IT资源,维护系统的稳定性,并支持故障排查与决策制定.本文将深入 ...
- redis的CPA三进二原则
CAP C:consistency,数据在多个副本中能保持一致的状态. A:Availability,整个系统在任何时刻都能提供可用的服务,通常达到99.99%四个九可以称为高可用 P:Partiti ...
- html 根据配置项统一检查文本框数据规范
<div> 中文名:<input id="txtName" type="text" /><br /> 身份证号:<in ...