部署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 ...
随机推荐
- 记录JDK8到JDK17各个版本的更新重点
虽然大多数公司还是用的JDK8但是也要去了解和学习一下新得东西 ## JDK8新特性(2014年初)(LTS版本) 1.Lambda表达式 2.函数式编程 3.接口可以添加默认方法和静态方法,也就是定 ...
- MySQL故障诊断常用方法手册(含脚本、案例)
当你在使用MySQL数据库时,突然遇到故障,你是否会感到迷茫? ● 数据库响应变慢.SQL慢.数据库插入出现延时-- ● 表不见了.日志出现多个断连记录-- ● 非法断电造成MySQL启动报错.同步复 ...
- js的作用域有哪些 and 他们的特点
全局作用域:是所有代码的执行环境,比如script标签里所有的代码 或 独立的js 文件: 局部作用域:是函数内部代码的执行环境: 块级作用域:是 {} 内的代码执行环境:
- kubernetes日志回滚测试
kubernetes日志回滚测试 操作节点 podName 查询日志的命令 得到结果 初始pod ms-zipkin-deployment-5949c78884-4x5h7 kubectl logs ...
- for循环、break和continue、二重循环
循环语句 循环语句可以反复多次执行同一组语句,for关键字可以用来编写循环:可以在for循环里让一个变量依次代表一组数字,然后使用同一组语句处理这个变量代表的每个数字.这个变量叫做循环变量,按照统一的 ...
- 小A的组合数
小A的组合数 题目描述 \(C_n^m\)表示组合,组合公式为:\(C_n^m=\frac{n!}{m!\times (n-m)!}\),请你求出\(C_n^m\)的因子个数\(tot\),由于大难会 ...
- Shadcn UI:现代前端的灵活组件库
简要介绍 Shadcn UI 与其他 UI 和组件库如 Material UI.Ant Design.Element UI 的设计理念截然不同.这些库一般通过 npm 包提供对组件的访问,而 Shad ...
- 原子操作类Atomic
原子操作的基本数据类型 基本类型的原子操作主要有这些: AtomicBoolean:以原子更新的方式更新 boolean: AtomicInteger:以原子更新的方式更新 Integer; Atom ...
- Redis工具可视化工具Redis Desktop Manager(附安装包)
前言 redis工具,我相信每个开发都需要,如果每次查都去client执行指令,我怕查完之后,老大就要发版咯.我之前一直用的Redis可视化工具RedisDesktopManager,总觉得差点意思, ...
- 重温c语言之,7天开整,就是随便的写写,第一天
一:转义字符 \t是一个字符,在printf里面,只占一个位置: 其他什么的抽象字符,用一个'\'+抽象字符就可以出现: \ddd这个是8进制的,可以转成10进制的,之后参考ASCLL码表即可 二:枚 ...