访问仓库
仓库( Repository )是集中存放镜像的地方。注册服务器( Registry )是管理仓库的具体服务器。
每个注册服务器上可以有多个仓库,而每个仓库下面有多个镜像。
从这方面来说,仓库可以被认为是一个具体的项目或目录。
对于仓库地址 dl.dockerpool.com/ubuntu来说, dl.dockerpool.com是注册服务器地址, ubuntu 是仓库名。
大部分时候,并不需要严格区分这两者的概念。
1、Docker Hub
[例子]
以 centos 为关键词进行搜索:
可以看到返回了很多包含关键字的镜像,其中包括镜像名字、描述、收藏数(表示该镜像的受关注程度)、是否官方创建、是否自动创建。官方的镜像说明是官方项目组创建和维护的,automated 资源允许用户验证镜像的来源和内容。
根据官方是否提供,镜像资源分为 基础镜像(根镜像) 和 带有用户名称前缀的镜像 两类。
在查找的时候通过 --filter=stars=N 参数可以指定仅显示收藏数量为 N 以上的镜像。
2、私有仓库
对于 Docker for Windows 在设置中编辑 daemon.json 增加字符串
3、私有仓库高级配置
使用 Docker Compose 搭建一个拥有权限认证、TLS 的私有仓库。
准备站点证书
- 如果拥有一个域名,国内各大云服务商均提供免费的站点证书。
- 使用 openssl 自行签发证书。
使用openssl自行签发docker.domain.com的站点SSL证书
- 创建CA私钥
- 利用私钥创建CA根证书请求文件
- 以上命令中 -subj 参数里的 /C 表示国家,如 CN ; /ST 表示省; /L 表示城市或者地区; /O 表示组织名; /CN 通用名称。
- 配置CA根证书,新建 root-ca.cnf 文件
- 签发根证书
- 生成站点SSL私钥
- 使用私钥生成证书请求文件
- 配置证书,新建 site.cnf 文件
- 签署站点SSL证书
配置私有仓库
3、Nexus3.x的私有仓库
- 启动Nexus容器
docker run -d --name nexus3 --restart=always -p 8081:8081 --mount src=nexus-data,target=/nexus-data sonatype/nexus3
等待 3-5 分钟,如果 nexus3 容器没有异常退出,那么你可以使用浏览器打开http://localhost:8081访问 Nexus 了。
第一次启动 Nexus 的默认帐号是 admin 密码是 admin123 登录以后点击页面上方的齿轮按钮进行设置。
- 创建仓库
- 添加访问权限
- NGINX加密代理