Docker私有仓库与docker-web-ui的搭建

Docker是时下相当火热的技术,关于docker的介绍此处就不多说,本文主要介绍下如何在Ubuntu 14.04环境下配置docker的本地仓库,对于想在局域网内大规模运用docker来说,频繁的从官网仓库下载镜像文件,无论从管理还是在效率上都无法接受。---转自斩月


一.安装docker

apt-get install apt-transport-https
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
sh -c "echo deb https://get.docker.com/ubuntu docker main\ > /etc/apt/sources.list.d/docker.list"
apt-get update
apt-get install lxc-docker

二.以容器的方式运行registry服务

mkdir /data/registry
docker run -d --name registry -p xxx.xxx.xxx.xxx:5000:5000 -e STORAGE_PATH=/data/registry -v /data/registry:/tmp/registry registry

三.用nginx来做docker registry仓库的安全控制

这里采用marvambass/nginx-registry-proxy来做 非常的方便。

(1)配置ssl证书和密码文件

mkdir /etc/nginx/docker              ----用来存放文件
cd /etc/nginx/docker
openssl req -x509 -newkey rsa:4086 -keyout key.pem -out cert.pem -days 3650 -nodes    ----Common Name设置成FQDN的格式
htpasswd -c docker-registry.htpasswd user1      ----创建密码文件
/etc/nginx/docker$ ls
cert.pem  docker-registry.htpasswd  key.pem
docker run -d -p 443:443 -v /etc/nginx/docker:/etc/nginx/external  --link registry:registry --name nginx-registry-proxy marvambass/nginx-registry-proxy
cat cert.pem | sudo tee -a /etc/ssl/certs/ca-certificates.crt

之后重启docker 即可; 

备注其他客户端操作如下:

cat cert.pem | sudo tee -a /etc/ssl/certs/ca-certificates.crt

之后重启docker即可。

(2)验证登录

 编辑/etc/hosts  绑定FQDN到内网网卡

docker login -u user1 -p passwd -e mail@xxx 
Login Succeeded


四.搭建docker web ui 管理仓库

docker run -d --name docker-webui -p 内网ip:8001:8080 atcol/docker-registry-ui

 (1)用Nginx auth basic认证保护

htpasswd -c docker.user user1

 创建虚拟主机:

server {
        listen       8010;
        server_name  defaults;
        root         html;

        location / {
        auth_basic "docker"; 
        auth_basic_user_file /etc/nginx/conf.d/docker.user;
        proxy_pass http://内网ip:8001/;
        }
    }

然后访问添加填入具体docker registry仓库即可

本文出自 “TNT、运维之路” 博客,请务必保留此出处http://tntdba.blog.51cto.com/1199791/1634706

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。