#部署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实例的更多相关文章

  1. docker registry ui

    https://hub.docker.com/r/parabuzzle/docker-registry-ui/

  2. 部署私有Docker Registry

    安装部署一个私有的Docker Registry是引入.学习和使用Docker这门技术的必经之路之一.尤其是当Docker被所在组织接受,更多人.项目和产品开始接触和使用Docker时,存储和分发自制 ...

  3. 部署 Docker Registry 并配置认证登录

    文章目录 搭建 Docker Registry 创建本地映射目录 启动 Docker Registry 配置 Docker Registry 配置 Docker Registry 认证 启动带认证的 ...

  4. docker registry(私库)搭建,使用,WEB可视化管理部署

    Docker Registry 是Docker官方一个镜像,可以用来储存和分发Docker镜像.目前比较流行的两个镜像私库是Docker Registry ,HarBor 其中HarBor最合适企业级 ...

  5. Docker私有仓库与Harbor部署使用

    Docker私有仓库与Harbor部署使用 目录 Docker私有仓库与Harbor部署使用 一.本地私有仓库 1. 下载registry镜像 2. 在daemon.json文件中添加私有镜像仓库地址 ...

  6. 企业级Registry仓库Harbor的部署与简介

    Harbor 是Vmware公司开源的企业级Docker Registry管理项目,开源项目地址:https://github.com/vmware/harbor Harbor的所有组件都在Docke ...

  7. 建立docker私有库(docker registry)(转)

    建立docker私有库(docker registry) 博客分类: docker   我的目标还是无互联网安装,部署内部的docker私有库,目前docker镜像的获得还是需要互联网,将下载好的do ...

  8. Docker Registry搭建私有仓库

    利用Registry镜像搭建Docker私有仓库遇到了很多坑,说来也是找到的资料都是杂而不精的东西,所以也没少走了弯路,现在回过头看去感觉好多坑还是别人给挖的··· 不过努力的最终结果还是好的,因为找 ...

  9. Docker Registry私有仓库搭建

    部署registry 准备一个registry.mydocker.com 的证书 对私有registry取名registry.mydocker.com 目录规划 仓库数据目录:/data/docker ...

  10. nginx反向代理docker registry报”blob upload unknown"解决办法

    问题症状:keepalived+nginx反向代理后端docker registry群集时,使用docker客户机向registry push镜像时出现 "blob upload unkno ...

随机推荐

  1. 为什么用 AWS CLI?因为我懒得点鼠标!

    在这篇博客中,我们一起深入探索 AWS CLI 的世界,从零开始,逐步构建在云端的家园.将介绍 AWS CLI 的基本功能和使用场景,如何创建 IAM 用户.VPC.子网.安全组.EC2 实例等,甚至 ...

  2. `->` 操作符重载的注意事项

    在 C++ 中,-> 操作符可以被重载,用于对象的指针成员访问. 重载后的 -> 操作符主要用于模拟指针访问行为,常见于智能指针的实现等复杂场景. -> 操作符重载后的调用触发流程: ...

  3. 如何让img图片居中

    说明:img是行内块元素,用一个盒子(父元素)嵌套img(子元素) text-align:center;可以让父元素为块元素的行内块或行内元素水平居中: vaertical-align:middle; ...

  4. js的宏任务和微任务有哪些,是怎么执行的 ?

    事件循环有宏任务和微任务: 宏任务所处的队列就是宏任务队列,队列可以有多个,第一个队列只有一个任务就是执行主线程的js代码,剩余队列任务有setTimeout setInterval  :微任务所处的 ...

  5. 题解:P9784 [ROIR 2020 Day1] 超速

    传送门 洛谷题解 思路 我们设 \(T\) 为所花的总时间,\(d\) 为超速多少. 然后不难知道 $ T = \sum_{i = 1}^{n} \frac{l_i}{v_i+d}$,所以我们实际上是 ...

  6. JVM栈帧

    Java 的源码文件经过编译器编译后会生成字节码文件,然后由 JVM 的类加载器进行加载,再交给执行引擎执行.在执行过程中,JVM 会划出一块内存空间来存储程序执行期间所需要用到的数据,这块空间一般被 ...

  7. dotnet core微服务框架Jimu介绍

    jimu是一个基于.Net6.0 简单易用的微服务框架,参考了很多开源库以及想法,使用了大量的开源库(如 DotNetty, consul.net, Flurl.Http, Json.net, Log ...

  8. CSS动画(动态导航栏)

    1.项目简介 一个具有创意的导航菜单不仅能为你的大作业增色,还能展示你的技术实力.本文将分享一系列常用于期末大作业的CSS动画导航效果,这些效果不仅外观酷炫,而且易于实现.我们提供了一键复制的代码,让 ...

  9. Excel两张表查重,返回True

    =VLOOKUP(P2,Sheet2!A:A,1,0)=P2 VLOOKUP(A1,Sheet2!A:D,1,0) VLOOKUP--首列查找 A1--查找条件 Sheet2--同一工作簿中的第二工作 ...

  10. OSG开发笔记(三十一):OSG中LOD层次细节模型介绍和使用

    前言   模型较大的时候,出现卡顿,那么使用LOD(细节层次)进行层次细节调整,可以让原本卡顿的模型变得不卡顿.  本就是LOD介绍.   Demo      LOD 概述   LOD也称为层次细节模 ...