创建认证授权的docker私有仓库

之前介绍过简单的搭建docker私有仓库的方法(见 http://blog.csdn.net/jthink_/article/details/50596239),但是如果是在测试、开发、生产环境中都使用该私有仓库,必须做一些认证授权相关的限制,否则任何人都能创建和更改一个镜像,这样有可能会对镜像造成污染。
  1. 安装docker
    简单方式,daocloud提供的方式:curl -sSL https://get.daocloud.io/docker | sh
    官网的方式比较慢,daocloud每3小时会去同步更新官方的源,所以采用这样的方式安装还是比较靠谱的
  2. 安装docker-compose
    sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.12.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose
  3. 创建docer私有仓库
    1. 生成签名证书
      一般情况下,证书只支持域名的访问,要使他支持ip访问,需要修改如下配置
      sudo vim /etc/ssl/openssl.cnf
      加入如下内容:
      [ v3_ca ]
      subjectAltName = IP:192.168.xx.xx
      生成证书
      openssl req -newkey rsa:4096 -nodes -sha256 -keyout certs/domain.key -x509 -days 365 -out certs/domain.crt
    2. 生成密码
      sudo docker run --entrypoint htpasswd registry:2 -Bbn username password > auth/htpasswd
    3. 私有仓库搭建
      sudo docker run -d -p 5000:5000 --restart always --name registry -v `pwd`/auth:/auth -e "REGISTRY_AUTH=htpasswd" -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd -v /home/xxx/docker/registry:/var/lib/registry -v `pwd`/certs:/certs -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt -e REGISTRY_HTTP_TLS_KEY=/certs/domain.key registry:2
  4. 私有仓库使用
    mkdir /etc/docker/certs.d/192.168.xx.xx:5000
    sudo cp ~/docker/certificate/certs/domain.crt ca.crt
    sudo docker login
    然后输入用户名和密码
    PS:在所有需要使用私有仓库的地方都需要做上述步骤的授权认证
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值