1 使用registry镜像创建私有仓库
安装Docker 后,可以通过官方提供的registry镜像来简单搭建一套本地的私有镜像仓库环境。
$ docker run -d -p 5000:5000 registry
这将自动下载并启动一个registry容器,创建本地的私有仓库服务。默认情况下,会将仓库创建在容器的/tmp/registry
目录下。可以通过-v
参数来将镜像文件存在本地的指定路径。
例如,下面的例子将上传的镜像放到/opt/data/registry
目录:
$ docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry
此时,在本地将启动一个私有仓库服务,监听端口5000。
2 管理私有仓库
在客户端上传镜像的时候,需要按照下面的步骤操作:
- 需要使用docker tag命令将镜像标记为
仓库IP:5000/test
(格式为docker tag IMAGE[:TAG][REGISTRYHOST/][USERNAME/]NAME[:TAG]
) - 用curl命令查看仓库10.0.2.2:5000中的镜像:
$ curl http://10.0.2.2:5000/v1/search
{"num_results":1,"query":"","results":[{"description": "","name":"library/test"}]}
3. 仓库支持 SSL/TLS 证书
对于内部使用的私有仓库,可以自行配置证书或者关闭对仓库的安全性检查。
- 首先,修改Docker daemon的启动参数,添加如下参数,表示新人这个私有仓库,不进行安全证书检查:
DOCKER_OPTS="--insecure-registry 10.0.2.2:5000"
之后重启Docker服务,并从私有仓库中下载镜像到本地。
注意:
如果要使用安全证书,用户也可以从较知名CA服务商申请公开的SSL/TLS证书,或者使用openssl等软件来自行生成。