Docker搭建带有访问认证的私有仓库
2017-06-10 17:30
806 查看
以下步骤均为本人亲自踩坑,历经数次失败,最终搭建成功
一、环境信息:
操作系统:CentOS 7
Docker版本:1.12.5 (更高版本应该类似)
registry:2.4.1
registry-web: hyper/docker-registry-web:latest
二、搭建步骤:
1、拉取镜像registry(仓库)和registry-web(用于访问仓库的UI界面):
2、下载docker-compose(一种简化复杂容器应用的利器,具体使用可参见官网)
官网下载链接:https://docs.docker.com/compose/install/
懒人可以直接使用下面的命令即可下载
下载完成后更改docker-compose的权限:
3、创建几个目录,用于存放配置文件和作为私有仓库的镜像存储目录
4、生成证书
5、创建yml配置文件
###创建仓库的配置文件
vim /data/registry_dir/conf/registry/config.yml
###创建仓库UI的配置文件
vim /data/registry_dir/conf/registry-web/config.yml
###创建docker-compose启动配置文件
vim /data/registry_dir/docker-compose.yml
6、启动容器
搭建完成,查看镜像运行情况:docker ps | grep registry
正常运行的话,接下来就可以愉快的访问你的镜像仓库了,打开浏览器,输入localhost:8080(从其他机器访问该仓库的话,输入ip:port的方式就可以)默认用户名密码是admin/admin
也可以从后台验证配置是否准确:
输入正确的用户密码会提示:
如果密码错,则会提示:
至此,带有访问认证的docker私有仓库搭建完毕,也可参考官网通过docker run的方式,
链接:https://hub.docker.com/r/hyper/docker-registry-web/
另外需注意,首次向仓库push镜像时会提示权限问题,需要登录web给admin用户分配一下权限。
一、环境信息:
操作系统:CentOS 7
Docker版本:1.12.5 (更高版本应该类似)
registry:2.4.1
registry-web: hyper/docker-registry-web:latest
二、搭建步骤:
1、拉取镜像registry(仓库)和registry-web(用于访问仓库的UI界面):
docker pull hyper/docker-registry-web docker pull registry:2.4.1
2、下载docker-compose(一种简化复杂容器应用的利器,具体使用可参见官网)
官网下载链接:https://docs.docker.com/compose/install/
懒人可以直接使用下面的命令即可下载
curl -L https://github.com/docker/compose/releases/download/1.13.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
下载完成后更改docker-compose的权限:
chmod 755 /usr/local/bin/docker-compose
3、创建几个目录,用于存放配置文件和作为私有仓库的镜像存储目录
mkdir -p /data/registry_dir/conf/registry #存放仓库的配置信息 mkdir -p /data/registry_dir/conf/registry-web #存放仓库UI界面的配置信息 mkdir -p /data/registry_dir/registry #存放仓库的镜像 mkdir -p /data/registry_dir/db #仓库的访问信息
4、生成证书
openssl req -new -newkey rsa:4096 -days 365 \ -subj "/CN=localhost" \ -nodes -x509 \ -keyout /data/registry_dir/conf/registry-web/auth.key \ -out /data/registry_dir/conf/registry/auth.cert
5、创建yml配置文件
###创建仓库的配置文件
vim /data/registry_dir/conf/registry/config.yml
version: 0.1 storage: filesystem: rootdirectory: /var/lib/registry http: addr: 0.0.0.0:5000 auth: token: realm: http://localhost:8080/api/auth service: localhost:5000 issuer: 'admin' rootcertbundle: /etc/docker/registry/auth.cert
###创建仓库UI的配置文件
vim /data/registry_dir/conf/registry-web/config.yml
registry: url: http://registry-srv:5000/v2 name: localhost:5000 readonly: false auth: enabled: true issuer: 'admin' key: /conf/auth.key
###创建docker-compose启动配置文件
vim /data/registry_dir/docker-compose.yml
version: '2' services: registry-web: image: hyper/docker-registry-web:latest ports: - 8080:8080 volumes: - /data/registry_dir/conf/registry-web:/conf:ro - /data/registry_dir/db:/data networks: - registry-net depends_on: - registry restart: always registry: image: registry:2.4.1 ports: - 5000:5000 volumes: - /data/registry_dir/conf/registry:/etc/docker/registry:ro - /data/registry_dir/registry:/var/lib/registry environment: - REGISTRY_STORAGE_DELETE_ENABLED=true networks: - registry-net restart: always networks: registry-net: #driver: default
6、启动容器
docker-compose up -d
搭建完成,查看镜像运行情况:docker ps | grep registry
正常运行的话,接下来就可以愉快的访问你的镜像仓库了,打开浏览器,输入localhost:8080(从其他机器访问该仓库的话,输入ip:port的方式就可以)默认用户名密码是admin/admin
也可以从后台验证配置是否准确:
docker login localhost:5000
输入正确的用户密码会提示:
如果密码错,则会提示:
至此,带有访问认证的docker私有仓库搭建完毕,也可参考官网通过docker run的方式,
链接:https://hub.docker.com/r/hyper/docker-registry-web/
另外需注意,首次向仓库push镜像时会提示权限问题,需要登录web给admin用户分配一下权限。
相关文章推荐
- Docker搭建带有访问认证的私有仓库
- docker搭建私有仓库v2(Private Registry v2),自签发证书、公网访问、登录认证
- Docker Registry Server 搭建,配置免费HTTPS证书,及拥有权限认证的私有仓库
- 在 ubuntu 搭建需要签名认证的私有 docker registry 仓库
- Docker Registry Server 搭建,配置免费HTTPS证书,及拥有权限认证、TLS 的私有仓库
- docker | 学习教程 docker 搭建无认证私有仓库
- Docker私有仓库Registry及Auth-server认证搭建
- Docker Registry Server 搭建,配置免费HTTPS证书,及拥有权限认证、TLS 的私有仓库
- Docker:私有仓库的搭建
- 搭建自己的 Docker 私有仓库服务
- docker-registry 搭建私有仓库服务器
- CentOS7搭建Docker私有仓库
- Docker私有仓库Registry搭建(localhost 可行但跨主机有问题)
- Docker私有仓库详细搭建步骤
- Docker 搭建私有仓库
- 搭建docker私有仓库 笔记
- docker 私有仓库搭建
- CentOS7搭建Docker私有仓库
- 使用新浪云存储搭建Docker私有仓库服务
- docker 搭建私有仓库及镜像存储目录结构