Docker Registry安装

之前一直使用Nexus管理Docker镜像,后期发现Nexus对于Docker的支持并不是很完善,踩了许多坑(踩过的坑稍后也会发文上来,但估计也要过些时间了)。主要是因为上传到Nexus的镜像无法物理删除的问题让我转战Docker Registry。将使用过程记录下,给他人和自己都做个参考。

Docker Registry的官方文档:https://docs.docker.com/registry/#basic-commands
在一台通公网的机器上安装了docker后即可安装并使用Docker Registry了。注意:官方文档中称Docker Registry可以和Docker1.6+版本进行兼容。本机安装了docker的1.12版本。

一、安装

$ docker version
Client:
 Version:      1.12.6
 API version:  1.24
 Go version:   go1.6.4
 Git commit:   78d1802
 Built:        Tue Jan 10 20:20:01 2017
 OS/Arch:      linux/amd64

Server:
 Version:      1.12.6
 API version:  1.24
 Go version:   go1.6.4
 Git commit:   78d1802
 Built:        Tue Jan 10 20:20:01 2017
 OS/Arch:      linux/amd64

启动Docker Registry

$ docker run -d -p 5000:5000 --restart=always --name registry registry:2

查看容器情况

$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
48f9c909cb76        registry:2          "/entrypoint.sh /etc/"   3 hours ago         Up 14 minutes       0.0.0.0:5000->5000/tcp   registry

打开浏览器,输入host:port/v2,界面为如下图片的时候说明Docker Registry已经起来了。


1.png

注意:官网称这样部署的Docker Registry只能用于测试。如果是生产用,需要进行TLS认证。生产环境的部署手册参考 configuration guide

#停掉Docker registry
$ docker container stop registry

二、客户机器访问Docker Registry

修改/etc/docker/daemon.json文件

$ vim /etc/docker/daemon.jsoninsecure-registries
{
"insecure-registries":["10.xxx.xx.xxx:5000"]
}

退出并保存。
重载daemon.json,重启docker

$ systemctl daemon-reload
$ systemctl restart docker

你可能感兴趣的:(Docker Registry安装)