系统:centos7
docker版本:1.12.6
registry版:v2
---------------------------------------------------------------------------------------------------------------------
下载registry镜像
[root@k8s_node1_registry ~]# docker pull registry
---------------------------------------------------------------------------------------------------------------------
用registry镜像创建一个容器
[root@k8s_node1_registry ~]# docker run -d -p 5555:5000 -v /opt/data/registry:/var/lib/registry registry
0c1def1b929cfb18e3288048fce576708eed78dab0a3385649dadbf01a707046
注:
默认情况下,会将仓库存放于容器内的/var/lib/registry目录下(v2版,老版是/tmp),这样如果容器被删除,则存放于容器中的镜像也会丢失,所以我们一般情况下会指定本地一个目录挂载到容器内的/var/lib/registry下
---------------------------------------------------------------------------------------------------------------------
随便从官方仓库下载一个镜像
[root@k8s_node1_registry ~]# docker pull nginx
---------------------------------------------------------------------------------------------------------------------
查看docker镜像,注意nginx
[root@k8s_node1_registry ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/nginx latest e4e6d42c70b3 4 days ago 107.5 MB
docker.io/registry latest c2a449c9f834 2 weeks ago 33.18 MB
---------------------------------------------------------------------------------------------------------------------
修改docker镜像nginx的tag
[root@k8s_node1_registry ~]# docker tag nginx 192.168.1.66:5555/nginx
---------------------------------------------------------------------------------------------------------------------
在查看docker镜像
[root@k8s_node1_registry ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
192.168.1.66:5555/nginx latest e4e6d42c70b3 4 days ago 107.5 MB
docker.io/nginx latest e4e6d42c70b3 4 days ago 107.5 MB
docker.io/registry latest c2a449c9f834 2 weeks ago 33.18 MB
---------------------------------------------------------------------------------------------------------------------
上传镜像到docker仓库
[root@k8s_node1_registry ~]# docker push 192.168.1.66:5555/nginx
The push refers to a repository [192.168.1.66:5555/nginx]
Get https://192.168.1.66:5555/v1/_ping: http: server gave HTTP response to HTTPS client
注:因为Docker从1.3.X之后,与docker registry交互默认使用的是https,然而此处搭建的私有仓库只提供http服务,所以当与私有仓库交互时就会报上面的错误。为了解决这个问题需要在启动docker server时增加启动参数为默认使用http访问。修改docker启动配置文件
---------------------------------------------------------------------------------------------------------------------
修改docker配置文件
[root@k8s_node1_registry ~]# vim /etc/sysconfig/docker
#OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false'
OPTIONS='--insecure-registry 192.168.0.179:5000'
注:
OPTIONS='--insecure-registry 192.168.0.179:5000' #CentOS 7系统other_args='--insecure-registry 192.168.0.179:5000' #CentOS 6系统
---------------------------------------------------------------------------------------------------------------------
[root@k8s_node1_registry ~]# service docker restart
---------------------------------------------------------------------------------------------------------------------
上传nginx镜像到自己的仓库
[root@k8s_node1_registry ~]# docker push 192.168.1.66:5555/nginx
---------------------------------------------------------------------------------------------------------------------
我们把nginx镜像删除,查看本地没有nginx镜像以后
[root@k8s_node1_registry ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/registry latest c2a449c9f834 2 weeks ago 33.18 MB
---------------------------------------------------------------------------------------------------------------------
从自己的私有镜像下载nginx镜像
[root@k8s_node1_registry ~]# docker pull 192.168.1.66:5555/nginx
---------------------------------------------------------------------------------------------------------------------
再查看发现有这个镜像了
[root@k8s_node1_registry ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
192.168.1.66:5555/nginx latest e4e6d42c70b3 4 days ago 107.5 MB
docker.io/registry latest c2a449c9f834 2 weeks ago 33.18 MB
---------------------------------------------------------------------------------------------------------------------
其他操作
---------------------------------------------------------------------------------------------------------------------
查看镜像有哪些
[root@k8s_node1_registry ~]# curl -XGET http://192.168.1.66:5555/v2/_catalog
{"repositories":["nginx"]}
---------------------------------------------------------------------------------------------------------------------