5534 发表于 2015-12-30 13:46:07

基于Centos7安装Docker-registry2.0

我们可能希望构建和存储包含不想公开的信息或数据的镜像,因为Docker公司的团队开源了docker-registry的代码,这样我们就可以基于此代码在内部运行自己的registry。

服务端
1.拉去仓库镜像               

1
# docker pull registry:2.1.1




2.查看容器                     

1
2
3
# docker ps
CONTAINER ID      IMAGE                   COMMAND            CREATED       STATUS                  PORTS                  NAMES
38802006b373docker.io/registry:2.1.1"/bin/registry /etc/   24 hours agoUp 5 minutes0.0.0.0:5000->5000/tcp   registry




3.启动容器                     

1
2
3
4
5
# docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:2.1.1

重要:默认情况下,会将仓库存放于容器的/var/lib/registry目录下,这样如果容器被删除,则存放于容器中的镜像也会丢失,所以我们一般情况下会指定本地一个目录挂载到容器的/opt/registry下, 两个目录下都有!
·registry的默认存储路径是/tmp/registry,只是个临时目录,一段时间之后就会消失
·所以使用-v参数,指定个本地持久的路径。




4.访问http://ip:5000端口,出现如下界面,则代表仓库安装成功

客户端

[*]拉取镜像


1
# dockerpullbusybox




2.为镜像打标签

1
2
3
4
5
6
7
# docker tag docker.io/busybox 192.168.0.38:5000/busybox
# docker images
REPOSITORY                           TAG               IMAGE ID            CREATED             VIRTUAL SIZE
docker.io/busybox            latest            0064fda8c45d      5 days ago          1.113 MB
<none>                                 <none>            42316db2cd8d      12 days ago         187.9 MB
docker.io/registry                     latest            a8706c2bfd21      2 weeks ago         422.8 MB
docker.io/ubuntu                     14.04               d55e68e6cc9c      2 weeks ago         187.9 MB





3.编辑docker配置文件,指定私有仓库url

# vim /etc/sysconfig/docker OPTIONS='--insecure-registry 192.168.0.38:5000 '
# service docker restart
4.上传镜像到仓库
docker push 192.168.0.38:5000/busybox

5.查看私有仓库# curl 192.168.0.38:5000/v1/search
{"num_results": 1, "query": "", "results": [{"description": "", "name": "library/busybox"}]}



页: [1]
查看完整版本: 基于Centos7安装Docker-registry2.0