想搭建一个私有的Docker仓库,查看了各种资料,大多是使用Nginx做代理。但是因为对于Nginx不熟悉,各种关于权限认证的问题,折腾了两天也没有搞定。后来无意在网上看到一篇使用已有镜像的方法,最终搞定了。原文參考:http://cloud.51cto.com/art/201412/458680_all.htm

測试环境

192.168.40.71   CoreOS   仓库server
192.168.40.83   CoreOS    客户机

仓库server配置
运行以下的命令,启动registry镜像,以及Nginx代理镜像
docker run -d --name registry  -v /root/my_registry:/tmp/registry -p 5000:5000 registry
docker run -d --hostname dokk.co --name nginx --link registry:registry -p 443:443 larrycai/nginx-auth-proxy

客户机配置

  1. 将以下的内容加入到/etc/hosts文件里

    192.168.40.71 dokk.co
  2. 下载ca.pem文件到客户机(https://github.com/Eric-aihua/nginx-auth-proxy/blob/master/ca.pem)
  3. 将ca.pem加入到信任列表
    $ sudo cat ca.pem >> /etc/ssl/certs/ca-certificates.crt
    $ sudo /etc/init.d/docker restart
    在改动
    
    /etc/ssl/certs/ca-certificates.crt文件时。会由于该文件是仅仅读的而不能改动,后来通过查询资料。发如今CoreOS中该文件是链接到
    /usr/share/ca-certificates/ca-certificates.crt文件,而/usr整个路径被挂载到仅仅读分区上。具体情况可查询(

    https://coreos.com/blog/new-filesystem-btrfs-cloud-config/

    )。能够通过以下方法解决上面问题
    localhost ~ # cp /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt.bak
    localhost ~ # mv /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt.ln
    localhost ~ # cp /etc/ssl/certs/ca-certificates.crt.bak /etc/ssl/certs/ca-certificates.crt
    localhost ~ # cat ca.pem >> /etc/ssl/certs/ca-certificates.crt

验证

基本认证測试:

localhost ~ # curl -i -k https://larrycai:passwdpasswdpasswd@dokk.co

HTTP/1.1 200 OK

Server: nginx/1.6.2

Date: Tue, 09 Jun 2015 14:27:33 GMT

Content-Type: application/json

Content-Length: 28

Connection: keep-alive

Expires: -1

Pragma: no-cache

Cache-Control: no-cache

"\"docker-registry server\""l

镜像上传測试:

登录
localhost ~ # docker login -u larrycai -p passwd -e "test@gmail.com" dokk.co
WARNING: login credentials saved in /root/.dockercfg.
Login Succeeded

上传

下载
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

介绍文档參考:http://cloud.51cto.com/art/201412/458680_all.htm
dockerhub參考:https://registry.hub.docker.com/u/larrycai/nginx-auth-proxy/
git參考:https://github.com/Eric-aihua/nginx-auth-proxy

通过已有Nginx镜像创建私有仓库的更多相关文章

  1. docker基础——自定义镜像、创建私有仓库、查看 docker 运行状态

    一.自定义镜像 1,案例1 要求:请自定义一个 docker 镜像,基于 hub.c.163.com/library/centos,要求创建出来的镜像在生成容器的时候,可以直接使用 ifconfig ...

  2. Docker创建镜像以及私有仓库

    Docker的安装及镜像.容器的基本操作详见博客https://blog.51cto.com/11134648/2160257下面介绍Docker创建镜像和创建私有仓库的方法,详细如下: 创建镜像 创 ...

  3. docker 创建新的镜像到私有仓库

    docker:/data# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES bd6db4127a9e centos &q ...

  4. docker创建私有仓库

    由于网速和大中华局域网效果,使得我们在DockerHub下载镜像的速度很慢,甚至一些国内的镜像仓库,也感觉速度不是很好.所以,很有必要在本地或者一个我们访问很快速的地方(自己的云服务器)搭建一套镜像仓 ...

  5. docker for mac 创建私有仓库

    拉取镜像 docker pull registry 运行registry run -d -p : -v /Users/huangenai/docker/registry:/var/lib/regist ...

  6. Docker 利用registry创建私有仓库

    一.Docker-registry镜像 下载地址 官方镜像下载比较慢,因为人品问题一直下载不成功,所以选择了国内的镜像. daocloud:   https://hub.daocloud.io/ 还有 ...

  7. 品尝阿里云容器服务:用nginx镜像创建容器,体验基于域名的路由机制

    在前一篇博文中我们了解了阿里云容器服务的路由机制: 请求 -> 负载均衡80端口 -> 容器主机9080端口 -> acsrouting路由容器80端口 --基于域名--> W ...

  8. [python](Docker SDK)上传镜像到私有仓库(tls、身份认证)

    (Docker SDK)上传镜像到私有仓库(tls.身份认证) API:https://docker-py.readthedocs.io/en/stable/ 环境:python:3.7.3 配置参数 ...

  9. 转 docker创建私有仓库和k8s中使用私有镜像

    docker私有仓库建立 环境说明我们选取192.168.5.2做私有仓库地址yum install docker -y1.启动docker仓库端口服务 docker run -d -p 5000:5 ...

随机推荐

  1. HDU_1074_Doing Homework_状态压缩dp

    链接:http://acm.hdu.edu.cn/showproblem.php?pid=1074 Doing Homework Time Limit: 2000/1000 MS (Java/Othe ...

  2. SpringBoot项目编译后没有xxxmapper.xml文件解决方法

    在pom.xml文件中添加如下代码 <build> <plugins> <plugin> <groupId>org.springframework.bo ...

  3. docker 转载

    写的非常好的一篇文章,不知道为什么被删除了.  利用Google快照,做个存档. 快照地址:地址 作者地址:青牛 什么是docker Docker 是一个开源项目,诞生于 2013 年初,最初是 do ...

  4. Scrapy 组件的具体用法

    一.Spider 用法 在 Scrapy 中,要抓取网站的链接配置.抓取逻辑.解析逻辑都是在 Spider 里完成的.Spider 的一些基础属性和基础方法: name:爬虫名字,Spider的名字定 ...

  5. 【webpack插件使用】在开发中快速掌握并使用Webpack构建web应用程序

    1.webpack-dev-server插件的基本使用 入门程序 const path = require('path'); // 导出一个Webpack的配置对象(通过node中的模块操作,向外暴露 ...

  6. 基于springmvc、ajax,后台连接数据库的增删改查

    前言 前段时间在博客园上找了一个springmvc的例子,照着学了一下,算是对springmvc有了一个初步的了解,打一个基础,下面是链接.(我只看了博客,视频太耗时间了) 博客链接:http://w ...

  7. 基于 Ubuntu 搭建 FTP 文件服务

    搭建 FTP 文件服务 安装并启动 FTP 服务 任务时间:5min ~ 10min 安装 VSFTPD 使用 apt-get 安装 vsftpd: sudo apt-get install vsft ...

  8. POJ 1026 置换群的k次幂问题

    题目大意: 给定了一组对应关系,经过k次幂后,得到新的对应关系b[i],然后将给定的字符串上的第i位字符放置到b[i]的位置上, 如果字符串长度不足n就用空格补足,这里的是空格,也就是str[i] = ...

  9. noip模拟赛 水管工的难题

    [问题描述]你是一名优秀的水管工. 一天你遇到了一个棘手的难题. 你需要在一个长方体状的房间内连接一条贯穿房间内部的水管.房间的长为 X,宽为 Y,高为 Z, 整个房间可以看成是 X×Y×Z个小立方体 ...

  10. MyBatis3-SqlSessionDaoSupport的使用

    以下内容引用自http://www.yihaomen.com/article/java/336.htm: 在MyBatis3中这个Mapper接口貌似充当了以前在iBatis2中的DAO层的作用.但事 ...